2011/11/29

実行中のアプリケーションのアップグレード

ThinAppの便利機能。

--- マニュアルからコピペ ---
ファイル名拡張子を .1、.2 などの数字にして、新バージョンのアプリケーションを既存の配布ディレクトリ にコピーすることができます。この手順では、サンプル アプリケーションとして Firefox を使用します。 
 

ショートカットを更新する必要はありません。

実行中のアプリケーションのアップグレード

1.  Firefox.exe などのアプリケーションの元のバージョンを配布します。

2. アプリケーションを中央共有 \\server\share\Firefox.exe にコピーします。 場所のサンプルは、C:\Program Files\Firefox\Firefox.exe のようになります。

3. 共有実行ファイルの場所 \\
server\share\Firefox.exe をポイントするデスクトップ ショート 
カットまたは [ スタート ] メニュー ショートカットをユーザーのデスクトップに作成します。 
2 人のユーザーが Firefox.exe を起動し、アプリケーションがロックされたと仮定します。

4. 最新バージョンの Firefox.exe を中央共有 \\
server\share\Firefox.1 にコピーします。 
新規ユーザーの場合、ThinApp は Firefox.1 内の新規パッケージ データを使用してアプリケーション を起動します。元のバージョンを使用中のユーザーの場合は、アプリケーションを終了して再起動させ た後に新バージョンを使用することができます。

5. 最近更新された Firefox を配布する必要がある場合は、末尾により大きい数字を付けて同じディレクト リに配置します。

6. バージョン 2.0 の Firefox.exe を中央共有 \\
server\share\Firefox.2 にコピーします。

Firefox.1 はロック解除してから削除することができます。ただし、ユーザーのショートカットは現在もそ の場所をポイントしているため、Firefox.exe はそのまま置いておく必要があります。ThinApp では、常に 最大のバージョン番号のファイル名が使用されます。以前のバージョンにロールバックする必要が生じ、最 新バージョンはロックされたままの場合は、以前のバージョンを最大のバージョン番号にしてコピーします。 

---  

なんだか小難しく感じるかもしれないけど、実際やってみれば単純なことがわかるYO。
これ、試すのはファイルサーバ使わなくてもできるんだ。
仕組みを理解するために、どこかのローカルフォルダを使ってみればよろし。


仕組みを要約するとこんな感じ。

たとえば、
test.exe(とある仮想アプリの Ver. 1としよう)

test.1(とある仮想アプリの Ver. 2としよう。で、Ver.2のtest.exeをファイル名変更でtest.1とかにしておく
を、同じフォルダに置いておくと、test.exeを実行したときに、test.exeが自動的に自分が置かれているフォルダ配下を参照して、同じファイル名で拡張子違いのファイルを探して、最大バージョンのものを起動するっつーこと。

.datファイルを使う場合でも、やり方は同じ。
.dat、つまりprimary data containerは、仮想アプリ生成時にファイル名を指定できるので、この生成時点でファイル名を変更しておくだけ。.datファイル側は、番号とか気にしなくて大丈夫。この仕組みは、あくまでも、.exe側でハンドリングされるみたい。