2015年5月29日金曜日

既存のThinAppパッケージをWorkspace Portal用に変換する方法

Workspace Portalを使ってThinAppパッケージを配信する場合、既存のパッケージをそのまま流用したいというのは当前だと思いますが、そのままWorkspace Portal用のThinAppリポジトリに格納しただけでは、パッケージアプリケーションのプッシュに失敗してしまいます。

実は、Workspace PortalではThinAppパッケージをカタログ情報として独自のバージョン情報やGUIDで管理しています。

そのため、これらの情報の元となる"AppID"が必要となるのですが、ThinAppパッケージに"AppID"を登録する方法は3つあります。

1. [relink]コマンドを使用する
2. "Package.ini"にWorkspace パラメータを追加してから再ビルドする
3. Setup Capture内でWorkspace Portal設定を有効にして再パッケージングする

どの方法で"AppID"を登録するのかは、操作可能なパッケージの状態によって変わります。

パッケージ(exeファイル)しか残っていない場合・・・・・・・・・・・・・・・・[1]
プロジェクトフォルダが残っている場合・・・・・・・・・・・・・・・・・・・・・・・[2]
新規作成やバージョンアップなど再パッケージングを行う場合 ・・・[3]

それぞれのケースごとに具体的な手順を紹介しますので、ご興味のある方は続きをどうぞ。


1. [relink]コマンドを使用する

[relink]コマンドは、ThinAppインストールフォルダ内にあります。

使い方も簡単で、[relink]コマンドにオプション"-h"を指定して、引数として既存パッケージの格納先を指定すればOKです。

[relink]コマンドは、プライマリデータコンテナ(datファイル)に対しても実施する必要があるので、プライマリデータコンテナはパッケージと同じフォルダに格納した状態で実行して下さい。

パッケージ(exeファイル)にだけ[relink]コマンドを実行しても、パッケージアプリケーションのプッシュに失敗します。

古いパッケージは拡張子が".bak"に変換され、新たに"AppID"が追加されたパッケージが作成されているので、ThinAppリポジトリにコピーします。

2. "Package.ini"にWorkspace パラメータを追加してから再ビルドする

"Package.ini"内に以下の記述を追加して、再ビルド(build.batを実行)します。
;-------- VMware Workspace Portal Parameters ----------
AppID=genid
NotificationDLLs=HorizonPlugin.dll

再ビルドするとbinフォルダに"AppID"が追加されたパッケージが作成されるので、ThinAppリポジトリにコピーします。

3. Setup Capture内でWorkspace Portal設定を有効にして再パッケージングする

Setup Captureの途中で以下のような画面が表示されるので、"Manage with VMware Workspace"にチェックを入れるだけでOKです。

下側のチェックはすでに"AppID"が登録された既存のパッケージ(exeファイル)を元にWorkspace Portal上でのバージョンを更新する場合に使用します。
前バージョンのパッケージが格納されたパスを指定してSetup Captureを進めます。

ビルドが完了するとbinフォルダ配下に"AppID"が追加されたパッケージが作成されているので、ThinAppリポジトリにコピーします。

"AppID"がきちんと登録されていれば、パッケージアプリケーションのプッシュは成功します。

余談ですが、"AppID"を登録したパッケージは単体では起動出来なくなりますのでご注意を。
# Workspace Portalによって配信する必要があります。

そのため、動作検証時は"AppID"を登録せずにThinApp単体で行い、正常動作が確認出来たタイミングで上記の手順(1もしくは2がオススメ)にて"AppID"の登録を行い、Workspace Portalで配信する、という運用を行うのがよいと思います。
# 「3」をオススメしない理由は、再パッケージングを行うと動作検証を行ったパッケージとは完全には同じものではありませんので、動作に問題が出る可能性があるためです。

0 件のコメント:

コメントを投稿