杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2615|回复: 0

Setup Factory 操作注册表示例

[复制链接]
发表于 2017-3-1 15:10:43 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Setup Factory 是一款非常好用的打包软件,其操作注册表也是非常简单的。

1.在注册表中创建“键”(Registry.CreateKey)
  1.     Registry.CreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion");
复制代码
2.判断是否存在指定的注册表键,返回true 或 false(Registry.DoesKeyExist)
  1.     local IsJMElectVersion = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion");
复制代码
3.返回指定注册表值的数据(Registry.GetValue)
  1.    local JEtInstallPath = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion", "JMElectInstallPath",true);

  2.    if(JEtInstallPath ~= "")then  --判断键值是否存在

  3.       --说明该键值存在

  4.    end
复制代码
4.返回包含给定的会话变量的内容的字符串(SessionVar.Expand)
  1. local JMElectProductName = SessionVar.Expand ("%ProductName%");
复制代码
5.添加 (或连接) 两个字符串,并返回结果为一个新字符串(String.Concat)
  1. String.Concat("检测到已安装该软件",",如果重装则不能改变安装目录。若要改变目录,请先卸载后再安装。确定要重装吗?");
复制代码
6.显示带有消息信息的对话框(Dialog.Message)
  1.    Qid = Dialog.Message(JMElectProductName, String.Concat("检测到已安装该软件",",如果重装则不能改变安装目录。若要改变目录,请先卸载后再安装。确定要重装吗?"), MB_OKCANCEL, MB_ICONQUESTION, MB_DEFBUTTON1);
  2.    if(Qid == IDCANCEL) then  -- Qid为全局变量,其他窗体可用,变量名不能包含在内部定义的名称,见后面说明。
  3.       Application.Exit();     

  4.     else

  5.         //进行操作

  6.        local resultAppFolder = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\JMElectVersion", "JMElectInstallPath", true);  -- 获取原来的安装目录,如果不设此项,则可从卸载键里分解。
  7.        SessionVar.Set("%AppFolder%", resultAppFolder);   -- 将安装目录设置成原来的安装目录

  8.     end

  9.    end
复制代码
7.运行可执行文件(File.Run)   
  1. result = File.Run(SessionVar.Expand("%TempLaunchFolder%\\dotNetFx40_Full_x86_x64.exe"), "", "", SW_SHOWNORMAL, true);
复制代码
  %TempLaunchFolder%是个原始文件路径

8.删除指定文件夹及文件夹所有文件(Folder.DeleteTree)
  1. Folder.DeleteTree(SessionVar.Expand ("%AppFolder%"), nil);  --删除安装目录所有文件(卸载时可以操作)
复制代码
  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-4-29 06:39 , Processed in 0.119023 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表