Windows PE で特定のアプリケーションを起動させる方法について

こんにちは。

Windows プラットフォームサポートの頂です。

 

今回はWindows PE のカスタマイズについてご紹介いたします。

一般的な Windows PE のシナリオとして、Windows のインストールやトラブルシューティング ツールとして利用できますが、Windows PE のカスタマイズをすることで、自分で用意したアプリケーションを起動することや、特定の作業だけを実施させることなどもできます。

ここでは、Windows PE 利用時に、特定のシェルやアプリケーションを起動する方法として、Winpeshl.ini を利用した手順の記述方法をご紹介したいと思います。

 

まずは Windows PE の起動についてから少しご説明いたします。

カスタマイズされていない (標準構成) Windows PE より起動した場合、OS のカーネルなどが読み込まれ、その後、Winpeshl.exe 、 Startnet.cmd 、Wpeinit.exe の順に起動します。

その起動プロセスが終了すると、コマンド プロンプトが表示された状態になりますが、今回ご紹介する Winpeshl.ini を利用する手順は、上記プロセスの startnet.cmd を実行する前の処理をカスタマイズする方法となります。

 

具体的には、自分で用意したアプリケーション (シェル) を Windows PE で起動して利用することや、アプリケーションから設定された特定の処理のみ実行することができます。

 

注意点としては、Winpeshl.ini  を利用してカスタマイズすると、Wpeinit.exe が実行されない状態でWindows PE が起動します。

その場合、Plug and Play デバイスのインストールやネットワークの初期化などが行われないため、ご利用用途によっては Wpeinit.exe に対する処理も含める必要があります。

 

Winpeshl.ini  については、以下 Technet サイトでご紹介いたしております。

Winpeshl.ini のリファレンス

https://technet.microsoft.com/ja-jp/library/hh825046.aspx

 

Winpeshl.ini Reference

https://technet.microsoft.com/EN-US/library/hh825046.aspx

※ こちらは英語でのドキュメントとなります。

 

[設定について]

上記Technet サイトの情報を基に Winpeshl.ini ファイルの記載例などについてご紹介いたします。

 

 - Winpeshl.ini ファイルの記載例

----------------------

[LaunchApp]

AppPath = %SYSTEMDRIVE%\Fabrikam\shell.exe

[LaunchApps]

%SYSTEMDRIVE%\Fabrikam\app1.exe

%SYSTEMDRIVE%\Fabrikam\app2.exe, /s "C:\Program Files\App3"

----------------------

 ※ [LauchApps] セクションではアプリケーション名とオプションをカンマ (,) で区切ります。

上記以外のTechnet 文書では、"-option1" など様々な記載例となっていますが、オプションで引数として渡す値については、実際に利用するアプリケーションに合わせて任意の設定を行います。

 たとえば、メモ帳を起動してファイルを開くような場合は、カンマの後にファイル パスを入力します。

 

なお、[LaunchApp] と [LaunchApps] のいずれかのセクションのみでの利用も可能です。

どちらのセクションに記載した場合でも、実行されたコマンド プロンプト ウインドウ または、カスタム シェル アプリケーションを終了すると、Windows PE が再起動します。

 

以下では、それぞれのセクションについてご説明いたします。

 

[LaunchApp] セクションについて

--------

[LaunchApp]

AppPath = %SYSTEMDRIVE%\Fabrikam\shell.exe

--------

AppPath エントリに、シェル アプリケーションへのパスを設定します。

完全修飾パスまたは環境変数 (%SYSTEMROOT%\System32\Myshell.exe など) を指定できます。

LaunchApp はコマンド ライン オプションをサポートしません。

LaunchApp は 1 つのアプリケーションのみ実行できます。

250 文字を超えるコマンドは指定できません。

 

 [LaunchApps] セクションについて

----------------------

[LaunchApps]

%SYSTEMDRIVE%\Fabrikam\app1.exe

%SYSTEMDRIVE%\Fabrikam\app2.exe, /s "C:\Program Files\App3"

----------------------

アプリケーションでコマンドライン オプションを使用して、実行するには、[LaunchApps] セクションを使用します。

アプリケーションは複数実行可能で、一覧に記載された順に実行されます。

アプリケーション名とオプションをカンマ (,) で区切ります。

250 文字を超えるコマンドは指定できません。

- 参考情報

Windows プレインストール環境 (Windows PE) の概要

https://technet.microsoft.com/ja-jp/library/hh825110.aspx

 

Windows PE とは

https://technet.microsoft.com/ja-jp/library/dd799308(v=WS.10).aspx

 

Windows PE の機能

https://technet.microsoft.com/ja-jp/library/dd744556(v=WS.10).aspx