【发布时间】:2015-07-06 10:48:57
【问题描述】:
背景
我目前正在将现有的非 MSI 设置迁移到基于 Windows Installer 的解决方案。当前的解决方案是用InnoSetup 编写的,我非常喜欢它,但是,客户 IT 部门开始需要 MSI,并且在他们这样做的地方,通常情况下,我们包含的许多/一些先决条件和脚本他们的自动化任务不需要我们的 setup.exe(但是,有些是)。
因此,似乎纯 MSI 包装器在这里没有太大意义,所以我正在查看(多个?)MSI 文件和 boostrapper。
先验知识
我是一个很好的 InnoSetup,但我才刚刚开始readinto Windows Installer 技术。
问题
据我所知,对于任何多步骤/“复杂”的设置要求,包括先决条件和其他内容,仅使用裸 MSI 文件是行不通的。 (正如所有不同的助推器的存在所证明的那样,包括与 WiX 捆绑的那个,Burn)
因此,我需要将我们现有的整体设置拆分为几个步骤,其中一些(主要是安装 我们的 文件的那些)捆绑到 MSI 数据库中,而一些步骤只是“脚本化”在引导程序。
这里是我真正可以使用一些关于安装包的先前经验的地方:(链接的)安装的哪些部分进入 MSI 包,哪些部分进入引导程序?
所有(通常可见的)用户界面都应该驻留在引导程序中,还是应该将其中的一部分放入 MSI 文件中?
每个 MSI 文件最终应该有多“愚蠢”?也就是说,如果无论如何使用引导程序和多个 MSI 文件,任何单个 MSI 文件是否应该包含任何可选部分,或者是否应该将所有选项分解为单独的 MSI 文件(仅检查它们各自的先决条件是否存在,但不包含安装它们的逻辑)?
基本上,应用程序(套件)需要支持点击通过的普通用户场景,其中设置处理一切,对于企业客户,需要能够拆分为仅包含的 MSI 文件我们的东西减去 .NET 运行时、SQL Server 等依赖项......将由客户的公司 IT 处理,我们的软件 MSI 将由客户 IT 自动部署。
那么,所有胶水和依赖脚本是否应该进入引导程序并且只使用非常简单的 MSI 文件?还是应该在(某些)MSI 文件中加入一些“逻辑”?
【问题讨论】:
标签: wix windows-installer installation burn