.Net - 注册表项启动条件

时间:2012-03-13 18:39:18

标签: visual-studio-2010 setup-deployment registrykey

我正在尝试为我的.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”),但它也不起作用。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

REG_DWORD类型被视为boolean。

0 =假 1 =真