次のスクリプトを使用して、実行可能ファイルを管理者として実行しています。
#include "ifx.h"
export prototype MyFunction(HWND);
///////////////////////////////////////////////////////////////////////////////
//
// Function: MyFunction
//
// Purpose: Calls into Companion to execute the detect camera and all init setup
// code
//
///////////////////////////////////////////////////////////////////////////////
function MyFunction(hMSI)
begin
if REMOVEALLMODE ==0 then //only run if they are installing the product
LAAW_SHELLEXECUTEVERB = "runas";
LaunchApplication (INSTALLDIR ^ "Companion.exe",
"-detect -test -wsdl -exit -nimbus",
"",
SW_NORMAL,
0,
LAAW_OPTION_WAIT_INCL_CHILD | LAAW_OPTION_USE_SHELLEXECUTE);
endif;
end;
XP では、上記のスクリプトにより、実行可能ファイルを実行するユーザーを尋ねるダイアログ ボックスが開きます。これにより、実行可能ファイルを実行する管理者を選択できます。ただし、Windows 7 では何も起こりません。インストールはユーザーに何も要求せず、インストールは失敗します。
これがなぜなのか、または実行可能ファイルを管理者として実行する方法に関するその他の提案についてのアイデアはありますか?