WIX检测待重启

时间:2013-08-16 23:13:44

标签: wix

我正在使用带有WiX的自定义BA,我想检测是否存在挂起的重启以在用户尝试安装之前警告我的用户,只是让它失败。 How do I reference the Reboot Pending Property in Burn (WiX) 这个问题只显示了什么不起作用,OP标记了一个答案,所以没有人回答他的后续问题,“被告知Burn中的RebootPending属性可能与Windows Installer使用的属性不完全对应,如何否则我会确保我的应用程序在重启未决时不会尝试安装吗?“ 这就是我想知道的。

2 个答案:

答案 0 :(得分:4)

由于我使用的是托管安装程序引导程序应用程序,我最终在C#中使用以下方法执行此操作:

string regLoc = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager";
string[] regKey = (string[])Registry.GetValue(regLoc, "PendingFileRenameOperations", new string[]{"DefaultValue"});

该密钥中的条目是等待重启的文件,因此可以更改它们。虽然这不是防弹的,但它可能表明安装可能因挂起的重新启动而失败。

答案 1 :(得分:4)

像这样使用RebootPending Burn变量

Bootstrapper.Engine.StringVariables["RebootPending"];

如果是"1",则重启正在等待