1

我正在尝试向我的 .msi 包部署添加启动条件,但它不起作用。我想检查目标机器中是否启用了 UAC。我的注册表搜索值是:

 Property: UACSTATUS
 RegKey: SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
 Root: vsdrrHKLM
 Value: EnableLUA

该值属于 REG_DWORD 类型。1 表示启用,0 表示禁用。

然后我创建了启动条件:

 (Name): UACVerification
 Condition: UACSTATUS = 0
 InstallUrl: <left blank for now>
 Message: You must disable UAC prior to install this application.

问题是:它不起作用。在我的机器(已禁用 UAC)中进行测试,条件中 0 或 1 的比较都返回 false 并且不允许我继续安装。

REG_DWORD 类型不被视为数字吗?我尝试使用引号(“0”或“0”),但效果不佳。

4

2 回答 2

0

我会检查 HKEY 设置。确保您正在检查 HKEY_CURRENT_USER?(或 HKEY_LOCAL_MACHINE)。我过去遇到过类似的问题,如果我的记忆正常,那么这为我解决了。

哦,如果这被证明是正确的,那么我相信你弄错的原因是因为在其中一些分支上,系统或 UACSTATUS 不存在。

于 2012-03-13T18:42:39.217 回答
0

REG_DWORD 类型被视为布尔值。

0 = 假 1 = 真

于 2012-08-24T14:26:22.593 回答