setup - factory7.0中文版全教程(8)
第 36 页 共 43 页
if (e_CtrlID == CTRL_BUTTON_06) then -- 判断是否有一个键值
BUILD = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, \ if (BUILD == true) then
Dialog.Message(\注意\该键值存在\ else if (BUILD == false) then
Dialog.Message(\注意\没有该键值\ end end end
end
新问题:要导入注册表文件
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Software\\RealNetworks\\Preferences\\DT_Objbrokr] @=\
\注册表中用%SystemRoot%不行啊,换成c:\\windows就行了,为什么这样啊?
答:注册表的某些地方可以用 %SystemRoot%,有些地方又不行,我也不知道怎么区分。如果实在不能用,还有办法,供参考: CODE
result = SessionVar.Expand(\获得系统目录字符串
Common = result..\生成Common目录字符串,.. 为字符串连接符 Registry.SetValue(HKEY_LOCAL_MACHINE,
\这个办法笨了一点,如果有更简洁的做法,请指出。
Setup Factory 7 制作补丁初探
一直都想想试试用 Setup Factory 7 做补丁,但是人懒了不想动,直到昨天才开始仔细地看了看,小有成果,与大家分享。
一开始想用阿信的 callvpatch.dll 来调用 NSIS 的插件 vpatch.dll,但老是不成功,放弃。
不过还是要用到 VPatch:在 VPatch 主页下载 VPatch v3.1,安装好之后运行 VPatch GUI,比较两个(或多个)文件,使用 “Create EXE” 生成 exe 文件,默认文件名为 VPatch.exe,此文件内就包含了补丁的数据。
使用格式为:VPatch.exe (sourcefile) (outputfile) 例如: VPatch.exe oldver.exe newver.exe
我整了半天,发现 VPatch.exe 与待补丁的文件和补丁后的文件必须在同一目录,而且新老版本文件的文件名不能相同,否则会有错误。不知道我的判断对不对,帮助文件也写得不是很清楚,熟悉它的朋友请告诉我一声。
好了,该主角出场了,我搞了半天,终于用 Setup Factory 7 成功地实现了补丁功能。 首先,将前面得到的 VPatch.exe 加入初始文件,下面的语句就看着办了: -- 在注册表内获得原版程序的安装目录,并写入变量 %AppFolder%
InstallFolder = Registry.GetValue(HKEY_CURRENT_USER, \您的产品\安装目录\ SessionVar.Set(\ -- 将 VPatch.exe 复制到安装目录
File.Copy(SessionVar.Expand(\SessionVar.Expand(\true, true, false, true, nil); -- 备份文件
共 43 页 第 37 页
function BackupFile(filename)
Folder.Create(SessionVar.Expand(\
File.Copy(SessionVar.Expand(\SessionVar.Expand(\true, true, false, true, nil);
File.Rename(SessionVar.Expand(\SessionVar.Expand(\ end
-- 补丁失败时恢复文件
function RestoreFile(filename)
File.Copy(SessionVar.Expand(\SessionVar.Expand(\true, true, false, true, nil);
File.Delete(SessionVar.Expand(\ File.Delete(SessionVar.Expand(\ end
-- 补丁成功后删除临时文件 function DeleTempFile(filename)
File.Delete(SessionVar.Expand(\ end
-- 补丁之前判断文件是否存在以及是否正在使用 function FileExistInUse(filename)
result1 = File.DoesExist(SessionVar.Expand(\ result2 = not File.IsInUse(SessionVar.Expand(\ local result = result1 and result2; return result; -- result:
-- true = 文件存在且没有在使用 -- false = 文件不存在或正在使用 end
-- 调用 VPatch.exe 进行补丁 function PatchFile(filename) local oldver = filename..\
result = File.Run(\true);
return result; -- result: -- 0 = 成功 -- 非0 = 失败 end
-- 开始补丁
if FileExistInUse(\ -- 开始补丁前备份文件 BackupFile(\
if PatchFile(\
Dialog.Message(\成功\补丁成功。\TION, MB_DEFBUTTON1); DeleTempFile(\ -- 进入下一个屏幕
第 38 页 共 43 页
Screen.Next(); else
Dialog.Message(\错误\\错误的文件或路径,请检查。\MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); RestoreFile(\ end else
Dialog.Message(\错误\文件不存在或正在使用。\ end;
-- 删除 VPatch.exe
File.Delete(SessionVar.Expand(\ 我的算法可能还不太完善,稍显繁琐,希望有朋友继续加以改进。
刚才添加了一个 FileExistInUse 函数,用来判断文件是否存在以及是否正在使用。 VPatch下载地址:http://www.hanzify.org/?Go=Show::List&ID=11472
VB打包工具--- setup factory 7 使用总结
最近用setup factory 7 比较多,做了一个总结. 1 不包含源代码的打包过程
按照新建工程向导 选择了 ”为从属扫描工程文件“选项(或者从“工具”菜单-->扫描VB工程) 完成向导后
删除:frm/bas/vbp/vbw等源代码文件。 保留:exe/dll/ocx等运行支持文件
然后“发布”菜单--> 构建 --> 选择打包文件名 完成打包 最后安装的文件在安装夹下就没有代码文件了。 2 修改安装步骤的屏幕和信息
“工程”菜单 --> 屏幕... -->找到需要的阶段: 安装之前,安装之时,安装之后 --> 点击 “编辑”(还有添加、移除按钮) --> 修改安装信息。
添加代码是在操作(action)子项目下 3 添加可执行文件的快捷方式 找到可执行文件(*.exe) 右键文件,
选择“文件属性...”
找到“快捷方式”tab,选择需要加快捷方式的地方,如桌面等,也能在这里加入注释文字。 4 包含DAO数据库的打包
前提:需要DAO(Date Access Object), 一般是使用data 和 Access数据库。 1 正常包含了exe文件和支持文件
2 点击 左上角的“添加文件夹引用”(或者是“工程”菜单 -->“添加文件夹引用”),加入DAO文件夹(3个文件夹)。
3 点击 左下角的 启动时( \) tab,
在事件代码中输入如下(因为7.0有个问题,在6.0不需要这样 添加)
SessionVar.Set(\ 5 程序如何在安装完成后自动调用另一个程序? 比如:安装之后,执行一个可执行文件(1.exe)
在“工程”菜单 --> 屏幕...-->操作 界面-->安装之后 在onnext 事件中。
共 43 页 第 39 页
添加操作\会出现一个新建操作对话框,第一步选择一个类别,你选择shell,第二步选择一个操作,你选择shell.execute。
if (check01) then -- 要执行的语句 Screen.Next();
Shell.Execute(SessionVar.Expand(\ else …… 此处隐藏:3423字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




