codeseek
TOP
サンプル解説
プログラミング考
codeseekBlog 
勉強会
リンク
プロフィール
お読みください
掲示板(SPAMのため閉鎖)







累計:
本日
昨日



Microsoft .NET 関連サンプルの解説

9、.NET Application Updater Componentの使い方

.NET Application Updater Componentは、プログラムの配布のためにつかいます。
ノータッチデプロイメントでは機能不足、しかしClickOnceはまだ使えない。
この問題を解決するための手段として、Updater Componentを使うことができます。

1度だけクライアントにインストールして、アップデートはWebサーバ経由で行う。
これをTechEd等のカンファレンスでは「ロータッチデプロイ」という言葉で説明していました。


.NET Application Updater Componentは、Microsoft Corporationが運営するwindowsforms.netで公開されています。実行ファイル・ソース・ドキュメントのダウンロードはこちらからできます。
.NET Application Updater Component

ドキュメントは、.NET Application Updater.docです。内容は上記のページと同じ。
どちらにせよ英語...

.NETの世界でプログラムを自動更新させる仕組みにはいろいろと実装例があるのですが、.NET Application Updater Componentの特徴はコントロールをWindowsFormsに置いてプロパティを設定し、ビルドの終わった実行ファイルをコピーする作業+ちょっとのおまじないで済むという手軽さにあります。


実際に使ってみました。そのときのメモを公開します。

1、ダウンロードしたdotnetupdater.zipを展開します。

2、VisualStudioでプロジェクト名「SampleApp」のWindowsアプリケーションを作成します。言語はC#、VB.NETのどちらでもかまいません。

3、Form1のBackColorを適当なものに変更します。

4、参照設定に
(展開したフォルダ)\redist\Samples\SampleApp\SimpleForm\bin\Debug\SimpleForm.dll
を追加します。

5、フォームにボタンを追加して、以下のコードをClickイベントに追加します。

C#
SimpleForm.Form1 oForm1 = new SimpleForm.Form1();
oForm1.Show();
VB.NET
Dim oForm1 as New SimpleForm.Form1
oForm1.Show()

6、アクティブソリューション構成を「Release」に変更し、実行してみます。ボタンを押してSimpleFormのForm1が表示されることを確認します。

7、ツールボックスを右クリックし、アイテムの追加と削除で
(展開したフォルダ)\redist\AppUpdater\bin\Release\AppUpdater.dll
を追加します。

8、追加されたAppUpdaterコントロールをForm1にドロップします。

9、AppUpdater1コントロールのプロパティを、
AutoFileLoadをTrueに
ChangeDetectionModeをServerManifestCheckに
ModifiersをPrivateに
ShowDefaultUIをTrueに
UpdateUrlをhttp://localhost/SampleApp_ServerSetup/UpdateVersion.xmlに
変更します。

10、AssemblyInfo.vbまたはAssemblyInfo.csファイルを開き、
<Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")>
に変更します。

11、ビルドします。

12、(展開したフォルダ)\redist\Samples\SampleApp\SampleApp_ClientSetupをC:\Program Files\SampleApp_ClientSetupになるようにコピーします。

13、ビルドして出来たAppupdater.dll、SimpleForm.dll、SampleApp.exeを
C:\Program Files\SampleApp_ClientSetup\1.0.0.0にコピーします。

14、(展開したフォルダ)\redist\Samples\SampleApp\SampleApp_ServerSetupを
C:\Inetpub\wwwroot\SampleApp_ServerSetupになるようにコピーします

15、ビルドして出来たAppupdater.dll、SimpleForm.dll、SampleApp.exeを
C:\Inetpub\wwwroot\SampleApp_ServerSetup\1.0.0.0にコピーします。

16、IISの管理ツールでSampleApp_ServerSetupフォルダにディレクトリの参照権限を与えます。

17、C:\Program Files\SampleApp_ClientSetup\AppStart.exeを実行して、ビルドしたフォームが表示されることを確認します。

ここまででバージョン1の動作確認ができました。


18、VisualStudioでSampleAppのForm1に対してBackColorを別の色に変更します。

19、AssemblyInfo.vbまたはAssemblyInfo.csファイルを開き、
<Assembly: AssemblyVersion("1.0.0.0")>

<Assembly: AssemblyVersion("2.0.0.0")>
に変更します。

20、ビルドします。

21、ビルドして出来たAppupdater.dll、SimpleForm.dll、SampleApp.exeを
C:\Inetpub\wwwroot\SampleApp_ServerSetup\2.0.0.0にコピーします。

22、C:\Inetpub\wwwroot\SampleApp_ServerSetup\UpdateVersion.xmlをメモ帳で開き、

  <AvailableVersion>1.0.0.0</AvailableVersion>
  <ApplicationUrl>http://localhost/SampleApp_ServerSetup/1.0.0.0/</ApplicationUrl>
を
  <AvailableVersion>2.0.0.0</AvailableVersion>
  <ApplicationUrl>http://localhost/SampleApp_ServerSetup/2.0.0.0/</ApplicationUrl>
に変更し、保存します。

22、C:\Program Files\SampleApp_ClientSetup\AppStart.exeを実行して、自動アップデートがされ、バージョン2のフォームが表示されることを確認します。


以上です。