Visual studio 2010 .Net-注册表项启动条件

Visual studio 2010 .Net-注册表项启动条件,visual-studio-2010,setup-deployment,registrykey,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 C

我正在尝试将启动条件添加到.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验证
条件:UACSTATUS=0
InstallUrl:
消息:在安装此应用程序之前,必须禁用UAC。
问题是:它不起作用。在我的机器(已禁用UAC)中测试时,条件中0或1的比较都返回false,不允许我继续安装


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

我会检查HKEY设置。确保您正在检查HKEY_当前用户?(或HKEY_本地_机器)。我在过去也遇到过类似的问题,如果我的记忆正常,那么这就帮我解决了


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

REG\u DWORD类型被视为布尔类型

0=错误 1=正确