我有一个使用visual studio安装程序创建的安装项目。我已经设置了一些自定义操作,这些操作将在复制文件以进行进一步安装后启动我自定义的WPF安装程序。但我有两个问题:
即使我已经禁用了所有窗口,仍然有一些来自msi的加载栏,它停留在我的WPF流程之后,我从一个自定义动作开始(不是那么大的交易,我可以忍受那)。 UI级别为3,静默安装中的级别为2(最小)。我想知道是否有办法将默认UI级别设置为2(无论什么都是静音,即使用户双击msi也是如此)
这是最大的问题:自定义操作启动我的WPF进程并等待退出。如果用户取消安装(按下WPF中的X按钮),WPF将退出我在自定义操作中捕获的某个exitcode。现在,在这种情况下,我需要一种从自定义操作执行回滚的方法。 我找到的唯一方法是抛出异常。但是用户将从msi中看到丑陋的对话框窗口,但是我绝对不希望这样。我可以以某种方式强制回滚而不抛出异常吗?或者至少隐藏msi的UI?
注意:我正在使用的自定义操作是Committed
事件,因为我需要复制所有文件(包括GAC中的一些程序集)才能使我的WPF正常工作。
我在stackoverflow上找到了几个答案,但没有一个是有帮助的。最接近的是:
谢谢