use*_*023 3 installation installer windows-installer wix
我可能有一个奇怪的要求.
我开发了一个msi来安装两个软件.在EULA之后,必须有一个带有两个复选框的屏幕,在选择其中一个或两个复选框时,必须安装相应的软件.
我以前从来没有安装过一个单独的软件.
任何线索我都有责任.
Ste*_*mul 13
将应用程序捆绑在一个MSI文件中似乎是个好主意.它看起来很直观,简单.但是,从现实世界的经验来看,我几乎总是将应用程序拆分为通过自己的MSI文件进行安装.
将应用程序部署在一起真正安全的唯一时间是保证:
而且通常无法预测任何这一点.通常,您将很快获得新的要求,例如:
错误修复:如果只有一个应用程序有错误,管理层将只希望提供一个新的MSI并保持应用程序2不受影响,并且无需在安装后为这两个应用程序执行全新的QA运行.这是为了降低风险并提供更小的更新,以便更快地进行测试和验证.修补非常复杂,并且对于MSI文件而言通常更安全,这些文件尽可能简单,没有太多语言,自定义操作或GUI构造.
本地化:突然您需要使用意大利语提供应用程序1,不需要翻译应用程序2.语言支持往往会大大增加设置的复杂性,更不用说它的大小了.你的"漂亮而简单"的MSI现在突然变得难以维护,并且构建起来很迟钝.如果你需要一个设置,并且你用多种语言翻译它也是一个真正的痛苦 - 在所有语言更新都进入之前你将无法编译RTM版本.我现在可以告诉你营销/销售在所有本地化版本准备就绪之前,人们都没有阻止英文版本的概念.
QA/UAT:如果应用程序很大,提供2个独立的MSI文件将更容易在不同的QA团队之间分配测试工作,并通过夜间构建等提供新的更新......
发布计划:突然发布应用程序的发布时间表 - 应用程序1现在每个月更新一次,而应用程序2每六个月更新一次.如果不同的用户使用这些应用程序,您如何提供更新?在一个MSI中构建它并给它一个新的版本号只是为了让应用程序2用户再次安装相同的应用程序?
将整体开发人员的内聚和耦合原则应用于部署包,您将省去很多麻烦.如果现在或将来的应用程序可能会占用自己的生命周期 - 立即拆分它们的部署.谁可以看到未来?
请注意,您通常会将多个MSI文件包装在引导程序中,以便用户仍然只有一个文件可以关联,即使这些产品是通过单独的MSI文件安装的.
Wix更新:随着Wix的出现创建复杂的设置,构建可以编译成几个MSI文件的Wix包含文件变得更加容易.这实际上变成了一种更灵活的合并模块.这可以简化将来分割或合并MSI文件.请在此处查看此功能的讨论.
纯粹的设置大小:在单个MSI中可以拥有多少组件和文件存在一些限制.一些细节:
由于这个原因以及上面列出的其他原因,将巨大的MSI"分解"成几个相关的MSI会有所帮助 - 为了使维护更容易(构建和编译速度,只重建许多MSI文件之一等等) .最后,您应该坚持使用每个组件的单个文件来正确地进行升级和修补.可以使用引导程序或启动程序应用程序(如Burn from WiX)或商业工具(如Installshield和Advanced Installer)中的功能按顺序安装多个MSI文件.这是一个涉及这个主题的答案.而只是在另一个有点类似的答案.
Windows安装程序具有"功能"概念,可以选择安装或省略.如果您已经创建了一个正常工作的安装程序,那么您<Feature>的WIX文件中至少有一个元素.
只需创建多个<Feature>元素,然后使用<UIRef Id="WixUI_Mondo" />或<UIRef Id="WixUI_FeatureTree" />允许用户选择要安装的功能.
| 归档时间: | 
 | 
| 查看次数: | 10384 次 | 
| 最近记录: |