?在利用Wise做安装包时,遇到的一些小细节,没有功夫整理成系统的章节,就罗列如下:
细节 |
说明 |
添加卸载快捷方式 |
缺省的安装程序快捷方式中没有卸载项;只能通过控制面板删除,或者主程序目录下的UnWise.exe来卸载。实际上,该文件就可以作为卸载程序。 可以复制一个快捷方式,将程序名改为Unwise.exe;该文件会安装后自动出现。 eg: 创建快捷方式自 %MAINDIR%\Unwise.exe 至 %GROUP%\卸载.lnk |
复制文件时如何支持通配符 |
【安装向导】->『文件』,“添加目录”时,选中“包含子目录”和“作为通配符添加以替代添加文件”。在这种情况下,只要将文件放在对应目录下,下次打包就会自动出现打进去;而不用打包脚本中同步。 脚本中形如: 安装文件 e:\setup\* 到 %MAINDIR% |
如何得到长路径 |
有时候审美观上不接受短文件;此外,很少存在向下兼容到Win95以前的情况。在Wise中缺省的作为短文件名。 脚本中形如: 设置变量 e:\setup\* 到 %MAINDIR% |
执行批处理文件bat |
执行批处理文件时可能存在 执行批处理时,没等批处理文件执行完毕,就会执行下一句。所以最好还是少用。 |
注册组件 |
wise提供的自动组件注册,会判断每个dll/exe是否是组件,然后再对是的进行注册。如果文件比较少,用该方法还行。 如果文件多一点,而要注册的dll固定且比较少,可以自己来一个个指定要注册的dll。 如果要注册的dll比较多,那么建议最好弄一个文本文件,把所有dll放在里面,然后批处理注册。但是用bat批处理来进行的时候,尝试各种方法失败。 后来还是采用这种方法可以: |
常量 |
【安装向导】->『编译器遍历』,添加的变量其实是常量,不能修改。 |
变量 |
变量属于即时定义,作用域范围内均有效;并可重新赋值。 通过“设置变量”可以进行变量定义,并赋初值 脚本中形如: 设置变量 IPLICENSE到 127.0.0.1. |
对话框变量 |
对话框变量radio 的值为 ABCDE…..其中之一 |
对话框设计脚本状态优先原则 |
这是其中的:控制界面状态。小写为控件,大写为变量: ? |
卸载时删除开始菜单中的主程序组 |
这是Wise 9.0.2之前的一个bug,听说9.0.2已经解决 |
卸载时先执行程序 |
有时需要再卸载之前先执行程序,例如反注册组件、卸载服务等。 ? 或者在【安装向导】->『卸载』中 |
如何复制安装程序所在目录下的额外文件 |
有时存在版本定制化的情况。例如,不同的客户对应不同的logo图,除此之外,其余的都是相象的。 这种情况下显然不好为每个用户都做一个安装包。最好的方式是采用Setup.exe + logo.jpg的方式发布。所有的用户,Setup.exe是固定的,只logo.jpg是随着在变化。 ?在安装过程中,Setup.exe会判断是否其所在目录下是否存在logo.jpg,存在则copy到指定目录。 说明: %INST% 变量用来指代最后安装包所在目录 采用"复制文件"命令,而不是"安装文件"命令;因为后者在打包时编译不过。 |
Install.log 说明 |
Source==>来源,可以为解压文件临时地址。 Made Dir==>建立文件夹。 File Copy==>文件移动。 RegDB Key==>我理解为注册表的项。 Shell Link==>快捷方式的具体路径。 Link Info==>连接信息。 INI New==>新建配置文件。 INI File==>配置文件位置。 INI Sect==>配置文件设置。 File Tree==>程序树状列表。 Execute Program==>执行程序。 User Rights==>程序使用用户权限。 |