Programming Windows Maniacs - プログラミング ウィンドウズ マニアックス ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて  
ホーム >> Install Shield >> Administratorsグループに所属しているかどうかを判定するには

セットアップからアプリケーション(EXE)を呼び出すには

  Install Shieldで作成したセットアップから、アプリケーションを実行する際、実行が終了するまで待機したいことが多いです。
  この際は、LaunchAppAndWait () を使用します。 待機を必要としない場合は、LaunchApp ()を使用します。LaunchAppの例は、「インストーラ終了後にアプリケーションを強制的に実行するには」を参照してください。

  また、アプリケーションをコールする際は、パスの操作に気をつけてください。 インストール前ですと、当然TARGETDIRにファイルはインストールされていません。

  下記は、インストール時でファイル移動後に、システムへ通知するnotify.exeを実行し、成功したときは通常通りインストールが完了し、失敗したときは再起動画面を表示する例です。

 

■ Setup.Rulの一部抜粋

function OnFirstUIAfter()
    STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2;
    NUMBER bvOpt1, bvOpt2;
    NUMBER bShowUpdateServiceDlg;
    STRING szNotifyPath;
    BOOL bForceReboot;
begin
    szNotifyPath = TARGETDIR ^ "\\notify.exe";
    LongPathToQuote ( szNotifyPath, TRUE );
    // システム通知用 EXE呼び出し
    if ( 0 != LaunchAppAndWait ( szNotifyPath, "", LAAW_OPTION_WAIT ) ) then
        bForceReboot = TRUE;// 失敗したときは強制再起動
    else
        bForceReboot = FALSE;
    endif;

    // ... 省略 ...

    if ( bForceReboot == TRUE ) then
        // インストール完了時に再起動の画面を表示
        SdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );
    else
        // インストール完了画面
        SdFinish ( szTitle , szMsg1 , szMsg2 , szOpt1 , szOpt2 , bvOpt1 , bvOpt2 );
    endif;

    // ... 省略 ...
end;

  ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて Copyright © 2014 A.Morita