我有一个现有的MSI包,我想重新打包以添加安装选项(到目前为止,MSI已经通过命令行安装了.bat文件中的msiexec参数)。
到目前为止,是否有可用于重新打包MSI的免费软件工具?我在WiX上磕磕绊绊,但根据我的理解,我需要VisualStudio来完成我想要的东西(我没有VisualStudio)?
谢谢!
您想要添加到MSI包中的具体内容是什么? 您可以使用Orca修改MSI中的任何表。
听起来你想要创建一个'响应转换'。这里有一个免费的工具:http://www.jontylovell.net/index.php?page=10
您可以右键单击MSI,单击“创建转换”,然后在安装阶段选择所有适当的选项。然后,它将创建一个MST(保存在您选择的位置),其中包含所有预先选择的选项,然后您可以在命令行上将其应用于原始MSI:
MSIEXEC /i [path to MSI] TRANSFORMS=[path to MST]
变换:如果您想要创建变换,您可以使用
Orca
,SuperOrca
,InstEd
以及此处描述的其他工具:
- How can I compare the content of two (or more) MSI files?(免费工具 - 上面提到)
- Commercial tools当然也会做这个工作。 Generate Mst response tool。
逆戟鲸,程序:1)
Open your MSI
,2)
Transform => New Transform
,3)
Make changes to MSI as appropriate
,4)
Transform => Generate Transform
。
其他工具中的类似方法。
自定义MSI:以下是关于如何自定义MSI安装程序(命令行/ PUBLIC PROPERTIES,转换等等)的旧答案:How to make better use of MSI files。在答案中有许多进一步的联系。这是一个奇怪的写作刚刚发生,但顶部可能会有所帮助。
Sample transform application:在安装过程中应用转换:
msiexec.exe /i myinstaller.msi TRANSFORMS="mytransform.mst;1031.mst" /L*V "msilog.log" /QN
快速解释:
/i = run install sequence
TRANSFORMS="mytransform.mst;1031.mst" = transform(s) to apply
/L*V "msilog.log"= verbose logging at specified path
/QN = run completely silently
链接:
看起来我想要实现的并不是一件普通的事情,所以我坚持通过命令行传递配置。一个单独的文件(转换)在我的情况下无济于事,因为目标只是拥有一个文件 - 一个完全配置的MSI - 感谢大家的帮助!