共 43 页 第 31 页
2.在双击“检查框”屏幕中设置对话框中的“顶端,底部”信息改成自己要显示的文本。 复选框中的设置如图
在结果变量中的“check01”不能任意修改,要修改的话。在脚本里的设置参数也要修改。 3.在双击“选择安装文件夹”编辑属性对话框 屏幕 ID(这是设置为 Adobe Premiere插件目录)
窗口标题(这是设置为 %ProductName% 安装程序-Adobe Premiere插件目录) 子标题文本(这是设置为 您Adobe Premiere插件目录在何处?)
接下来就要设置的变量参数了。选到设置对话框,设置“默认文件夹”和“将结果存储在会话变量中”变量都设为“%AppFolder1%”,另提示对话框(这是设置为 将Adobe Premiere插件目录安装到:)
设置好的屏幕。如图
第 32 页 共 43 页
4.在准备安装屏幕设置对话框中文本中添加两个变量“%AppFolder1%,%AppFolder2%”以下面脚本使用。 %AppFolder1% 为显示Adobe Premiere 插件目录实际位置
%AppFolder2% 为显示显示 “Adobe Premiere 插件目录”字符串 位置如图
脚本设置
1。在“检查框”对话框中的On Preload中设置脚本如图
2。在“选择安装文件夹”屏幕的On Preload对话框设置代码,设置从注册表中获取Adobe Premiere 插件目录实际位置
共 43 页 第 33 页
t = Registry.GetValue(HKEY_LOCAL_MACHINE, “SOFTWARE\\\\Adobe\\\\Premiere\\\\CurrentVersion”, “Plug-InsDir”, true);
SessionVar.Set(“%AppFolder1%”, t); 在 On Next添加事件(如上图)
3.在“选择快捷方式”屏幕的On Back对话框设置代码 判断check01事件真假 if (check01) then check01事件真 返回到上个屏幕 Screen.Previous(); else
check01事件假
返回到“选择安装文件夹”屏幕 Screen.Jump(“选择安装文件夹”); end
另外所有的屏幕中的On Back的事件都把Screen.Back();改成Screen.Previous();。
这样主要在有时用户设置要“准备安装”屏幕时。又想修改安装设置,以保证在撤消时屏幕显示不出错。 说明:
变量%AppFolder1%,%AppFolder2%”的显示效果在“准备安装”屏幕,如安装Adobe Premiere插件则显示如图(红线处),不安装就为空白。
最后你可以制作安装程序了。 Setup Factory 7.0优点
1.单独的屏幕选择和单独脚本编辑。可以不用代码也能制作简单的安装程序,也可以用代码制作复杂的安装程序。
2.屏幕可以使重复使用,这是我测试过许多安装制作没有的功能或只能单一的使用屏幕。 3.自动备件功能强大。 Setup Factory 7.0缺点 1.压缩不是很高。
2.创建特殊的快捷方式有点麻烦。 3.屏幕不能过去复杂的修改设计。 ddstrg
程序包的作用是让用户选择安装或不安装某些组件,比如插件、帮助文件、语言文件等等,很方便。 可以设置程序包的初始状态(选中或未选中),而不必在代码里指定,如图所示:
第 34 页 共 43 页
在 “工程 → 程序包” 处设置好程序包之后,一定要手动地添加一个 “选择程序包” 的屏幕,否则你设置的程序包就是没有用的。
在 “选择程序包” 屏幕上要把程序包添加到左侧窗格,才能让它显示出来:
共 43 页 第 35 页
Setup Factory 7 注册表实例, 新手教学
群里有人问SF7的注册表操作,很基础的问题,我就写了一个例子,主要靠点击各个按钮来进行控制。 主要有:创建键,删除键,创建键值,删除键值,读取注册表信息,判断是否有键值等 if (e_MsgID == MSGID_CLICKED) then -- 点击了控件...
if (e_CtrlID == CTRL_BUTTON_01) then -- 在这里插入按钮控制代码,第一个按钮
Registry.CreateKey(HKEY_LOCAL_MACHINE, \
Dialog.Message(\创建\您创建了一个注册表项!\end
if (e_CtrlID == CTRL_BUTTON_02) then
-- 在这里插入按钮控制代码,第二个按钮
Registry.DeleteKey(HKEY_LOCAL_MACHINE, \
Dialog.Message(\删除\您删除了一个注册表项!\ end
if (e_CtrlID == CTRL_BUTTON_03) then -- 在这里插入按钮控制代码,第三个按钮
Registry.SetValue(HKEY_LOCAL_MACHINE, \字符串值\
Registry.SetValue(HKEY_LOCAL_MACHINE, \ Dialog.Message(\创建键值\您创建了两个个注册表键值!\ end
if (e_CtrlID == CTRL_BUTTON_04) then -- 在这里插入按钮控制代码,第四个按钮
Registry.DeleteValue(HKEY_LOCAL_MACHINE, \
Dialog.Message(\删除\您删除了一个注册表键值!\ end
if (e_CtrlID == CTRL_BUTTON_05) then -- 在这里插入按钮控制代码,第四个按钮
RKEY1 = Registry.GetValue(HKEY_LOCAL_MACHINE, \ RKEY2 = Registry.GetValue(HKEY_LOCAL_MACHINE, \ SessionVar.Set(\ SessionVar.Set(\
-- 获得键值,并存到变量中,注意变量要事先在主界面的“会话变量”添加,也可以使用 Local 定义局部变量
TKEY1 = Registry.GetValueType(HKEY_LOCAL_MACHINE, \ TKEY2 = Registry.GetValueType(HKEY_LOCAL_MACHINE, \ SessionVar.Set(\ SessionVar.Set(\
-- 获得键值类型,并存到变量中,注意变量要事先在主界面的“会话变量”添加,也可以使用 Local 定义局部变量
Screen.Next(); Screen.Back();
-- 这两个命令用于快速的闪回前进屏幕,以便让大家看清楚变化
Dialog.Message(\获得键值\您获得了两个注册表键值和他们的类型!\ end