我的任务是创建一个能够处理和安装多个.msi文件的安装程序。我几乎走了InstallShield路线,但你需要Premier版本来创建套件安装,并说你付出近3000英镑甚至不能让你完全自定义UI。
对于我们的上一个版本,我编写了一个自定义Setup.exe文件,该文件与我们要安装的msi文件位于存储的文件夹中,然后以静默方式安装每个文件。这是非常基本的,我们现在需要更专业的东西。
目前我有两个主要选择:
使用WiX - 这是免费的,似乎提供了很多自定义功能。我不太确定它究竟能做什么,而且需要一点时间来学习。
我可以扩展我已有的东西,并构建我自己的安装程序,允许用户选择他们想要安装哪些功能/组件,哪些不需要。如果我可以让安装程序从服务器下载所需的msi文件,安装它们,然后删除它们,我更喜欢这个。我只是不想在主安装程序下载中包含一个完整的msi文件的单独文件夹。如果没有太多的努力,这是否可能?另外,使用这个我可以在“添加/删除程序”菜单中添加一个程序吗?
欢迎任何想法:)
答案 0 :(得分:0)
它的免费程度取决于您的设置有多复杂,相互依赖性及其先决条件。
例如,您想要安装产品X,但它需要安装数据库服务器,需要重新启动.net框架升级。
Wix用于创建msi,所以如果你想创建一个msi可以管理几个应用程序的安装,它只会是一个帮助。
答案 1 :(得分:0)
我建议您查看WiX 3.6中Burn的功能。您可以创建一个引导程序,它可以从服务器下载您的安装包。您可以完全自定义它或使用标准的bootstrapper应用程序。您也可以使用当前的.msis。您不必将所有.msis转换为WiX以使用引导程序功能。
我建议您阅读Rob Mensching的this blog post。
答案 2 :(得分:0)
WiX 3.6仍然是一个测试项目,而Burn仍在进行中。说实话,InstallShield Suite安装程序非常新,而且还在进行中。
在您对InstallShield的成本感到惊慌失措之前,您需要准确确定您的setup.exe需要做什么。然后,您需要在InstallShield和WiX之间进行功能差距分析,并提出人工估算,以便在WiX中进行,并在InstallShield中进行。
在某些情况下,现成的工具还不够成熟,推出自己的工具也是有意义的。 (想想MS SQL Server,Office,Visual Studio),但对于大多数业务应用程序,您可能只需要选择最接近您需要的工具。
答案 3 :(得分:0)
对于需要比自己的自定义setup.exe更专业的东西,比WiX和Burn更少的学习曲线,以及比InstallShield更少的钱包痛苦 - 我建议{{3不是为了MSI Factory(它会加速你的WiX学习)但是对于包含的引导程序。
学习曲线小于Burn,并且有90天的试用版,因此您可以查看它是否足够好。
InstallShield将允许您自定义安装界面,对于那个高昂的价格标签,您将获得支持和维护(当您从头开始升级时,非常非常有用)。
使用InstallShield可以节省前期成本,您可以根据WiX的时间进行投资 - 因此您确实需要进行成本/收益分析并确定您的时间价值。当你真正开始理解Windows Installer以及它的内幕时,InstallShield和WiX一样强大。许多商业开发人员将根据各个项目的要求使用两者中的元素。