1

次のスクリプトを使用して、実行可能ファイルを管理者として実行しています。



#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 では何も起こりません。インストールはユーザーに何も要求せず、インストールは失敗します。

これがなぜなのか、または実行可能ファイルを管理者として実行する方法に関するその他の提案についてのアイデアはありますか?

4

2 に答える 2

0

Win7 で自分でアプリケーションを起動すると、InstallShield の外部で何が起きますか?

私はそれがUACによるものかもしれないと考えています。installscript によって起動されたプログラムは、installshield スクリプトから管理者権限を自動的に継承しません。

于 2011-06-10T12:31:00.093 に答える