1、起因
由于域推送只支持msi安装包,而很多常用的工具比如Adobe Flash Player.exe、SilverLight.exe都是exe格式的,于是引出要将exe转成silent msi的工作。
2、尝试1
首先是exe2msi。这个小工具的优点是简单方便,只要exe本身支持静默命令行(比如adobeFlashPlayer11.exe /install、silverlight.exe /q)之类的即可。缺点是很多安装包并不支持静默参数。
3、尝试2
然后是Advanced Installer,目前的版本是10.6。AdvInst提供2种方式:1)msi from exe,但这种方式只是用一个外部的msi包裹exe,如果exe不支持静默,仍然会停下来等待用户的交互。2)Repackage Installation,这种方式可以重新打包,原理是在安装前记录一下系统的镜像、安装后再记录一个snapshot,对比2个镜像找出安装前后的所有变化,包括文件、文件夹、注册表、服务……的增删改。因此尽量少开软件、尽量在干净的系统上跑,这样出来的msi会比较靠谱。操作如下:
- 新建->导入->Repackage Installation
- 将此计算机上的应用程序重新打包->选择Fiddler1Setup.exe->关键是“当前配置文件”,点编辑
- “文件类型过滤”里勾上“不用扩展名排除文件”->文件和文件夹过滤”里“新建文件夹”把c:\program files\加上
- 也可以添加需要的注册表项,这里的配置关