Windows installer 是否有构建后可扩展安装程序系统
我们有一个产品,我们需要创建一个安装程序。 它有许多组件,可根据情况需要安装或不安装 当我们发布安装包时,我们希望能够安装包含任意数量的附加组件的安装包 例如,Foo Manager Pro包含:Windows installer 是否有构建后可扩展安装程序系统,windows-installer,modularity,Windows Installer,Modularity,我们有一个产品,我们需要创建一个安装程序。 它有许多组件,可根据情况需要安装或不安装 当我们发布安装包时,我们希望能够安装包含任意数量的附加组件的安装包 例如,Foo Manager Pro包含: Foo管理控制台 Foo管理器数据库 食物经理服务 可能会以如下方式发送: FooManagerInstaller.exe FMPConsole.pkg FMPDatabase.pkg FMPServices.pkg 包可能由以下内容组成: 显示 要部署的文件 要执行的其他脚本 (例如查找文
- Foo管理控制台
- Foo管理器数据库
- 食物经理服务
- FooManagerInstaller.exe
- FMPConsole.pkg
- FMPDatabase.pkg
- FMPServices.pkg
- 显示
- 要部署的文件
- 要执行的其他脚本
(例如查找文件foo.config,执行一些XML操作)
- FMPConsoleSkins.pkg
- ClientWebservices.pkg
我们一直在研究NSI和使用WiX构建MSI,但不清楚它们是否能够为下游提供提供额外软件包的能力,而无需发明我们自己的安装程序语言 此响应仅针对Windows Installer(因此也包括WiX);我从来没有机会使用NSIS Windows Installer本身并不适合这种扩展性。如果您希望完全支持弹性(自修复、播发等),则下游添加的文件必须添加转换或补丁,并且必须在cab中可用或在源文件系统上未压缩。为了让最终用户能够无缝安装,引导程序需要识别这些扩展,并将它们作为安装的一部分应用。然而,如果您曾经希望修补核心安装,那么必须考虑下游修补程序的想法是一个非常复杂的想法
如果您不需要Windows Installer的弹性,那么当然可以将各种安装和卸载步骤作为自定义操作来实现。这些操作可以读取您的自定义pkg格式和清单,并相应地执行,至少在安装时是这样。弄清楚如何存储或重新创建卸载信息将是关键。假设您支持每台机器(而不是每用户),则这些操作需要延迟(在脚本中),因此如果您希望沿着这条路线前进,则与install-research CustomActionData可用的属性和目录的联系将非常少。(但请注意,我在搜索中看到的第一个热门话题是一个不太相关的“Visual Studio中的部署”主题。)我知道许可证可能会花费一些钱,但“Installshield”(由于v.s.2010,我测试了限量版)有很多关于这些内容的功能,还有更新/降级功能,我不知道是否确实有你想要的,但是测试限量版(仍然是免费的)可能是个好主意,也许你可以在那里看到你需要的功能。谢谢你的回答。我觉得这是个复杂的问题。我们确实需要支持对核心安装的更新,但这应该通过替换它们的.pkg来实现。