- PR -

【ClickOnce 運用上の疑問点】「オフラインでのみ利用する」の意味することは?

投稿者投稿内容
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-06-25 09:04
WindowsXP、VB2005EE Access2003 でWindowsアプリケーションを開発中です。
ClickOnce発行ウィザードの3ページ目にあります[アプリケーションはオフラインでも利用できますか?]
の設定についてお伺いいたします。
設定Aの[いいえ、このアプリケーションはオフラインでのみ利用できます] を選択した場合、
「基本的にはWebページ上のリンクをクリックしてアプリケーションを起動させ、常にオンラインでしか
実行できない」との説明ですが、次のような疑問を感じています。
1.使用上、ASP.netのWebApplicationとどのような差があるのか。
2.OnLine ノミのWindowsApplicationは、クライアントPCのメモリーをどの程度借りているのか。
3.一旦ダウンロードしてOfflineでも使用可能なWindowsApplicationとの違いは何か。

特に2.に関して次の実働サンプル(AnalogClock)をお借りして調べてみました。
http://uchukamen.com/ClickOnce/AnalogClock/publish.htm
(サンプルの説明サイト:http://uchukamen.com/CS2005/AnalogClock/)
実行してからC:\Documents and Settings\<ユーザー名>\Apps\2.0 の配下を見ますと
anal..tion_8b916435b264edba_0001.0000_61e90db66e9d93ad フォルダーがあり、中身は
「AnalogClock.cdf-ms」「AnalogClock.exe」「AnalogClock.exe.cdf-ms」「AnalogClock.exe.manifest」
「AnalogClock.manifest」が存在し、ファイル構成は「オンライン/オフラインでの使用」モードと同じ内容でした。
ちなみにPCをオフラインにしてから「AnalogClock.exe」をクリックすると起動してくれました。
またこれらのファイルはメモリの開放し忘れ等で間違えて残ってしまったのではと削除してから
Webページ上のリンクをクリックすると今度はエラーが表示されて起動しません。(エラー内容メモ忘れ)

オンライン/オフライン使用モードと違ってSetupは行われていないので[スタート]メニューにショートカット
やコントロール・パネルの[プログラムの追加と削除]がないだけで、実際にはオフラインでも実行できました。
一体、「オンラインでのみ利用」の設定利点は何なのでしょうか。よろしくご教授願います。
修正:(エラー内容メモ忘れ)の追記

[ メッセージ編集済み 編集者: One.net 編集日時 2008-06-25 09:34 ]
修正:一体、「オフラインでのみ利用」→ 一体、「オンラインでのみ利用」

[ メッセージ編集済み 編集者: One.net 編集日時 2008-06-25 10:27 ]

[ メッセージ編集済み 編集者: One.net 編集日時 2008-12-24 14:10 ]
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-06-25 10:00
引用:

One.netさんの書き込み (2008-06-25 09:04) より:

設定Aの[いいえ、このアプリケーションはオフラインでのみ利用できます]

一体、「オフラインでのみ利用」の設定利点は何なのでしょうか。


これだと意味が通じないのですが、「オンラインでのみ利用」の間違いであってますか?

さて本題ですが、「オンライン/オフライン」の指すところを勘違いされているような気がしますので、このへんの記事を読まれることをお勧めします。
http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce03/clickonce03_01.html

# そういえば、この記事も同じような誤植がある…
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-06-25 10:38
rainさん、早速の回答ありがとうございます。また文章間違いのご指摘もありがとうございます。
ご指摘の通り「オンラインでのみ利用」でした。(早速元投稿も修正しました)
またここに説明いたしました文章は、ご紹介いただきましたサイトから引用させてもらったもので
ClickOnce機能についての教本とさせていただいています。
もう一度この記事を読んでみます。ありがとうございました。
ぴんふ
ベテラン
会議室デビュー日: 2006/07/13
投稿数: 80
投稿日時: 2008-06-25 12:44
引用:

1.使用上、ASP.netのWebApplicationとどのような差があるのか。


→WindowsアプリケーションはあくまでWindowsアプリケーションです。
Webサービスやソケット通信等で他のマシンとやりとりしない限りはすべてクライアント上で動きます。

引用:

2.OnLine ノミのWindowsApplicationは、クライアントPCのメモリーをどの程度借りているのか。


→「借りている」という表現は適当でないかも。
今回示された例だとサイトからAnalogClock.exeを起動した状態で、タスクマネージャのプロセスタブのプロセス一覧からAnalogClock.exeを探せばメモリ使用量がわかります。
また、その状態でC:\\\\Documents and Settings・・・のAnalogClock.exeを削除しようとすれば起動中なので削除できない旨のエラーが出ます。これで動いているのはクライアントのC:\\\\Documents and Settings・・・のAnalogClock.exeだということが一応分かります。

引用:

3.一旦ダウンロードしてOfflineでも使用可能なWindowsApplicationとの違いは何か。


→OnlineのみといってもOfflineで動かそうと思えば動かせるのはご自身が試した通りで、明示的な形(スタートメニューへのショートカット作成とか)でインストールしていないだけです。別にメモリの開放忘れでファイルが残ったわけではありません。(メモリの開放忘れでファイルが残ること自体が考えにくいですが)PCやソフトウェアに強い関心のあるユーザでなければOnlineのみのClickOnceアプリのファイルがどのフォルダにダウンロードされたかは調べませんよね?
使用頻度が低いとか、更新が頻繁に行われるとかならOnlineのみのほうが便利なのでしょうね。


以下は今回の感想(またしても余計なお世話)。(あくまで私の主観です、違ってたら謝ります)
One.netさんの今までのスレを通して見ると・・・。
普通は目的があって、その目的を果たすために手段があるわけですが、One.netさんの場合それが逆なように見えます。
つまり、ClickOnceという機能(手段)があるから使いたい、でも配布の形態を具体的にどうするか(目的)はまだはっきりしていない、でもClickOnceを試している。と。
よくよく検討したらVectorとかのダウンロードサイトからの配布でも十分だったりしませんかね?
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-06-25 13:54
ぴんふさん、いつもありがとうございます。
Offlineでも使用可能なWindowsApplicationとの違いは[スタート]メニューにショートカット やコントロール・パネルの[プログラムの追加と削除]がないだけで、実際にはオフラインでも起動できるのですね。

しかしこのことはOfflineでも使用可能な設定と比べて利点とはならないと思いますし、「常にオンラインでしか実行できないので、年に数回しか使わないような非常に使用頻度の低いアプリケーション(例えば、従業員向けの福利厚生施設を予約するアプリケーションなど)の場合に最適。」などと「ClickOnceの真実」にも説明がありましたが、使用頻度や更新が度合いを考えても利点とは考えにくいですね。
他に何か利点があるのでしょうか。

引用:

ぴんふさんの書き込み (2008-06-25 12:44) より:
以下は今回の感想(またしても余計なお世話)。(あくまで私の主観です、違ってたら謝ります)One.netさんの今までのスレを通して見ると・・・。
普通は目的があって、その目的を果たすために手段があるわけですが、One.netさんの場合それが逆なように見えます。つまり、ClickOnceという機能(手段)があるから使いたい、でも配布の形態を具体的にどうするか(目的)はまだはっきりしていない、でもClickOnceを試している。と。よくよく検討したらVectorとかのダウンロードサイトからの配布でも十分だったりしませんかね?


ご指摘の通り、目の前に目的があって、その目的を達成するためだけではなく、もっと広い意味でそれぞれのテクノロジーに対する価値や応用範囲、又はビジネスモデルまでをも構想できるようになりたいと考えています。いつも適切なご指摘をいただき感謝しています。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-06-25 14:38
引用:

One.netさんの書き込み (2008-06-25 13:54) より:

しかしこのことはOfflineでも使用可能な設定と比べて利点とはならないと思いますし、「常にオンラインでしか実行できないので、年に数回しか使わないような非常に使用頻度の低いアプリケーション(例えば、従業員向けの福利厚生施設を予約するアプリケーションなど)の場合に最適。」などと「ClickOnceの真実」にも説明がありましたが、使用頻度や更新が度合いを考えても利点とは考えにくいですね。
他に何か利点があるのでしょうか。



記事を読んだ限り、私も常に「オンラインでもオフラインでも使える」でもよさそうに思えました。
# 大は小を兼ねるということで

がんばって考えてみたところ、こんな理由が思い浮かびました。
・「アプリケーションの追加と削除」に出てくるのが邪魔くさい
・常に最新のバージョンで使ってもらわないと困る
・Webサイトのほうに連絡事項を置いて、それを必ず見てもらいたい
One.net
大ベテラン
会議室デビュー日: 2008/03/01
投稿数: 202
投稿日時: 2008-06-25 15:20
rainさん、ありがとうございます。
大変がんばっていただいてもこの程度ですか。・・・・(失礼)
◆「アプリケーションの追加と削除」に出てくるのが邪魔くさい 。
しかしこのことは削除できない欠陥とつながりますね。

◆常に最新のバージョンで使ってもらわないと困る
更新の確認など生ぬるい。ユーザーの承認等不要で確実に更新させるということですか

◆Webサイトのほうに連絡事項を置いて、それを必ず見てもらいたい
これはありそうですね。アプリを起動する前に必ずお知らせを見てもらいたいなどですね
「オンラインでないと起動しない」といっておき、アクセスさせてだましているようですね。

どちらにしても自動更新機能が働くClickOnceでは、私も思いつきません。もしかしてWebApplicationとの
との比較感から斬新な機能として見せるためにということではないでしょうね。
rainさんありがとうございました。
修正:「オンラインでないと起動しない」・・を追加

[ メッセージ編集済み 編集者: One.net 編集日時 2008-06-25 15:46 ]
ぴんふ
ベテラン
会議室デビュー日: 2006/07/13
投稿数: 80
投稿日時: 2008-06-25 16:29
オフラインのみにしたときのデメリットはあるようです。
クライアント―サーバシステムでデータベースをサーバに置いているシステムで、
ClickOnceのロールバック機能を使うとデータの不整合が起きる可能性があるとか・・・
確かにそうかも。
詳しくは下記を参照願います。
http://blogs.wankuma.com/naka/archive/2007/04/24/72791.aspx

One.netさんのシステムはクライアントサーバでないようですが、アクセスのmdbファイルはどこに配置されるんでしょうか?
mdbもインストール対象だとClickOnceのロールバック時にデータが消失するかもしれません。

スキルアップ/キャリアアップ(JOB@IT)