リリースされたばかりの、vSphere 5.5を管理するために必要な
vSphere Client 5.5(インストール版)をThinAppで仮想アプリ化する
手順について、今回は記載したいと思います。
※インストール版のvSphere Client 5.5は、機能的に制限があるので
全ての機能を利用場合は、Webクライアント版の利用をお勧めします。
パッケージング環境:
Windows 7 SP1 x86
.net framework 3.5 SP1がインスールされていること。
(OS標準でインストールされています。)
ThinApp ver4.7.3
vSphere Client (VMware-viclient-all-5.5.0-1281650.exe)
特記事項:
Windows7 環境は、クリーンな環境を利用します。
キャプチャ中は、余計な動作をなるべく阻止する事とパフォーマンスを
高めるために、以下の設定を行っています。
※必須では、ありませんが、純粋にvSphere Clientのインストールによる変更点だけを
キャプチャしたい為。
これらを無効にしなくても、問題なく動作するパッケージは作成できると思います。
・Windows Update 無効化(サービスの設定で停止&無効)
・Windows Defender 無効化(サービスの設定で停止&無効)
・Windows Search 無効化(サービスの設定で停止&無効)
・スクリーンセーバー 無効化
・ネットワーク 無効化 (仮想マシンのNICを切断)
・省電力モード 無効化
動作確認環境:
Windows 7 SP1 x86
.net framework 3.5 SP1がインストールされていること。
(OS標準でインストールされています。)
(OS標準でインストールされています。)
Windows XP SP3 x86
.net framework 3.5 SP1がインストールされていること。
別途事前にインストールしておきます。
仮想化手順:
#1.キャプチャ用のクリーンなWindows 7にvSphere Client 5.5のインストーラを
デスクトップ等に、事前にコピーしておきます。
VMware-viclient-all-5.5.0-1281650.exe
#2.VMware ThinApp Setup Captureを起動します。[Next>]をクリック
#7.このまま状態で本来であれば、キャプチャ作業は、完了ですが、
vSphere Clientは、多くの言語に対応しているので、充実したHELPコンテンツがあります。
そのファイル郡が大量にあるので、キャプチャが中々完了しません。小一時間かかります。
そのため、日本語と英語を残して、それ以外の言語については、削除してしまいます。
HELPファイルだけで、なんとファイル数 15,449個、フォルダ数294個
サイズは、112MBです。
これらの作成にかかったと思われる方々の労力を考えると、申し訳ないのですが。。。
追加で、英語と日本語以外の言語リソースファイル群を削除してしまいます。
この辺りは、好みでお願いします。
#8.最小化しておいた、Setup Captureを元のサイズに戻し、Postscanを押します。
#9.エントリーポイントの設定では、VMware vSphere Client.exeにチェックを付けてNextを押します。
#10.後は、ウィザードに従って、次々と進めていきます。
別途事前にインストールしておきます。
仮想化手順:
#1.キャプチャ用のクリーンなWindows 7にvSphere Client 5.5のインストーラを
デスクトップ等に、事前にコピーしておきます。
VMware-viclient-all-5.5.0-1281650.exe
#2.VMware ThinApp Setup Captureを起動します。[Next>]をクリック
#3.Prescanを行います。
#4.Prescanが完了すると、Install Application画面が表示されるので、最小化しておきます。
#5.VMware-viclient-all-5.5.0-1281650.exeを実行します。日本語を選択してOKを押します。
#6.vSphere Client 5.5 のインストールを行います。
#7.このまま状態で本来であれば、キャプチャ作業は、完了ですが、
vSphere Clientは、多くの言語に対応しているので、充実したHELPコンテンツがあります。
そのファイル郡が大量にあるので、キャプチャが中々完了しません。小一時間かかります。
そのため、日本語と英語を残して、それ以外の言語については、削除してしまいます。
HELPファイルだけで、なんとファイル数 15,449個、フォルダ数294個
サイズは、112MBです。
これらの作成にかかったと思われる方々の労力を考えると、申し訳ないのですが。。。
エクスプローラを起動し、HELPフォルダから「C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Help」
英語と日本語を残し、それ以外の言語については、削除します。
この辺りは、好みでお願いします。
#8.最小化しておいた、Setup Captureを元のサイズに戻し、Postscanを押します。
#9.エントリーポイントの設定では、VMware vSphere Client.exeにチェックを付けてNextを押します。
#10.後は、ウィザードに従って、次々と進めていきます。
※Quality Assurance Statisticsの詳細については、以前の投稿を参照ください。
※仮想アプリを圧縮したいので、[Compress virtual package]にチェックを付けます。
※PCのスペックによりますが、15分程度かかります。
HELP等で全ての言語をそのままにすると、ここで小一時間程かかると思います。
※警告が表示されますが、気にせずこのまま、Nextをクリックします。
USBリダイレクト用のデバイスドライバのインストールが行われているので
ThinAppではUSBリダイレクト機能が利用できない(サポートされていない)ため
警告が表示されます。それ以外の機能は、問題なく利用できるので無視して構いません。
※ここでは、buildせずに Skip the build processにチェックを付けてNextをクリックします。
後で、各種チューニングを行ってからBuild.batを実行し仮想アプリケーションの作成を行います。
※キャプチャされたプロジェクトフォルダのサイズは、だいたい478MBくらいです。
#11.IME関連の問題に対する、チューニングを行います。
詳細は、以前の投稿を参照ください。
「ThinAppで仮想化したアプリのIME問題について(重要)」
プロジェクトフォルダの%AppData%の##Attributes.iniファイルのDirectoryIsolationModeを
Mergedへ変更します。
#12.USBリダイレクトに関するファイルを削除してしまいます。(この手順は必須ではありません。)
#13.USBリダイレクトに関するWindows Serivceの実行を停止してしまいます。(この手順は必須ではありません。)
HKEY_LOCAL_MACHINE.txtを編集します。
isolation_full HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\hcmon
Value=Startの値を2(自動)から4(無効)へ変更します。
isolation_full HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMUSBArbService
Value=Startの値を2(自動)から4(無効)へ変更します。
#14.Package.iniをチューニングします。
Package.iniのパラメータは、以前に投稿したこちらを参照ください。
「ThinApp 4.7 Package.ini パラメーター」
設定項目は、以下になります。
・Disk優先モードで圧縮します。
・不要なファイルをパッケージに含めないようにします。
・IME2007、2010関連の問題を対策します。
・デバッグ用のvCMD.exeとvRegedit.exeをエントリーポイント化します。
Package.iniはこんな感じにします。
[Compression] ;圧縮を有効 CompressionType=Fast [Isolation] DirectoryIsolationMode=Merged [FileList] ;不要なファイルをパッケージに含めないようにします。 ExcludePattern=*.msi,:*.msp,*.log,*.inf,*.cat [BuildOptions] ;Disk優先圧縮を有効にする。 OptimizeFor=Disk ;IME対策 ExternalCOMObjects={FCE4078B-72B5-4122-95E4-45B5E2E88031};{F57CA90F-D309-4056-9616-6670A27BE8A1} ChildProcessEnvironmentExceptions=svchost.exe;DLLHost.exe;msiexec.exe;explorer.exe;ImeBroker.exe ;デバッグ用のvCMD.exeとvRegedit.exeをエントリーポイント化します。 [vCmd.exe] Source=%SystemSystem%\cmd.exe Shortcut=VMware vSphere Client 5.5.exe Disabled=0 [vRegedit.exe] Source=%SystemRoot%\regedit.exe Shortcut=VMware vSphere Client 5.5.exe Disabled=0
#15.Build.batを実行します。
#16.出来上がり。binフォルダに仮想アプリ化されたvSphere Client 5.5が出力されます。
動作確認:
Windows7 SP1 x86環境で動作させた結果
ちゃんと動きました。もちろんインストールされていません。
Windows XP SP3のクリーンな環境で動作させた結果
※必ず、.net Framework 3.5 SP1をインストールしてから実行し下さい。
※.net3.5SP1をインストールしていない環境で動作させると以下のエラーが表示されます。
「Unable to load DLL C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe->mscoree.dll
指定したモジュールが見つかりません。」
mscoree.dllは、.netのランタイムです。
要約すると、.net3.5 SP1がインストールされていないので、モジュールが見つからない。
と言うエラーです。
番外編:
ちょっとしたこだわり。
仮想化したvSphere Clientを起動すると、ディスプレイの右下にLaunchingバーが表示されますが
そこの名称がVpxClientと表示されます。(実際のEXE名が表示されます。)
どうせなら、vSphere Client 5.5と表示したいですよね。
変更方法ですが、Package.iniの設定で名称の変更は、可能です。
StatusbarDisplayName=VMware vSphere Client 5.5
Windows7 SP1 x86環境で動作させた結果
ちゃんと動きました。もちろんインストールされていません。
Windows XP SP3のクリーンな環境で動作させた結果
※必ず、.net Framework 3.5 SP1をインストールしてから実行し下さい。
※.net3.5SP1をインストールしていない環境で動作させると以下のエラーが表示されます。
「Unable to load DLL C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe->mscoree.dll
指定したモジュールが見つかりません。」
mscoree.dllは、.netのランタイムです。
要約すると、.net3.5 SP1がインストールされていないので、モジュールが見つからない。
と言うエラーです。
番外編:
ちょっとしたこだわり。
仮想化したvSphere Clientを起動すると、ディスプレイの右下にLaunchingバーが表示されますが
そこの名称がVpxClientと表示されます。(実際のEXE名が表示されます。)
どうせなら、vSphere Client 5.5と表示したいですよね。
変更方法ですが、Package.iniの設定で名称の変更は、可能です。
StatusbarDisplayName=VMware vSphere Client 5.5
例)
[VMware vSphere Client 5.5.exe]
Source=%ProgramFilesDir%\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe
WorkingDirectory=%ProgramFilesDir%\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\
Icon=%SystemRoot%\Installer\{4CFB0494-2E96-4631-8364-538E2AA91324}\arpIcon.exe
Shortcuts=%Desktop%;%Programs%\VMware
ReadOnlyData=Package.ro.tvr
StatusbarDisplayName=VMware vSphere Client 5.5
英語版のUIを用意してみる。
仮想化でプリセールスしてるSEの一日 さんのネタなのですが、
「VMware vSphere Client を一時的に英語表示に切り替える」
ショートカットでパラメータを付加することも可能なのですが、
せっかくの仮想アプリなので、英語用のエントリーポイントEXEを作成してみます。
-locale en_US
例)
[VMware vSphere Client 5.5 en_US.exe]
Source=%ProgramFilesDir%\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe
WorkingDirectory=%ProgramFilesDir%\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\
Icon=%SystemRoot%\Installer\{4CFB0494-2E96-4631-8364-538E2AA91324}\arpIcon.exe
Shortcuts=%Desktop%;%Programs%\VMware
Shortcut=VMware vSphere Client 5.5.exe
StatusbarDisplayName=VMware vSphere Client 5.5 en_US
CommandLine="%ProgramFilesDir%\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe" -locale en_US