連載
|
|
前回では、Exception Handling Application Blockを使った例外管理機能について解説した。
今回は自動更新処理用のコンポーネントであるUpdater Application Block 2.0(以下UAB)について解説するわけだが、UABの概要については「.NETアプリケーション自動更新技術の比較」で、ほかの自動更新技術との比較を交えて解説しているため、本稿では主にUABの利用手順やUABならではの機能について解説していく。
UABの特徴
.NET Framework 2.0からはClickOnceと呼ばれる自動更新技術が標準で用意されているため、Windowsアプリケーションの配布に関する問題が随分と緩和されることになる。しかもClickOnceはVisual Studio 2005に統合されているため、ウィザードを使った対話形式で簡単に設定を行えたりと導入も簡単で、機能も豊富にそろっており、一見すると.NET Framework 2.0時代における自動更新処理はClickOnceで必要十分のように思われている方も多いと思う。
そんな中にあってあえてUABを使うメリットには何があるのだろうか? まさにこれこそが本稿で解説する主要テーマであるのだが、主なところでは以下の3つが挙げられるだろう(BITSやActivation Processについては後述する)。
- BITSを使ったダウンロード機能
- Activation Processの実行
- 自由な拡張が可能
本稿ではこれらUABならではの機能について順に解説していくわけだが、まずはUABの利用手順について解説していくとしよう。
ConfigurationコンソールでUABの構成を設定する
UABをアプリケーションで利用するためには、「The Enterprise Library Configuration Console」(以下Configurationコンソール)でのUABの構成管理設定のほかに、「Updater Manifest Tool」(以下Manifestツール)を使ってUABで利用するマニフェスト・ファイル(更新処理についての振る舞いを定義するファイル)を設定する必要がある。
そこでまずはConfigurationコンソールを使った構成管理設定について解説していくのだが、「Enterprise Libraryの基本ツールと導入手順」でも触れているように、UAB 2.0はEntLib 1.0リリース後の2005年3月に従来のUAB 1.0をEntLib対応にする形で別にリリースされたという経緯があるため、Enterprise Libraryとは別のフォルダ構成となっていることにご注意いただきたい。
なおUAB 2.0は次のサイトからダウンロードしてインストールしてほしい。
●ConfigurationコンソールでのUABの追加
今回は「アプリケーション」ノードに「Updater Application Block Configuration」ノードを追加する。
●「Updater Application Block」配下の各ノードにおけるプロパティ設定
以下の表は、上記の各ノードの各プロパティの設定例である。
プロパティ | 設定値 | |
Updater Application Block | ApplicationId | 12345 |
BasePath | C:\ DestFolder | |
ManifestUri | http://localhost/MyApp /SampleManifest.xml |
|
Downloaders | Name | Downloaders |
BITSDownloader | AuthenticationSchema | BG_AUTH_SCHEME_NTLM |
Password | 任意のパスワード | |
TargetServerType | BG_AUTH_TARGET_SERVER | |
UserName | Administrator | |
UAB配下の各ノードのプロパティ設定例 | ||
表中の太字の個所がデフォルト設定から変更した設定値である。 |
UABには、デフォルトでBITS(Background Intelligent Transfer Service:バックグラウンド・インテリジェント転送サービス)を利用するBITSDownloaderのみが提供されている(BITSの詳細については「バックグラウンド インテリジェント転送サービス (BITS) の概念」を参照)。UABはBITSの機能を利用することによって、非同期ダウンロードや、何らかのトラブルによってダウンロードが中断されてしまっても、再度接続したときにリジューム(再開)を行うことが可能になる。
以上の設定により完成したUABの構成ファイルは、「App.config」(アプリケーション構成ファイル)としてアプリケーションの(Visual Studioの)プロジェクト・フォルダに保存する(メニューバーの[File]−[Save Application]を実行)。この際、同時に「UpdaterConfiguration.config」というUAB用の構成ファイルや「SecurityCryptographyConfiguration.config」というCryptography Application Block用の構成ファイルも生成される。構成ファイルを保存し終わったらConfigurationコンソールは終了してよい。
なお本稿では、「UpdaterAB.exe」というWindowsアプリケーションを作成したので、そのプロジェクト・フォルダに保存したが、このプロジェクトをビルドするとアプリケーション構成ファイルは.EXEファイルが生成されるフォルダ内に「UpdaterAB.exe.config」として自動的に配置される。「UpdaterConfiguration.config」と「SecurityCryptographyConfiguration.config」は手動でこのフォルダに配置する必要がある。
INDEX | ||
連載:Enterprise Library概説 | ||
UpdaterABを使った高度な自動更新機能を実装する | ||
1.ConfigurationコンソールでUABの構成を設定する | ||
2.Manifestツールでマニフェスト・ファイルを設定する | ||
3.更新処理とActivation Processを実行する | ||
4.カスタムDownloaderを作成する | ||
「Enterprise Library概説」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -