2007年 07月 24日
ZENworks アプリケーション配布をチューニングする。
-余分なレジストリの削除
アプリケーションの配布オプションタブの中に「レジストリ」タブがあります。
ここには SnapShot で取得したレジストリの変更箇所がすべて収まっています。つまり、SnapShot取得中に変化したレジストリの変化すべてですから、エクスプローラのウィンドウの変化だとか余分なレジストリデータがあります。アプリケーションにとって必要なレジストリの変化は全て削除してしまいましょう。
というより、ここにコツがあるのですが、snapshotをとるときにあわててセットアッププログラムを探しちゃいけないということ。セットアップのショートカットをあらかじめデスクトップに用意しておくとか、SnapShotを起動する前にセットアッププログラムを立ち上げておいてもいいかもしれない。
モノによっては再起動をする場合もあるから注意は必要です。
このレジストリの変更機能を利用して、逆にレジストリだけを配布したり削除するアプリケーションオブジェクトも作ることができます。
-強制配布
通常、アプリケーションを割り当てると、 Nal ラウンチャの中にアイコンがあり、これをクリックすることでインストールされるようになります。割り当ての左端のチェックボックスは「強制実行」です。このチェックを入れるとラウンチャが起動すると自動的にインストールされるようになります。
実際の運用では、アプリケーションのアップデート、パッチの配布、レジストリの修正などですから、ほとんどのケースでは「強制実行」チェックを入れることが多いでしょう。テスト段階ではチェックしないほうがよいでしょう。
応用すれば、たとえば学校の授業で強制的に授業で使うスプレッドシートのネタを開かせたり、組織で必要な「■重要-必ずお守りください■.txt」などをログイン直後にメモ帳で開かせるなどというテクニックもあるでしょう。
-ログの取得
配布の結果をログとして記録することができます。
たいていログはサーバ上のディレクトリを指定することになりますから、ディレクトリにはユーザの書き込みの権限が必要です。
-配布のソースパス
初めてアプリケーション配布にチャレンジして失敗して頭を悩ますのはここです。
まず、SnapShotを取得して書き込んだ先のディレクトリが Source_Path として指定されています。実際には SnapShot を D: に取得したとか、ITのチームが使っているテスト用サーバを指定しているとか、あと、一番間違え易いケースが、SnapShotの元ディレクトリにユーザのアクセス権限がないというケースでしょう。
この部分は一番最初にチェックするところです。
-ショートカット
アプリケーションによっては、余計な自社のウェブサイトに誘導する URL や Uninstall のショートカットを丁寧に作ってくれるものがあります。
こういった余分なショートカットは削除してしまいましょう。また、アプリケーションをアップデートするような場合、古いバージョンのショートカットを削除することもできます。標準機として配ったPCに余計なショートカットがある場合、ショートカットを削除するだけのアプリケーションも作ることができます。
-ファイルの配布
SnapShot は aaaa.exe というファイル名を nnn.fil という名前に加工して格納します。
もし hosts だけを変更したいというアプリケーションを作りたい場合、 hostsを 1.fil に変えて配布すればよいことになります。
またアプリケーションによっては ini ファイルによって初期設定を行う場合がありますので、 ini ファイルが snapshot のどのファイルに相当するか確認して直接 ini ファイルを配布するというテクニックも使えます。
- AXT ファイルの加工
これらの元となるネタは全て AOT/AXT ファイルに記述されていることです。もし、アプリケーションを実装する段階になり、全てのアプリケーションオブジェクトをこのように加工して実装するのは非常に面倒なことです。
小規模な組織であれば、アプリケーションの実装は一度で済みますが、拠点がたくさんあり、実装を複数のサーバに行いたい場合、もっと簡単な方法はないのでしょうか。
ということで実際に取得して作った SnapShot のアプリケーションには実装手順 AOT/AXT ファイルがあります。直に AXT ファイルを修正して、余分なレジストリを削除したり、インストール先を標準のインストール先から代えたり、ショートカットの作成を制御することができます。
多くの外資系企業ではそのような SnapShot を事前に作成して、世界の各拠点のITメンバーに配布して運用しています。
非番のエンジニア