拥有MSI安装包的主要优势是什么?

时间:2010-11-29 13:56:51

标签: deployment windows-installer installer install

我认为这会在网络上的某个地方,但我不能谷歌它:

考虑到创建MSI软件包所涉及的复杂性(与NSIS,InnoSetup等相比),所有这些混乱都是令人信服的理由(使用MSVS糟糕的安装项目向导,学习全新的语言/生态系统)只是为了制作MSI安装程序而制作安装程序(WiX)或支付大量许可费(InstallShield)?

除了显而易见的MSDN page之外,拥有真实的世界观点或经验(甚至证明MSI真的毫无价值)会很高兴,例如:)

5 个答案:

答案 0 :(得分:10)

我不认为所有情况都有一个主要优势。以下是我喜欢的一些东西,与其他类型的安装程序相比:

  • 安装逻辑和代码包含在数据库中,该数据库采用可访问的格式。 我在调试时非常喜欢这个。您可以使用Orca等工具直接编辑数据库(从MS下载免费数据库编辑),然后再次运行安装以测试更改,而不是重建安装程序。更新您的自定义代码,暂时解决问题,更改操作顺序,无论您需要做什么。

  • 修补。 Installer服务及其相应的工具知道如何创建包含更新文件增量的修补程序,而不是完整文件。它允许维护尺寸保持合理。

  • 行政图片。安装程序可以创建管理映像。如果已生成修补程序,则可以将修补程序应用于管理映像,然后可以从管理映像而不是原始安装程序运行新安装。就像OS映像中的slipstreaming补丁一样。如果您将应用程序推送到大量计算机上,那么在安装后不需要推出大量补丁就非常酷。

其他有趣的功能包括转换,从源代码运行,检测和修复,组件共享等。

答案 1 :(得分:4)

答案 2 :(得分:3)

需要MSI(或ClickOnce)才能获得Windows Vista徽标计划(Microsoft官方认证)。我相信这个要求已经被Windows 7删除了,但是通过MSI获得认证仍然更容易(参见here)。

您不需要购买任何昂贵的第三方安装程序包。如果您要使用MSI,我建议您使用WIX并学习它。一旦你熟悉它,它就能很好地工作。

答案 3 :(得分:3)

另一个好读物是:

Windows Installer: Benefits and Implementation for System Administrators

我14年来一直是全职设置开发人员。我的前7年是InstallScript Setup.exe风格项目,我过去7年一直是基于MSI的。起初我反对MSI,然后在使用它6个月后,我真的相信它有多好。

答案 4 :(得分:2)

我很确定有些企业需要MSI格式才能在数千台计算机上远程批量安装应用程序。但是,我没有与这些组织打交道,所以不确定。