4.3.3 リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する

AITファイルでレジストリのHKEY_CURRENT_USERを操作するAPIを使用する場合,リモートインストール先のクライアントにAdministrator権限を持たないユーザがログオンしているときは,操作するレジストリがHKEY_USERS¥.DEFAULTへ変更されます。このとき,レジストリのHKEY_CURRENT_USERを操作するには,[スタート]メニューから[ファイル名を指定して実行]を実行して,レジストリファイルをインポートする必要があります。

AITファイルを使用して,リモートインストール時にレジストリのHKEY_CURRENT_USERを操作する手順を説明します。

  1. レジストリファイルを作成する。
    追加,変更などを実行したいレジストリのレジストリファイルを作成します。
    注意
    レジストリを操作する場合は,レジストリをバックアップしておくことと,システムの復元方法を理解しておくことをお勧めします。
  2. AITファイルを作成する。
    [スタート]メニューから[ファイル名を指定して実行]を実行し,regedit.exeを利用してレジストリファイルをインポートする例を次に示します。この例では,インポートするレジストリファイルを「Sample.reg」としています。

    while(iLoopCount < iLoopMax)
     if((AITEVENTFLAG1==0) && (AITIGNORE == 0))
       // [スタート]メニューを表示します。
       AIT_PlayKey("{LWIN}");
       AIT_Sleep(SLEEP_TIME_EVENTS);
       // [ファイル名を指定して実行]を選択します。
       AIT_PlayKey("r");
       AIT_Sleep(SLEEP_TIME_EVENTS);
       AITEVENTFLAG1 = 1;
       AITIGNORE = 1;
       iLoopCount = 0;
     endif;
     if((AITEVENTFLAG1==1) && (AITIGNORE == 0) && (AIT_FocusWindow("ファイル名を指定して実行", "#32770") != 0))
       // レジストリファイルのパスを入力します。
       AIT_GetCurrentDirectory(strPath);
       AIT_PlayKey("regedit.exe /s '"" + strPath + "'¥Sample.reg'"");
       AIT_Sleep(SLEEP_TIME_EVENTS);
       // レジストリファイルをインポートします。
       AIT_PlayKey("{ENTER}");
       AIT_Sleep(SLEEP_TIME_EVENTS);
       iLoopCount = iLoopMax;
       DM_RTN = OK_END;
       continue;
     endif;
     AITIGNORE = 0;
     iLoopCount = iLoopCount + 1;
     AIT_Sleep(SLEEP_TIME);
    loop;

  3. 配布するソフトウェアと同じディレクトリに,作成したレジストリファイルを格納する。
  4. 作成したAITファイルを指定してパッケージングを実行する。
  5. リモートインストールを実行する。
    リモートインストール先のクライアントで,setup.exeなどと同じディレクトリにレジストリファイルが展開され,AITファイルが実行されます。