2012-03-13 156 views
1

我试图添加一个启动条件到我的.msi包部署但它不工作。我想检查UAC是否在目标机器中启用。我的注册表搜索值为:.Net - 注册表项启动条件

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”),但它不起作用。

回答

0

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

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

0

REG_DWORD类型被视为布尔值。

0 =假 1 =真