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

kiz*_*zx2 8 deployment installer install windows-installer

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

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

如果有明显的MSDN页面,那么拥有现实世界的观点或经验(甚至证明MSI真的毫无价值)会很高兴,例如:)

小智 10

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

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

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

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

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

  • @Ed - 您忽略了修补最重要的好处之一,即您可以在不触发 UAC 提示的情况下将更新应用到应用程序。如果不打补丁,您就必须安装一些以特权模式运行的自定义 Windows 服务,以便在不提示管理员访问权限的情况下安装应用程序更新。http://msdn.microsoft.com/en-us/library/windows/desktop/aa372388%28v=vs.85%29.aspx (2认同)