WISE打包细节

简介: 转自博客 http://iammr.7.blog.163.com/blog/static/4910269920084175339636/  在利用Wise做安装包时,遇到的一些小细节,没有功夫整理成系统的章节,就罗列如下: ...

转自博客

http://iammr.7.blog.163.com/blog/static/4910269920084175339636/ 

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



相关文章
|
Kubernetes 负载均衡 安全
【K8S系列】深入解析k8s网络插件—Cilium
【K8S系列】深入解析k8s网络插件—Cilium
2112 1
|
Python
Ubuntu22.04编译安装OpenVINO
Ubuntu22.04编译安装OpenVINO
1289 1
Ubuntu22.04编译安装OpenVINO
|
10月前
|
前端开发
hover后元素边框变粗,样式被挤压?一招帮你解决,快收藏备用!
【10月更文挑战第15天】hover后元素边框变粗,样式被挤压?一招帮你解决,快收藏备用!
186 14
hover后元素边框变粗,样式被挤压?一招帮你解决,快收藏备用!
|
前端开发 JavaScript Java
基于Vue+ElementUI框架实现学生管理系统前端页面设计
基于Vue+ElementUI框架实现学生管理系统前端页面设计
329 1
|
11月前
|
SQL Oracle 关系型数据库
SQL查询默认表空间的技巧与方法
在数据库管理中,表空间是存储数据库对象(如表、索引等)的逻辑空间单元
|
10月前
鸿蒙原生开发手记:02-服务卡片开发
服务卡片是桌面小组件,分为静态和动态两类。本文介绍如何在 DevEco 中创建静态服务卡片,并实现点击事件传参和参数接收。创建时需选择支持的卡片大小,使用 FormLink 实现跳转,参数在 `entryability` 的生命周期方法中接收。注意:服务卡片不支持热重载。
335 0
鸿蒙原生开发手记:02-服务卡片开发
|
Kubernetes 容器
Kubernetes(K8S) 镜像拉取策略 imagePullPolicy
Kubernetes(K8S) 镜像拉取策略 imagePullPolicy
244 0
|
12月前
|
设计模式 Java 测试技术
spring复习04,静态代理动态代理,AOP
这篇文章讲解了Java代理模式的相关知识,包括静态代理和动态代理(JDK动态代理和CGLIB),以及AOP(面向切面编程)的概念和在Spring框架中的应用。文章还提供了详细的示例代码,演示了如何使用Spring AOP进行方法增强和代理对象的创建。
spring复习04,静态代理动态代理,AOP
|
关系型数据库 MySQL Linux
CentOS7.9 安装 mysql-8.0.36 踩坑小记
CentOS7.9 安装 mysql-8.0.36排错指南
908 1
|
关系型数据库 MySQL 数据库
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
1282 0