首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallScript XP

InstallScript XP
EN

Stack Overflow用户
提问于 2012-12-04 09:02:30
回答 1查看 263关注 0票数 0

我有一个installscriptmsi项目,它的输出是setup.exe。我可以在Vista和更高版本上安装它,没有任何问题。系统未提示我输入UAC。但是在XP上,总是会出现Run As对话框提示。我知道这是因为设置了LAAW_SHELLEXECUTEVERB = "runas“,所以我得到了Run as提示。但我确实希望我的安装程序在XP上以管理员身份运行。我还将RequiredExecutionLevel设置为Release下的管理员。

那么有没有办法让installscriptmsi在XP上不提示UAC呢?我正在使用IS2012。我正在粘贴下面的脚本。

代码语言:javascript
复制
function OnBegin()
STRING szProgram, szCmdLine, szDirectory;
NUMBER nShowWindow, nTimeOut, nOptions;
STRING szTestVersionKey;
begin
szProgram = "MsiExec.exe";
szDirectory = "";
nShowWindow = SW_NORMAL;
nTimeOut = 1000 * 60 * 10;
nOptions = LAAW_OPTION_USE_SHELLEXECUTE;
LAAW_SHELLEXECUTEVERB = "runas";

RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );

// uninstall  another 3rd party software if on the system.
szSofTestVersionKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{15F6E1D5-12FF-4BBD-B02F-6440C7A2763C}";
if ( RegDBKeyExist(szTestVersionKey) ) then
    szCmdLine = "/uninstall {15F6B1B5-12FF-4DBD-A02F-6640C7A2863C} /norestart /quiet";
    LaunchApplication( szProgram, szCmdLine, szDirectory, nShowWindow, nTimeOut, nOptions ); 
  endif;

end;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 21:15:18

您已经在编写脚本了,所以我只想说明您是将LAAW_SHELLEXECUTEVERB设置为runas,还是将其保留为open。您可以将SYSINFO.nOSMajor与6进行比较,或者检查SYSINFO.WINNT.bWinXP以确定您使用的是哪种操作系统,并相应地选择动词。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13694514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档