当前位置: 代码迷 >> Web前端 >> Wise 封装细节
  详细解决方案

Wise 封装细节

热度:322   发布时间:2012-09-07 10:38:15.0
Wise 打包细节

?在利用Wise做安装包时,遇到的一些小细节,没有功夫整理成系统的章节,就罗列如下:

细节

说明

添加卸载快捷方式

缺省的安装程序快捷方式中没有卸载项;只能通过控制面板删除,或者主程序目录下的UnWise.exe来卸载。实际上,该文件就可以作为卸载程序。

可以复制一个快捷方式,将程序名改为Unwise.exe;该文件会安装后自动出现。

eg: 创建快捷方式自 %MAINDIR%\Unwise.exe %GROUP%\卸载.lnk

复制文件时如何支持通配符

【安装向导】->『文件』,“添加目录”时,选中“包含子目录”和“作为通配符添加以替代添加文件”。在这种情况下,只要将文件放在对应目录下,下次打包就会自动出现打进去;而不用打包脚本中同步。

Wise 打包细节 - Mr.7 - Mr.7

脚本中形如: 安装文件 e:\setup\* %MAINDIR%

如何得到长路径

有时候审美观上不接受短文件;此外,很少存在向下兼容到Win95以前的情况。在Wise中缺省的作为短文件名。

Wise 打包细节 - Mr.7 - Mr.7

脚本中形如: 设置变量 e:\setup\* %MAINDIR%

执行批处理文件bat

执行批处理文件时可能存在 执行批处理时,没等批处理文件执行完毕,就会执行下一句。所以最好还是少用。

注册组件

wise提供的自动组件注册,会判断每个dll/exe是否是组件,然后再对是的进行注册。如果文件比较少,用该方法还行。

如果文件多一点,而要注册的dll固定且比较少,可以自己来一个个指定要注册的dll。

如果要注册的dll比较多,那么建议最好弄一个文本文件,把所有dll放在里面,然后批处理注册。但是用bat批处理来进行的时候,尝试各种方法失败。

后来还是采用这种方法可以:Wise 打包细节 - Mr.7 - Mr.7

常量

【安装向导】->『编译器遍历』,添加的变量其实是常量,不能修改。

Wise 打包细节 - Mr.7 - Mr.7

变量

变量属于即时定义,作用域范围内均有效;并可重新赋值。

通过“设置变量”可以进行变量定义,并赋初值

Wise 打包细节 - Mr.7 - Mr.7

脚本中形如: 设置变量 IPLICENSE 127.0.0.1.

对话框变量

Wise 打包细节 - Mr.7 - Mr.7

对话框变量radio 的值为 ABCDE…..其中之一

Wise 打包细节 - Mr.7 - Mr.7

对话框设计脚本状态优先原则

这是其中的:控制界面状态。小写为控件,大写为变量:

?

Wise 打包细节 - Mr.7 - Mr.7

卸载时删除开始菜单中的主程序组

这是Wise 9.0.2之前的一个bug,听说9.0.2已经解决

Wise 打包细节 - Mr.7 - Mr.7Wise 打包细节 - Mr.7 - Mr.7

卸载时先执行程序

有时需要再卸载之前先执行程序,例如反注册组件、卸载服务等。

?

Wise 打包细节 - Mr.7 - Mr.7

或者在【安装向导】->『卸载』中

Wise 打包细节 - Mr.7 - Mr.7

如何复制安装程序所在目录下的额外文件

有时存在版本定制化的情况。例如,不同的客户对应不同的logo图,除此之外,其余的都是相象的。

这种情况下显然不好为每个用户都做一个安装包。最好的方式是采用Setup.exe + logo.jpg的方式发布。所有的用户,Setup.exe是固定的,只logo.jpg是随着在变化。

?在安装过程中,Setup.exe会判断是否其所在目录下是否存在logo.jpg,存在则copy到指定目录。

Wise 打包细节 - Mr.7 - Mr.7

说明:

%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==>程序使用用户权限。