Установочный скрипт XP

У меня есть проект installscriptmsi, результатом которого является setup.exe. Я могу установить его на Vista и выше без каких-либо проблем. У меня не запрашивается UAC. Но в XP мне всегда предлагается диалоговое окно «Запуск от имени». Я знаю, что из-за установки LAAW_SHELLEXECUTEVERB = "runas" я получаю приглашение "Запуск от имени". Но я хочу, чтобы мой установщик работал от имени администратора на XP. Я также установил RequiredExecutionLevel в качестве администратора в Release.

Итак, есть ли способ заставить installscriptmsi не запрашивать UAC на XP. Я использую IS2012. Я вставляю сценарий ниже.

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;

person Prashant    schedule 04.12.2012    source источник
comment
О чем ты говоришь? В Windows XP нет UAC.   -  person SLaks    schedule 04.12.2012
comment
@SLaks - я имел в виду диалоговое окно «Выполнить как», как описано в - helpnet.flexerasoftware .com/installshield19helplib/Подсистемы/   -  person Prashant    schedule 04.12.2012


Ответы (1)


Вы уже пишете сценарий, поэтому я бы просто поставил условие, установите ли вы LAAW_SHELLEXECUTEVERB на runas или оставите его как open. Вы можете сравнить SYSINFO.nOSMajor с 6 или изучить SYSINFO.WINNT.bWinXP, чтобы определить, на какой ОС вы работаете, и выбрать соответствующий глагол.

person Michael Urman    schedule 04.12.2012