使用Setup Factory 制作安装包的一般过程
来源:互联网 发布:希拉里 国务卿知乎 编辑:程序博客网 时间:2024/04/27 01:51
安装包是用户接触到工程的第一步,所以安装包的制作非常重要。下面记录一下使用Setup Factory制作安装包的过程。
建立工程
打开setupFactory,按照提示一步步往下走即可。
在下图中的位置添加需要的项目。
在下图中的位置可以添加安装时的语言。
完成后进入主界面
下面我们需要将项目中的exe文件在桌面建立快捷方式。右键exe文件(图中的CTest.exe),选择文件属性—>快捷方式。
主界面左侧的“会话变量”可以查看或修改安装过程中所需要的变量;“屏幕”选项卡中可以对安装的全过程一一修改;同理,“卸载”选项卡中的选项可以对卸载的全过程一一修改。
检测软件是否安装
在安装前,一般需要检测用户是否已经安装过此软件,并采取相对的措施。我们采用安装完成后修改注册表,启动安装时检查注册表的方法。
1.安装完成后修改注册表信息。
在主界面中选择屏幕->安装之后,进去后点击“Finished Install”,再点击编辑,找到“操作”选项卡中的“On preload”,在这里可以用代码完成此项功能。
为了方便起见,在会话变量中将项目名称尽量改为英文。代码实现过程如下。
Tip:若不知道函数需要的参数,可以鼠标双击函数,按提示填写参数。
softname=SessionVar.Expand("%ProductName%");Reg_soft="Software\\\\zhizhu\\\\"..softname;--先在HKEY_LOCAL_MACHINE中的Software中建立一个表项“zhizhu”result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\zhizhu");if (result) thenelseRegistry.CreateKey(HKEY_LOCAL_MACHINE, "Software\\zhizhu");end--创建本程序注册表项,记录安装路径和卸载路径Appfile=SessionVar.Expand("%AppFolder%");Registry.CreateKey(HKEY_LOCAL_MACHINE, Reg_soft);Registry.SetValue(HKEY_LOCAL_MACHINE, Reg_soft, "InstallPath", Appfile,1);Uninfile=SessionVar.Expand("%AppFolder%\\Uninstall\\uninstall.exe \"/U:%AppFolder%\\Uninstall\\uninstall.xml\"");Registry.SetValue(HKEY_LOCAL_MACHINE, Reg_soft, "Uninstaller",Uninfile, 1);
然后要做的就是在启动安装时检测注册表中的信息,若发现注册表中有记录,则提示用户是否需要删除。卸载软件时先获取注册表中存的卸载文件地址,然后运行它。
softname=SessionVar.Expand("%ProductName%")Reg_soft="Software\\\\zhizhu\\\\"..softnameresult = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,Reg_soft)if (result) then msgBTN = Dialog.Message(softname,'提示:此机已安装本软件,是否重新安装?\r\n\r\n ',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1) if (msgBTN == IDYES) then result = Registry.GetValue(HKEY_LOCAL_MACHINE,Reg_soft,"Uninstaller",true); File.Run(result,"","",SW_SHOWNORMAL,true); result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE,Reg_soft); if (result) then msgBTN2=Dialog.Message(softname,'卸载未完成!是否继续安装?\r\n\r\n 点击“是”继续安装;点击“否”,退出安装。',MB_YESNO,MB_ICONINFORMATION,MB_DEFBUTTON1); if (msgBTN2==IDYES) then elseif (msgBTN2==IDNO) then Application.Exit(); end end elseif(msgBTN==IDNO) then Application.Exit(); endelseend
0 0
- 使用Setup Factory 制作安装包的一般过程
- 使用Setup Factory安装包制作工具制作安装包
- Setup Factory 制作ActiveX本地安装包
- 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)
- 使用inno setup制作安装包
- 使用inno setup制作安装包
- Setup Factory使用——安装包进行安装时模块选择的实现
- Inno Setup制作安装包的几个问题
- inno setup制作安装包的经验
- Setup Factory制作基于.Net的WinForm安装程序
- setup Factory制作基于.net2.0的安装程序
- Setup Factory 获取安装包文件名的方法
- 用Setup Factory制作安装文件
- 用Setup Factory 7.0制作安装程序
- Inno Setup制作安装包
- INNO setup 制作安装包
- Inno setup 制作安装包
- 用VS2005的Setup Project制作应用程序安装包
- EBPY0106是什么意思
- iOS开发 自定义NSOPeration
- python with
- mongodb学习笔记
- Android编译系统介绍
- 使用Setup Factory 制作安装包的一般过程
- LeetCode 374:Guess Number Higher or Lower
- UITextAlignmentCenter' is deprecated: first deprecated in iOS 6.0 UITextAlignmentCenter
- 解决ListVeiw点击事件失效问题
- 如何使用爬虫采集58招聘信息
- GetWindowText()有关问题解答——VS2012
- mysqldump命令的用法
- EventBus 3.0的用法 Demo
- 项目实战-ProgressDialog