我的公司中有许多MSI安装程序,我想将它们统一到一个MSI中。
我知道Suite/Advanced UI项目可以满足这一要求。我创建了一个项目,添加了2个不同的包,并为它们分配了功能。
我想查看每个MSI所具有的功能,也许可以将它的对话框加载到Suite项目中,但我找不到这样做的方法,只能构建一个新的对话框,它将保存属性并将它们传递给子MSI。
如果这是唯一的,那么什么是套件项目的目的,我不能做到这一点,在一个标准的微星或一些C#代码来运行我所有的微星
我说错了吗?
发布于 2016-06-14 20:28:52
这个问题有多个部分,所以我将从较高的层面回答它们。这应该会帮助你弄清楚你想要更多的细节,这样你就可以在一个新的问题中提出它。
这是可能的associate Suite/Advanced UI features with MSI features,但我并不真正推荐它。在那篇博客文章中,对这种方法有很多警告。我们发现,将MSI设计为功能级项目通常效果更好,这样作为套件一部分的任何给定MSI要么被安装,要么被跳过。
您是正确的,即不可能动态探索MSI包的功能。您可以创建带有引用Suite属性或功能的控件的页面,但您仍然需要回到上述帖子中的警告。
Suite/Advanced UI项目旨在统一安装多个包的UI体验,无论是本地携带还是按需下载。如果它们都是MSI包,并且您愿意使用Windows installer4.5,它可以使用transaction processing安装它们。您完全正确,您可以编写自己的bootstrap来完成此操作,或者只编写脚本来连续安装几个MSI包,但这样做需要通常的权衡。(它可能会提供更好的匹配,但如果您想复制已经提供的所有功能,则可能需要更多的工作。)
https://stackoverflow.com/questions/37789618
复制相似问题