打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Setup Factory 7.0使用总结六:安装过程中安装系统组件

在总结五中对注册表的操作,其实是为了总结六中的安装系统组件作准备。因为首先要知道系统有没有安装该软件环境,然后才能进行选择性的安装。


同样,这一步应该设计在首页之后用户信息之前,防止给用户以安装过程分离缺少整体性的感觉,也要明确是前期必备软件环境安装。因此可以在总结五中创建的checkbox窗体中的On Next中添加相应的安装代码。


需要注意的是:Setup Factory 7.0中的文件分为存档、外部,存档的文件是要安装在目标程序目录上的,外部的打包进安装程序可以释放到指定目录。此外,还有一个不太显眼的“资源”文件,只有“资源”中的初始文件是临时释放到TempFolder进行运行然后自清除的,我们需要使用的也是这个存贮方式。可以点击菜单栏中的“资源”>“初始文件”,打开对应的对话框。




然后,我们在这个checkbox屏幕中添加相应代码,没有安装而被用户选中的将进行自安装。


其中Shell.Execute()是执行指定程序的函数,临时目录的变量为%TempLaunchFolder%,假设该程序文件名为“dotnetfx.exe”,那么可以写成“_TempLaunchFolder..\\dotnetfx.exe”。


在安装过程中需要判断这个程序是否执行完毕,才能继续下一步。这样就得用到循环语句,通过添加代码中的“repeat …until not循环”来进行条件循环,再在循环内加入操作File.IsInUse来读取程序运行状态。


这里安装MCR 7.8和.NetFramework 2.0的代码如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- 这些操作在点击“下一步”按钮时执行。
-- 提示:你可以在这里添加验证用户输入信息的操作
tProperties1 = DlgCheckBox.GetProperties(CTRL_CHECK_BOX_01);
tProperties2 = DlgCheckBox.GetProperties(CTRL_CHECK_BOX_02);
-- 运行临时文件夹中的MCRInstaller.exe文件
if(tProperties1.Checked and tProperties1.Enabled) then
Shell.Execute(_TempLaunchFolder.."\\MCRInstaller.exe", "open", "", "", SW_SHOWNORMAL);
end
repeat
-- 直至MCRInstaller.exe运行结束才进行下一步
SetupEnd1 = File.IsInUse(_TempLaunchFolder.."\\MCRInstaller.exe");
until not SetupEnd1
-- 运行临时文件夹中的dotnetfx.exe文件
if(tProperties2.Checked and tProperties2.Enabled) then
Shell.Execute(_TempLaunchFolder.."\\dotnetfx.exe", "open", "", "", SW_SHOWNORMAL);
end
repeat
SetupEnd2 = File.IsInUse(_TempLaunchFolder.."\\dotnetfx.exe");
until not SetupEnd2
-- 进入下一个屏幕
Screen.Next();


添加好代码后的窗体如图:



这样在这个checkbox窗体检查完系统环境之后,点击“Next”按钮就会执行相应的组件安装操作。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Setup Factory 7.0 打包.netframework 2.0
求net framework 3.5离线安装
Autocad 2012安装失败,某些产品无法安装,怎么办?
ACER 4745G装XP必装软件Microsoft.NET Framework 3.5 ...
InnoSetup中自动下载.net framework 组件并安装
Setup Factory 7.0 制作安装程序(进阶篇)导入注册表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服