VirtualDrives パラメータは、アプリケーションがランタイム時に使用できる追加のドライブ文字を指定します。
ThinApp は仮想環境を物理キャプチャ環境に似せて構築し、キャプチャ システムで利用可能な物理ドライブを模倣します。ThinApp は VirtualDrives パラメータと、ドライブ上の仮想ファイルを含む %drive_<drive_letter>% などのプロジェクト フォルダにより仮想ドライブを表します。このプロジェクト フォルダは、物理ドライブ上で書き込み操作が行われない場合、パッケージの読み取り専用ファイル システムおよびサンドボックスに置くことができます。
VirtualDrives パラメータは、ランタイム時にドライブをアプリケーションに示します。VirtualDrives パラメータは、ドライブのシリアル番号とタイプなど、ドライブに関するメタデータを表示します。たとえば、ThinApp はキャプチャ システム上の物理 C: ドライブを検出して、そのドライブを FIXED タイプのドライブとしてシリアル番号とともにパラメータに入力します。
VirtualDrives パラメータには、以下の情報が含まれます。
- Drive - A ~ Z までの 1 文字。
- Serial - 8 桁の 16 進数。
- Type - FIXED、REMOVABLE、CD-ROM、または RAMDISK。
FIXED - 固定メディアを示します。
たとえば、ハード ドライブや内蔵フラッシュ ドライブなどです。
REMOVABLE - リムーバブル メディアを示します。
たとえば、ディスク ドライブ、サム ドライブ、またはフラッシュ カード リーダーなどです。
- CD-ROM - CD-ROM ドライブを示します。
- RAMDISK - RAM ディスクを示します。
仮想ドライブは、アプリケーションがドライブ文字へのハードコーディングされたパスを使用し、そのドライブ文字が展開システムで使用できない可能性がある場合に便利です。たとえば、レガシー アプリケーションでは、D: ドライブは CD-ROM で、データ ファイルは D:\media にあることを前提としている場合があります。
仮想ドライブの設定は、物理展開システムのドライブの物理プロパティをオーバーライドします。VirtualDrives パラメータでドライブのタイプを CD-ROM として定義していて、物理ドライブがハード ディスクである場合、展開システムのアプリケーションはそのドライブを CD-ROM ドライブとして検出します。
仮想ドライブの分離モード
仮想ドライブは、仮想環境で実行されているアプリケーションにのみ表示されます。仮想ドライブは、物理 Windows 環境には影響を与えません。仮想ドライブの分離モードは、プロジェクト ディレクトリ内のドライブ フォルダにある ##Attributes.ini ファイルでオーバーライドしない限り、プロジェクトのデフォルトの分離モードから継承されます。
アプリケーションの構築前に %drive_D% フォルダにファイルをコピーすると、このドライブで Full 分離モードを使用できます。アプリケーションは常に仮想ドライブから読み取り、展開システム上の対応する物理 CD-ROM ドライブからの読み取りを試行しません。
アプリケーションの構築前に %drive_D% フォルダにファイルをコピーしない場合は、展開システム上の物理ドライブからの読み取りを行うか、またはそのドライブへの書き込みを行うかに応じて、仮想ドライブ フォルダに Merged または WriteCopy 分離モードを使用できます。
仮想ドライブに Merged 分離モードを割り当てると、そのドライブが物理展開システムに存在しない場合は、書き込み操作がすべて失敗します。Merged 分離モードは ThinApp に物理ドライブへの書き込みを指示するため、ThinApp はサンドボックスに変更を転送しません。アプリケーションが指示どおりに物理ドライブに書き込みできない場合は、書き込み操作が失敗します。
VirtualDrives パラメータは、分離モードの設定をオーバーライドしません。仮想アプリケーションは、分離モードの設定が理由で物理ドライブ上のファイルを検出しない場合があります。
仮想ドライブの分離モードの変更
プロジェクトのデフォルトの分離モードをオーバーライドするには、仮想ドライブの分離モードを変更します。
- ThinApp プロジェクトに %Drive_<letter>% ディレクトリを追加します。
そのドライブ文字用の分離モードのエントリを含む ##Attributes.ini ファイルを作成します。
[Isolation] DirectoryIsolationMode=<isolation_mode>
- ##Attributes.ini ファイルを %Drive_<letter>% ディレクトリに置きます。
仮想ドライブへのシリアル番号および FIXED タイプの割り当て
VirtualDrives パラメータでは、1 つの文字列で複数のドライブ文字の情報と、それらのドライブ文字のオプション パラメータを保持できます。このパラメータでは、異なるドライブ文字に割り当てられた情報間はセミコロンで区切り、個々のドライブ文字のパラメータ間はカンマで区切ります。ThinApp はドライブにシリアル番号と FIXED タイプを割り当てます。
[BuildOptions] VirtualDrives= Drive=A, Serial=12345678, Type=REMOVABLE; Drive=B, Serial=9ABCDEF0, Type=FIXED
仮想ドライブへのドライブ文字の割り当て
X、D、Z の仮想ドライブ文字を指定できます。
- ドライブ X は、シリアル番号が ff797828 のリムーバブル ディスクです。
- ドライブ D は、割り当てられたシリアル番号を持つ CD-ROM ドライブです。
- ドライブ Z は、割り当てられたシリアル番号を持つ FIXED ディスクです。
[BuildOptions] VirtualDrives=Drive=X, Serial=ff897828, Type=REMOVABLE; Drive=D, Type=CDROM; Drive=Z