VirtualComputerName パラメータは、コンピュータ名を変更するかどうかを決定します。コンピュータ名の変更により、キャプチャ プロセスと展開プロセスの名前の競合を避けられます。
アプリケーションは、自身がインストールされているコンピュータの名前を使用したり、データベースに接続し、接続文字列にそのコンピュータ名を使用したりすることができます。キャプチャ プロセスは展開プロセスと異なるため、コンピュータ名を必要とするキャプチャされたアプリケーションでは、コンピュータ名を仮想パッケージに追加して、どのマシンでもアプリケーションを実行できるようにする必要があります。
ThinApp では、VirtualComputerName パラメータの初期設定がコメント アウトされています。このパラメータは、GetComputerName と GetComputerNameEx 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%