Visual studio 2010 .Net-注册表项启动条件
我正在尝试将启动条件添加到.msi包部署中,但它不起作用。我想检查目标机器中是否启用了UAC。我的注册表搜索值为: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
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=正确