2008年9月10日水曜日

ClickOnceサンプルを作る。

ClickOnceについて言葉は知っていたものの実際にやったことがなかったのでやってみることに。

手順
1.Windowsアプリケーションを作成する。
2.プロジェクトの発行を行う。
3.ローカルPCにWebサイトからインストールする。
4.実行できることを確認する。
5.Windowsアプリケーションを更新する。
6.プロジェクトを再度発行する。
7.ローカルPCのWindowsアプリケーションを起動して更新が確認されるかを確認する。
8.ローカルPCのWindowsアプリケーションが更新されたか確認する。

こんなものでしょうか。

↓すぐに洗礼を受けるw。

2番目の「プロジェクトの発行を行う」ですぐつまづく。
プロジェクトの発行を行うとIISコンポーネントが足りないというメッセージ。足りないものは以下の2つ。

・IISメタベースおよびIIS6構成互換性
・Windows認証

VISTAのそれっぽい所(Windows機能の有効無効オプション?)からメッセージ通り追加インストールをする。



あとはVS2008を右クリックして「管理者として実行」から起動して再度トライ。

すると発行できました。


↓でもやっぱり挫折w
3番目の「ローカルPCにWebサイトからインストールする。」でつまづく。







詳細を見てみるとエラーの概要にこのような記述

エラーの概要 以下はエラーの概要です。これらのエラーの詳細はログに一覧表示されています。 * http://localhost/ClickOnceSample.application のライセンス認証により例外が発生しました。 次の失敗メッセージが検出されました: + http://xxxxxxxx/ClickOnceTest/ClickOnceSample.application のダウンロードに失敗しました。 + リモート サーバーがエラーを返しました: (404) 見つかりません

あ、発行先間違えてるなと気づく。
「ClickOnceTest」が必要なさそう。
もう一度発行。URLの指定を変える。


と。。。
できましたー。あ、まだか。。

インストールするとアプリケーションが起動されました。そして、アプリケーションを閉じても発行者のフォルダがスタートメニューの中にできてアプリケーションが起動できることを確認。

今回はデフォルトのまま発行したのでオフラインでも起動できるようになっています。オンラインでないと起動できないように発行時に指定するとスタートメニューには登録されないとありました。


ちなみにサンプルアプリケーションはこんな感じです。



クリックすると・・・・。


クリック詐欺ww

もちろん表面だけで、内部的にはbutton1のクリックイベントでlabel1に文字列を表示するだけです。


プロジェクトの発行で自動的に作成されるpublish.htmは便利ですが、インストール時に対話型のインストールはできないとのこと。現時点では特に問題なし。

-----------5番目以降-----------

Windowsアプリケーションを更新する。button2を追加しました。

再度アプリケーションを発行する。
発行時にできるpublish.htmを表示して「インストール」をクリックすると勝手にUpdateされました。
おぉ便利。

元に戻したい(ロールバックしたい)時はプログラムの機能から対象アプリケーションの「変更とアンインストール」で「アプリケーションを以前の状態に復元します。」にチェックをしてOKでできる。

スタートメニューから実行すると確かに前のバージョンが表示される。
既に起動していたボタンが追加されたバージョンと並べてみる。


うむうむ。



ちなみにbutton2をクリックするとnotopad.exeが起動して不安をあおる効果があります。
でも、まず「インストール」を押すはずがないか(笑)

--------------完了--------------

気になったメモ

1.インストール用のhtmの発行先。

 今はLocalhost直下にあるが、これは嫌だ。

2.トランザクションについて。
 DBにデータを登録するアプリケーションを作ろうと思うとWebサービスなどを経由してデータ登録をするが、Webメソッドごとのトランザクションになるんだろうなぁ。WCFを勉強するのでこの辺を調べてみよう。

3.オフライン時のデータの整合性

 オフライン時のデータキャッシュはどうすればいいのか全く無知。あとはオフライン時に更新されたデータは接続時に自動更新しにいくなど。さらに、データが競合する可能性があるがどう処理するかなどオフラインに対する知識が無防備。Windowsアプリを作ってこなかった”つけ”でしょうか。






参考にしたWebサイト

ClickOnce と Windows インストーラの使い分け
http://www.microsoft.com/japan/msdn/net/general/clickoncevsinstaller.aspx
ClickOnceの真実
http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce01/clickonce01_01.html
ClickOnceのファイル構成を理解する
http://vsug.jp/tabid/121/Default.aspx

まだ、全部読めていませんが。これを読めば気になったメモは解決するかなぁ。

0 件のコメント: