|
正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Setup Factory 是一款非常好用的打包软件,其操作注册表也是非常简单的。
1.在注册表中创建“键”(Registry.CreateKey)
- Registry.CreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion");
复制代码 2.判断是否存在指定的注册表键,返回true 或 false(Registry.DoesKeyExist)
- local IsJMElectVersion = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion");
复制代码 3.返回指定注册表值的数据(Registry.GetValue)
- local JEtInstallPath = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion", "JMElectInstallPath",true);
- if(JEtInstallPath ~= "")then --判断键值是否存在
- --说明该键值存在
- end
复制代码 4.返回包含给定的会话变量的内容的字符串(SessionVar.Expand)
- local JMElectProductName = SessionVar.Expand ("%ProductName%");
复制代码 5.添加 (或连接) 两个字符串,并返回结果为一个新字符串(String.Concat)
- String.Concat("检测到已安装该软件",",如果重装则不能改变安装目录。若要改变目录,请先卸载后再安装。确定要重装吗?");
复制代码 6.显示带有消息信息的对话框(Dialog.Message)
- Qid = Dialog.Message(JMElectProductName, String.Concat("检测到已安装该软件",",如果重装则不能改变安装目录。若要改变目录,请先卸载后再安装。确定要重装吗?"), MB_OKCANCEL, MB_ICONQUESTION, MB_DEFBUTTON1);
- if(Qid == IDCANCEL) then -- Qid为全局变量,其他窗体可用,变量名不能包含在内部定义的名称,见后面说明。
- Application.Exit();
- else
- //进行操作
- local resultAppFolder = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion", "JMElectInstallPath", true); -- 获取原来的安装目录,如果不设此项,则可从卸载键里分解。
- SessionVar.Set("%AppFolder%", resultAppFolder); -- 将安装目录设置成原来的安装目录
- end
- end
复制代码 7.运行可执行文件(File.Run)
- result = File.Run(SessionVar.Expand("%TempLaunchFolder%\\dotNetFx40_Full_x86_x64.exe"), "", "", SW_SHOWNORMAL, true);
复制代码 %TempLaunchFolder%是个原始文件路径
8.删除指定文件夹及文件夹所有文件(Folder.DeleteTree)
- Folder.DeleteTree(SessionVar.Expand ("%AppFolder%"), nil); --删除安装目录所有文件(卸载时可以操作)
复制代码 |
|