連載
Enterprise Library概説

UpdaterABを使った高度な自動更新機能を実装する

アバナード株式会社 市川 龍太(patterns & practices Champion
2006/01/11
Page1 Page2 Page3 Page4

Manifestツールでマニフェスト・ファイルを設定する

 次にManifestツールを使って、更新時の振る舞いを定義するマニフェスト・ファイルを設定するのだが、その前に以下のファイルとフォルダを作成しておく。

  • ダウンロード対象ファイル: Updater.txt
      ……UABによってダウンロードされるファイル。

  • 更新元フォルダ: C:\MyApp\Updates
      ……Updater.txtが配置されるフォルダで、UABはこのフォルダ内のファイルをダウンロードする。

  • 更新先フォルダ: C:\DestFolder
      ……更新元フォルダからダウンロードされたファイル(Updater.txt)が配置されるフォルダ。このフォルダへのパスは、Configurationコンソールにおける「Updater Application Block」ノードのBasePathプロパティに指定したものと同じにする。

 さらにIIS(インターネット・インフォメーション・サービス)で、更新元フォルダとして設定したUpdatesフォルダを含んでいるフォルダ(今回の場合ではC:\MyApp)を仮想ディレクトリ(エイリアス名はMyApp)として設定しておけば事前準備は終了である。

●[Manifest Properties]タブにおけるプロパティ設定

 それでは実際にManifestツールを起動してマニフェスト・ファイルを設定しよう。以下の画面は、Manifestツールの[Manifest Properties]タブの各プロパティを設定している例である。

 ここではManifestIdを生成する必要がある。ManifestIDとはマニフェスト・ファイルを識別するためのGUID値である。

Manifest Propertiesタブにおけるプロパティ設定
[スタート]メニューの[プログラム]−[Microsoft patterns & practices]−[Updater Application Block v2]−[Manifest Editor Tool]をクリックしてManifestツールを起動し、マニフェスト・ファイルの設定を行う。
  [Generate]ボタンを押下してManifestIdを生成する。
  Descriptionの欄に、マニフェスト・ファイルの概要を記述する。この例では「Hello UpdaterAB」と入力している。

 UABは更新元フォルダに配置されているファイルと更新先フォルダに配置されているファイルの更新日付を比較して更新処理を行うわけではなく、あくまでもマニフェスト・ファイルで設定されている構成内容を基にして更新処理を行う(これは更新先フォルダに配置されているファイルより更新元フォルダに配置されているファイルが古くてもUABはそのままダウンロードを行うことを意味する)。それ故、更新対象ファイルを更新した場合は、ManifestIdを再生成する必要がある。

●[Applicaton Properties]タブにおけるプロパティ設定

 以下の画面は、Manifestツールの[Application Properties]タブの各プロパティの設定例である。

 ここでは自動更新の対象となるファイルなどの設定を行う。

Application Propertiesタブにおけるプロパティ設定
  アプリケーションを識別する任意のID値。これはConfigurationコンソールでUpdater Application BlockノードのApplicationIdプロパティに指定したのと同じものにする。本稿の例では「12345」である。
  更新先フォルダへのパス。本稿の例では「C:\DestFolder」。
  更新処理を実行するアプリケーションの実行ファイル名。本稿の例では「UpdaterAB.exe」。
  更新ファイルが配置されているフォルダへのURI。これはIIS上に設定した仮想フォルダのURIで、本稿の例では「http://localhost/MyApp/Updates」。
  更新ファイルが配置されているフォルダへのパス。本稿の例では「C:\MyApp\Updates」。このとき必ず右の[Browse]ボタンを使ってフォルダ・パスを指定する必要がある。
  ダウンロードされるファイル一覧(チェックが入ったファイルがダウンロード対象になる)。ファイルは右の[Add]ボタンにより追加できる(逆に削除するには[Remove]ボタンを使う)。本稿の例では「Updater.txt」を追加し、チェックボックスにチェックを入れる。

 以上の設定が完了したら、最後に下にある[Save]ボタンをクリックしてマニフェスト・ファイルを保存する。本稿では、ファイル名を「SampleManifest.xml」に、保存先を「C:\MyApp\」にした。保存し終わったらManifestツールを閉じてもよいが、本稿では以降の説明で再度利用することになるので終了せずにそのまま起動したままにしておく。

 これでUABを使う準備が整ったので、続いては実際の更新処理を実装し、それを実行してみよう。


 INDEX
  連載:Enterprise Library概説
  UpdaterABを使った高度な自動更新機能を実装する
    1.ConfigurationコンソールでUABの構成を設定する
  2.Manifestツールでマニフェスト・ファイルを設定する
    3.更新処理とActivation Processを実行する
    4.カスタムDownloaderを作成する
 
インデックス・ページヘ  「Enterprise Library概説」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH