連載

ASP.NET 2.0が変えるWebアプリ開発の世界

第9回 ASP.NET 2.0が変えるWebアプリ開発の世界

山田 祥寛
2005/04/27
Page1 Page2 Page3

●強化版ノータッチ・デプロイメント「ClickOnce」

 以上紹介してきたように、ASP.NET 2.0を利用することで、高機能なWebアプリケーションの構築がさらに簡単になる。しかし、いかにASP.NETが進化しようとも、Webというインフラストラクチャ故の限界があるのも確かだ。

 運用や展開といった局面で有利なWebアプリケーションも、ユーザー・インターフェイスや操作性といった点では、デスクトップ・アプリケーションには遠く及ばない。特に入力項目が多数にわたる業務アプリケーションなどでは、クライアント/サーバ型アプリケーションからWebアプリケーションに移行することで、かえって業務生産性が低下してしまうケースもある。

 そこで登場したのが、.NET Framework 1.xの「ノータッチ・デプロイメント」であった(詳細については、「ノータッチ・デプロイメント――Web+Windowsという新たな可能性――」を参照していただきたい)。ノータッチ・デプロイメントとは、ブラウザ上から直接にWindowsアプリケーションを起動できる機能のことをいう。ノータッチ・デプロイメントを利用することで、Windowアプリケーションのリッチなインターフェイスはそのままに、Webへと移行できるというわけだ。

 そして、このノータッチ・デプロイメントを大幅に強化したのが、.NET Framework 2.0の「ClickOnce」という機能だ。ASP.NET 2.0の機能ではないが、本連載の締めくくりとして、この機能についても簡単に紹介しておこう。

 ClickOnceによるアプリケーションを配置するのは簡単だ。Visual Studio 2005上でWindowsアプリケーションを作成したら、ソリューション・エクスプローラのプロジェクト名を右クリックし、表示されたコンテキスト・メニューから[発行]を選択する。

 以下のような[発行ウィザード]ダイアログが起動するので、発行先(Windowsアプリケーションを配置する場所)のURL(パス)やオフラインで使用可能かなどを指定する。オフライン・サポートは、.NET Framework 1.xのノータッチ・デプロイメントでは利用できなかった機能だ。

ClickOnceの[発行ウィザード]ダイアログ
ただし、Windows OSの会社名が設定されていない場合、アプリケーションを発行しようとすると、エラーが発生するので注意。その場合、レジストリ・エディタから「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization」を設定したうえで、再度、プロジェクトを作り直す必要がある。

 発行時の細かなオプションを設定したい場合には、ソリューション・エクスプローラのプロジェクト名を右クリックし、表示されたコンテキスト・メニューから[プロパティ]を選択すればよい。これにより次のようなプロジェクトのプロパティ設定のページが表示される。

ClickOnceアプリケーションのプロパティ([発行]ページと[セキュリティ]ページ)
ClickOnceアプリケーション実行時のセキュリティ設定や、必須コンポーネント、更新オプションなどの設定を行うことができる。

 ClickOnceアプリケーションの発行を実行したら、さっそく、クライアントからダウンロード・ページにアクセスしてみよう。ClickOnceは自動的にダウンロード・ページ(publish.htm)を作成しているはずだ。

ClickOnceアプリケーションのダウンロード・ページ
オプションで必須コンポーネントの設定がされている場合には、ダウンロード・ページに必須コンポーネントをダウンロードするためのリンクが表示される。

 ダウンロード・ページ上のリンクをクリックすると、次のような警告ダイアログが表示された後、ClickOnceアプリケーションのインストールが開始される。

アプリケーションのインストール実行時に表示される[セキュリティの警告]ダイアログ
ClickOnceでは、アプリケーションをインストールしようとすると、このようなセキュリティ警告が表示されるようになっている。

 ちなみに、1度インストールしたClickOnceアプリケーションは(オフラインを有効にした場合)、次からはWindowsの[スタート]メニューから起動することができるようになる。

 サーバ側でアプリケーションが更新された場合には、(デフォルトの設定で)サーバに対して更新チェックが行われて更新確認のダイアログが表示されるので、エンドユーザーは常に最新のバージョンを利用できるというわけだ。

更新確認のダイアログ
サーバ側でアプリケーションを更新すると、クライアント側でアプリケーションを起動するときに、このような更新確認のダイアログが表示される。

 いったん、インストールしたClickOnceアプリケーションは、[プログラムの追加と削除]からアンインストールしたり、(更新した場合には)前のバージョンに戻したりすることも可能だ。

[プログラムの追加と削除]からClickOnceアプリケーションを保守
アプリケーションをアンインストールしたり、バージョン・アップしたアプリケーションを以前のバージョンに戻すこともできる。

 また、.NET Framework 2.0ではSystem.Deployment名前空間が用意されており、この名前空間のクラスを活用することでアプリケーションから更新を制御することもできる。

 Webアプリケーションを構築する場合、ASP.NETで何から何まで作り込むという選択肢ももちろんある。しかし、Webページの操作性に不満を感じたら、ClickOnceのようなリッチ・クライアントに目を向けてみるのもよいだろう。きっと新たな問題解決の可能性が見つかるはずだ。

 以上、全9回にわたってASP.NET 2.0の新機能について紹介してきた。1つ1つを見れば、必ずしもASP.NET 1.xでも実現できなかったことではない。しかし、自分で実装するとなれば、何かと煩わしい処理が、ASP.NET 2.0では見事にプログラムレスで(あるいは、劇的に少なくなったコード量で)実現できるようになる。

 環境の許す方は、ぜひとも現在公開されているベータ版を試してみていただきたい。一度、ASP.NET 2.0の新機能に触れてしまったが最後、もうASP.NET 1.xには戻れなくなるはずだ(少なくとも筆者はそうであった)。2005年後半の正式リリースが、いまから待ち遠しい。

 なお、本連載で紹介した内容は、.NET Framework 2.0 ベータ1で検証した内容であり、現在すでに登場しているベータ2、正式版前にリリースされるであろうRelease Candidate、正式リリースなどでは変更になる可能性もある。本連載を締めくくるに当たって、あらためてその点は注意していただきたい。End of Article

 

 INDEX
  ASP.NET 2.0が変えるWebアプリ開発の世界
  第9回 ASP.NET 2.0が変えるWebアプリ開発の世界
    1.ページ間ポストバックとClientClickイベント
    2.IPageHeaderオブジェクトと国際化対応の機能
  3.強化版ノータッチ・デプロイメント「ClickOnce」
 
インデックス・ページヘ  「ASP.NET 2.0が変えるWebアプリ開発の世界」


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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間