Setup Factory操作注册表

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);  --删除安装目录所有文件(卸载时可以操作)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值