将现有的EXE包装成MSI - 缺点?

时间:2010-10-26 19:26:33

标签: installer windows-installer packaging

我们有一个EXE,非常适合安装我们的应用程序。但是,我们有多个客户要求MSI以便在当前域中部署。

如果我们使用现有的EXE安装流程,我们可以将其包装到MSI中并期望获得良好的结果吗? EXE创建一个“卸载”,添加到控制面板的卸载列表中... MSI是否也会生成一个卸载点,给我们留下两个条目?

还有什么我应该注意的吗?

由于

2 个答案:

答案 0 :(得分:2)

您的客户可能会要求MSI,因此他们可以使用仅适用于MSI的各种工具来操纵MSI。例如,有一些部署工具能够查看MSI,并且只有在获得新版本的MSI时才将已更改的文件发送到系统。这些工作在MSI中的文件表中工作。如果将exe包装在MSI中,则MSI文件表中唯一的文件是exe,这使得用于操作正在安装的文件的工具毫无用处。

答案 1 :(得分:0)

EXE设置文件可以是任何内容,包括setup.exe启动程序中的MSI。但是,在你的情况下,我不相信这种情况。您可能拥有传统的非MSI安装程序。

大多数大公司实际上采用较旧的传统风格设置并将其重新打包为MSI本身 - 整个团队都可以完成这项工作(如Linda所述)。这将受益于a substantial number of MSI benefits for corporate use,这对于大规模部署(许多计算机的软件管理)至关重要。有关MSI文件的常见问题,请参阅相同的链接 - 这绝对不是一项易于处理的技术。

将您现有的EXE包装在MSI中不是选项。除了风险复杂性之外,添加根本没有任何收益。事实上,你会因为更难以正确的方式重新包装而激怒大公司的应用包装商。

如果您使用优秀的顾问来重新设置为MSI文件是一项很好的投资,或者花时间培训您的开发人员做得对。 MSI是一种不寻常的技术,处理起来非常不正统。许多开发人员认为无法理解并且有充分的理由。这是一种完全不同的安装范例。

MSI 的最新和最好的是 Wix 工具包。一个免费的开源工具包,允许您创建完整的MSI文件,而无需任何昂贵的第三方工具。 This short summary其历史和创造可能有助于理解MSI的内容。


我想整体摘要是将软件包装在MSI文件中对于所涉及的工作而言是一个不小的投资,但如果做得好,它会带来很大的好处。

将现有的EXE包装在MSI中根本没有任何价值 - 它只会导致新的问题。