关于Bootstrapper & Chaining的问题之前可能已经被问过。我想问一些相似和不同的东西。
我的要求是作为一个单一的功能集,这样当用户选择顶层的任何功能时,该选择作为参数传递给底层的相应 msi 并继续安装。用户可以再次启动此 exe/安装程序,他可以通过以通常方式选择它们来删除/修改功能。CHAIN 3 installshield msi into a single one
expose the feature selection GUI of 2 of the MSIs
最后,当安装结束时the package should generate a custom XML file
,将由内部工具使用,该工具基于用户上面选择的功能。
因此,标准和自定义行为混合在一起。I have no clue about the world of installers
. 可能有人可以建议如何以最小的努力实现这一目标或重做correct approach ?
.
我应该写这样一个工具in C#/Winforms (or WPF) ?
看起来像重新发明轮子吗?即类似的东西
- 在标准 GUI (Winforms / WPF) 中拥有自己的自定义 TreeView GUI
- Process.Start("msiexec /i /ADDLOCAL=Feature1 msi1.msi") --> ADDLOCAL 将从我的自定义 GUI 选择中传递功能集参数。
- 挂钩进程的退出事件
- 等待进程退出
- 成功退出后,使用退出处理程序中的适当参数触发第二个 msi 等等...
我不知道它是否是正确的方法?非常感谢您对此的任何帮助。提前致谢!!
(我为这个问题标记了 C#。)