2012年6月27日水曜日

ThinApp で仮想化したアプリのバージョンアップについて

ThinApp で仮想化したアプリのバージョンアップについて
について




ThinAppで仮想化したアプリのバージョンアップと言うと、以下の2つの観点があります。

1.ThinApp自体のバージョンアップ
 例)ThinApp version4.7.0で作成した仮想アプリケーションを
   ThinApp version4.7.1で再パッキング(仮想アプリ化)

2.仮想化されているアプリのバージョンアップ
 例) Office2007を仮想化していて、サービスパックやHotfixを適用する。
   自社開発の業務アプリのモジュール更新や設定の更新


※必ず、作業前に前のバージョンのバックアップを行なってください。
Build.batを実行するとbinフォルダにある仮想化されたEXEは、削除されます。
作業前に仮想マシンのスナップショットの取得を強く推奨します。
転ばぬ先のスナップショットです。

1.ThinApp自体のバージョンアップ
 これは、とても簡単です。
 インストールされている、ThinApp自体を新しいバージョンへと更新します。
 普通にインストールするだけです。
 その後、プロジェクトフォルダにあるBuild.batを実行すると
 binフォルダに新しいバージョンで作成された仮想アプリが作成されます。
 ※再度Captureを行う必要は、ありません。

ver4.7.0-519532を最新バージョンに更新します。
ver4.7.1-677178に更新されました。


2.仮想化されているアプリのバージョンアップ
大きく分けると2パターンあります。
・シンプルな更新
・複雑な更新


まず、考えるポイントとしては、更新する内容をどこまで把握しているか?
です。

自社開発の業務アプリ等の場合は、更新するファイルやDLL・EXE等がわかっていることが
多いと思います。

・シンプルな更新に該当します。


その場合は、プロジェクトフォルダにある、DLLやEXEファイル等を更新(上書き)します。
その後、Build.batを実行すると、新しいモジュールに更新された仮想アプリがbinフォルダに作成されます。
シンプルな更新で、とても簡単です。

例)c:\Program Files\App1\App1.DLLを更新する場合
 プロジェクトフォルダの下にある
 %ProgramFilesDir%\App1\App1.Dllを上書きします。
 Build.batを実行します。

 ※注意)
  DLLやOCXの場合は、レジストリの情報更新が必要になる場合があります。
  レジストリファイルHKEY_LOCALMACHINE.txt等にも変更する値を記述します。
  よくわからない場合は、複雑な更新になります。




・複雑な更新

パッケージソフト系の場合は、更新用のモジュールとしてMSI、MSP、EXE形式のファイルが提供されていることが
殆どだと思います。
Microsoft OfficeやAdobe等が代表例になります。

もう少し具体的に言うと、MSI、MSP、EXEをインストールすると
・何処のFileが書き換わるのか?
・何処のレジストリが書き換わるのか?
・何処の設定ファイルが書き換わるのか?
は、良くわかりませんよね。。。。
更新される物を、よくわからない場合が、「複雑な更新」となります。

結論から言うと「複雑な更新」に該当する場合は、
はじめから、作りなおす事になります。
工程は以下です。

1.クリーンなOS環境を準備
2.ThinApp SetupCaptureをインストール
3.Setup Captureを起動
4.Prescanを実行
5.仮想化したいアプリのインストール
6.サービスパックやHotfix等の更新モジュールのインストール
7.各種アプリの設定
8.Postscanを実行
9.仮想化するアプリの動作設定等をウィザードに従い実行
10.仮想アプリ化 Build.batの実行
11.仮想アプリ化 完了 Binフォルダに仮想化されたアプリが出力される

正直、毎回1から作り直すのは、厳しいというか煩わしいですよね。。。

というわけで、時間を短縮するために、仮想マシンの実行環境のスナップショット機能を
最大限利用します。

VMware WorkstationやvSphere上にクリーンなOS環境を仮想マシンとして、用意することが
ほとんどだと思うので、どのように時短するかというと
以下のような感じです。

1.クリーンなOS環境を準備
2.ThinApp SetupCaptureをインストール
※仮想マシンのスナップショット1

3.Setup Captureを起動
4.Prescanを実行
5.仮想化したいアプリのインストール
※仮想マシンのスナップショット2

6.サービスパックやHotfix等の更新モジュールのインストール
※仮想マシンのスナップショット3

7.各種アプリの設定
※仮想マシンのスナップショット4

8.Postscanを実行
9.仮想化するアプリの動作設定等をウィザードに従い実行
10.仮想アプリ化 Build.batの実行
11.仮想アプリ化 完了 Binフォルダに仮想化されたアプリが出力される
※仮想マシンのスナップショット5

あくまでも一例なので、もっと細かくスナップショットをとってもOKです。

例えば、このあとに更に更新モジュールを適用する場合は、
仮想マシンのスナップショット3」のイメージに戻して
追加の更新モジュールを適用すればOKです。
はじめからやり直すよりは、かなりの時短になると思います。

まとめ
 ThinApp自体の更新はとても簡単です。
 新しいバージョンのSetupCaptureをインストールして、対象のプロジェクトフォルダにある
 Build.batを実行するだけです。

 自社開発系のアプリの場合や、更新するファイル等を把握している場合は
 直接プロジェクトフォルダーにあるファイルを上書きした後にBuild.batを実行するだけ
 
 パッケージソフト等の場合は、はじめからやり直し。は大変なので
 仮想マシンのスナップショットを活用して時短を狙います。
 転ばぬ先のスナップショットですw
 
以上です。