VirtualComputerName パラメータは、コンピュータ名を変更するかどうかを決定します。コンピュータ名の変更により、キャプチャ プロセスと展開プロセスの名前の競合を避けられます。

アプリケーションは、自身がインストールされているコンピュータの名前を使用したり、データベースに接続し、接続文字列にそのコンピュータ名を使用したりすることができます。キャプチャ プロセスは展開プロセスと異なるため、コンピュータ名を必要とするキャプチャされたアプリケーションでは、コンピュータ名を仮想パッケージに追加して、どのマシンでもアプリケーションを実行できるようにする必要があります。

ThinApp では、VirtualComputerName パラメータの初期設定がコメント アウトされています。このパラメータは、GetComputerNameGetComputerNameEx API 関数が仮想アプリケーションに返す文字列を使用します。

仮想コンピュータ名を含める

この例では、VirtualComputerName パラメータで LOCALHOST という名前のコンピュータに 2 番目の名前を作成する方法を示しています。これは、仮想アプリケーションでキャプチャされます。アプリケーションは、2 番目の名前を使用して仮想マシンに接続します。キャプチャ システムに LOCALHOST 名がない場合、ThinApp は VirtualComputerName パラメータをコメント アウトします。

;VirtualComputerName=<original_machine_name>

キャプチャ プロセスを実行する前にクリーン マシンの名前を LOCALHOST に変更すると、Package.ini ファイルは、VirtualComputerName パラメータで作成された名前をアクティブ化します。仮想アプリケーションは、名前が変更された LOCALHOST 名で動作します。これは、アプリケーションが実行されるコンピュータがこの値をコンピュータ名として取得するためです。

GetComputerName または GetComputerNameEx コマンドを実行すると、コンピュータは LOCALHOST と返します。Windows システムの標準の操作で、アプリケーションが実行されているコンピュータの実際の名前を返すために GetComputerName および GetComputerNameEx コマンドが必要な場合、マシンの名前を LOCALHOST に変更しないでください。

VirtualComputerName=LOCALHOST

環境変数を含める

LOCALHOST などのリテラル文字列だけでなく、環境変数を指定することもできます。

環境変数を指定すると、返される値は環境変数の値になります。VirtualComputerName パラメータの値が %VCOMPNAME% で、%VCOMPNAME% 環境変数が EnvCompName に設定されている場合、GetComputerName API から EnvCompName が返されます。

VirtualComputerName=%VCOMPNAME%