我的公司中有许多 MSI 安装程序,我想将它们统一到一个 MSI 中。
我了解 Suite/Advanced UI 项目可能符合该要求。我创建了一个项目,添加了 2 个不同的包并为它们分配了功能。
我想查看每个 MSI 具有的功能,也许将它的对话框加载到 Suite 项目,但我找不到这样做的方法,但只构建了一个新对话框,它将保存属性并将它们传递给子 MSI。
如果那是唯一的套件项目的目的是什么,我不能在标准 MSI 或一些 C# 代码中运行我所有的 MSI
我错了吗?
我的公司中有许多 MSI 安装程序,我想将它们统一到一个 MSI 中。
我了解 Suite/Advanced UI 项目可能符合该要求。我创建了一个项目,添加了 2 个不同的包并为它们分配了功能。
我想查看每个 MSI 具有的功能,也许将它的对话框加载到 Suite 项目,但我找不到这样做的方法,但只构建了一个新对话框,它将保存属性并将它们传递给子 MSI。
如果那是唯一的套件项目的目的是什么,我不能在标准 MSI 或一些 C# 代码中运行我所有的 MSI
我错了吗?
这个问题有多个部分,所以我将在高层次上回答它们。这应该可以帮助您弄清楚您想要更多详细信息,以便您可以在新问题中提出它。
可以将Suite/Advanced UI features 与 MSI features 相关联,但我并不真正推荐它。该博客文章中的方法有很多警告。我们发现,将您的 MSI 设计为功能级项目通常效果更好,以便安装或跳过作为套件一部分的任何给定 MSI 的整体。
您是正确的,无法动态探索 MSI 包的功能。您可以使用引用套件属性或功能的控件创建页面,但您仍然回到上述帖子的注意事项。
Suite/Advanced UI 项目旨在统一安装多个包的 UI 体验,无论是本地携带还是按需下载。如果它们都是 MSI 软件包,并且您愿意需要 Windows Installer 4.5,它可以使用事务处理来安装它们。您可以编写自己的引导程序来执行此操作,或者只是连续安装几个 MSI 软件包的脚本,这是绝对正确的,但这样做需要通常的权衡。(它可能更适合,但如果你想复制已经提供的所有功能,可能需要做更多的工作。)