套件/高级UI多个软件包



我公司有很多MSI安装程序,我想将它们统一为一个MSI。

我知道Suite/Advanced UI项目可能符合这一要求。我创建了一个项目,添加了两个不同的包,并为它们分配了功能。

我想查看每个MSI的功能,也许可以将其对话框加载到Suite项目中,但我找不到方法,只能创建一个新的对话框,保存属性并将其传递给子MSI。

如果这是唯一的,那么Suite项目的目的是什么,我不能在标准MSI或一些C#代码中这样做来运行我所有的MSI的

我错了吗?

这个问题有多个部分,所以我将在高水平上回答它们。这应该有助于你弄清楚你想要更多的细节,这样你就可以在一个新的问题中问它。

可以将Suite/AdvancedUI功能与MSI功能联系起来,但我并不建议这样做。在那篇博客文章中,有很多关于这种方法的注意事项。我们发现,将MSI设计为功能级别的项目通常效果更好,因此作为套件一部分的任何给定MSI的全部都可以安装或跳过。

您是正确的,不可能动态探索MSI包的功能。您可以创建带有引用Suite属性或功能的控件的页面,但您仍然要回到上面文章的注意事项。

Suite/Advanced UI项目旨在统一安装多个软件包的UI体验,无论是本地携带还是按需下载。如果它们都是MSI软件包,并且您愿意要求Windows Installer 4.5,它可以使用事务处理来安装它们。您可以编写自己的引导程序来实现这一点,或者只编写脚本来连续安装几个MSI包,这是完全正确的,但这样做需要通常的权衡。(它可能更适合,但如果你想复制已经提供的所有功能,可能需要做更多的工作。)

最新更新