0

出力が setup.exe である installscriptmsi プロジェクトがあります。Vista以降では問題なくインストールできました。UAC の入力を求められません。しかし、XP では、Run As ダイアログが常に表示されます。LAAW_SHELLEXECUTEVERB = "runas" を設定しているため、Run as プロンプトが表示されることがわかっています。しかし、XP でインストーラーを管理者として実行したいのです。また、リリースの下で RequiredExecutionLevel を管理者として設定しました。

XPでUACを要求しないようにinstallscriptmsiを取得する方法はありますか。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;
4

1 に答える 1

0

あなたはすでにスクリプトを書いているので、 に設定LAAW_SHELLEXECUTEVERBするかrunas、そのままにしておくかを条件付けしますopenSYSINFO.nOSMajor6 と比較するSYSINFO.WINNT.bWinXPか、どの OS を使用しているかを調べて、それに応じて動詞を選択します。

于 2012-12-04T13:15:18.383 に答える