5

我正在使用带有 WiX 的自定义 BA,并且我想检测是否有挂起的重新启动以在我的用户尝试安装之前警告我的用户,只是让它失败。 如何引用 Burn (WiX) 中的 Reboot Pending 属性 该问题仅向我展示了哪些不起作用,并且 OP 标记了答案,因此没有人回答他的后续问题,“已被告知 Burn 中的 RebootPending 属性可能与 Windows Installer 使用的属性不完全对应,否则我将如何确保我的应用程序在重新启动挂起时不会尝试安装?” 这就是我想知道的。

4

2 回答 2

6

像这样使用RebootPendingBurn 变量

Bootstrapper.Engine.StringVariables["RebootPending"];

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

于 2014-01-29T16:08:09.807 回答
5

由于我使用的是托管安装程序引导程序应用程序,因此我最终在 C# 中使用:

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

该键中的条目是等待重新启动的文件,因此可以对其进行更改。尽管这不是万无一失的,但它提供了一个可能的指示,即安装可能由于挂起的重新启动而失败。

于 2013-08-30T16:30:34.450 回答