将现有 EXE 包装到 MSI 中 - 缺点?
我们有一个 EXE,非常适合安装我们的应用程序。但是,我们有多个客户正在请求 MSI,以便于在当前域中进行部署。
如果我们使用现有的 EXE 安装过程,我们是否可以将其包装到 MSI 中并期待良好的结果? EXE 会创建一个“卸载”,并将其添加到控制面板的卸载列表中...MSI 也会生成一个卸载点,从而为我们留下两个条目吗?
还有什么我应该注意的吗?
谢谢
We've got an EXE which works great for installing our application. However, we have multiple customers who are requesting an MSI for ease of deployment in their current domain.
If we use our existing EXE install process, can we wrap that into an MSI and expect good results? The EXE creates an "Uninstall" that is added to the control panel's uninstall list... will the MSI also generate an uninstall point, leaving us with two entries?
Is there anything else I should watch for?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的客户可能会要求提供 MSI,以便他们可以使用仅适用于 MSI 的各种工具来操纵 MSI。例如,有些部署工具能够查看 MSI,并且仅在系统获得新版本的 MSI 时才将更改的文件发送到系统。这些工作在 MSI 中的文件表中进行。如果您将 exe 包装在 MSI 中,则 MSI 文件表中的唯一文件就是 exe,这使得用于操作您正在安装的文件的工具变得毫无用处。
Your customers are probably asking for MSIs so they can manipulate the MSI with the variety of tools that work only on MSIs. For example, there are deployment tools that are able to look at MSIs and only send down the changed files to a system when it gets a new version of the MSI. These work off the file table in the MSI. If you wrap your exe in a MSI, the only file in your MSI file table is the exe, which makes tools used to manipulate the files you are installing, useless.
EXE 安装文件可以是任何内容,包括 setup.exe 启动器中的 MSI。然而,就你的情况而言,我不认为是这样。您可能有一个旧版非 MSI 安装程序。
大多数大公司实际上采用旧的、遗留风格的设置并将它们重新包装为 MSI 本身 - 整个团队都是为了完成这项工作(正如 Linda 提到的)。这是为了受益于企业使用的大量 MSI 优势,这对于大型企业来说至关重要规模部署(多台计算机的软件管理)。有关 MSI 文件的常见问题,请参阅相同的链接 - 这绝对不是一项容易处理的技术。
将现有 EXE 封装在 MSI 中不是一个选项。这除了增加风险和复杂性之外什么也没有,却没有任何好处。事实上,您会让以正确的方式重新打包变得更加困难,从而激怒大公司的应用程序打包人员。
如果您使用优秀的顾问来完成此操作,或者花时间培训您的开发人员正确执行,则将您的设置重新制作为 MSI 文件是一项不错的投资。 MSI 是一项不寻常的技术,处理起来也非常非正统。许多开发人员认为这是不可能理解的,并且有充分的理由。这是一种与以前完全不同的安装范例。
MSI 的最新、最好的工具包是 Wix 工具包。免费的开源工具包,允许您创建成熟的 MSI 文件,而无需任何昂贵的第三方工具。 这个关于其历史和创建的简短摘要可能也有助于了解 MSI 的含义。
我想总体总结是,将软件包装在 MSI 文件中对于所涉及的工作来说是一笔不小的投资,但如果做得正确的话,它会带来很大的好处。
将现有的 EXE 封装在 MSI 中根本没有任何价值 - 它只会导致新的问题。
An EXE setup file can be anything, including an MSI in a setup.exe launcher. However, in your case I don't believe that is the case. You probably have a legacy non-MSI installer.
Most big companies actually take older, legacy-style setups and repackage them as MSI themselves - whole teams exist to do this job (as mentioned by Linda). This is to benefit from a substantial number of MSI benefits for corporate use that are crucial for large scale deployment (the administration of software for many computers). See the same link for common problems with MSI files - it is definitely not an easy technology to deal with.
Wrapping your existing EXE in an MSI is not an option. This adds nothing but risk and complexity for no gain at all. In fact you will irritate application packagers in large companies by making it harder to repackage the right way.
Remaking your setup to be an MSI file is a good investment if you use good consultants to do it, or take the time to train your developers to do it right. MSI is an unusual technology, and distinctively unorthodox to deal with. Many developers feel it is impossible to understand, and for good reason. It is an entirely different installation paradigm than what used to be.
The latest and greatest for MSI is the Wix toolkit. A free open-source toolkit allowing you to create full-fledged MSI files without any expensive third-party tools. This short summary of its history and creation might be helpful to understand what MSI is about as well.
I guess the overall summary is that wrapping your software in an MSI file is no small investement with regards to the work involved, but it has major benefits when done right.
Wrapping your existing EXE inside an MSI has no value at all - it just causes new problems.