DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ClickOnceを利用してソフトを自動更新させる場合

環境/言語:[xp/vb2005]
分類:[.NET]

2011/08/09(Tue) 05:00:05 編集(投稿者)
2011/08/09(Tue) 01:17:35 編集(投稿者)
2011/08/09(Tue) 00:59:07 編集(投稿者)
2011/08/08(Mon) 19:09:59 編集(投稿者)
2011/08/08(Mon) 18:47:57 編集(投稿者)

以下を参考に、初めてClickOnceに挑戦しているのですが、上手くいかず困っています。

ClickOnceでインストールをCD-ROM、DVD-ROMにした場合で自動更新をしようとした場合、レンタルサーバー利用の場合は、FrontPage Server Extensions対応のサーバーが必要ですか?

FrontPage Server Extensionsはサポート期間も切れていて問題ないのでしょうか?


10 行でズバリ!! ClickOnce (VB)
http://code.msdn.microsoft.com/10-ClickOnce-VB-a1e199bb/



CD-ROMなどでソフトを配布した場合、プログラムの自動更新(アップデート)の機能をつけたい場合はどうしたらよいでしょうか?


サーバーにバージョンの記入してあるTXTなどを置き、それをWebClient.DownloadFileでダウンロードさせ、自身のブログラムのバージョンと比較させ。

バージョンが低かったら、自分の起動プログラムのフォルダに最新のブログラムをダウンロードさせ上書きする。

でもそれだと起動中の本体のプログラムは上書きできないですよね?


みなさん、どうしているのでしょうか・・・


-追記-

いろいろ試して、ファイルのサーバー側の更新日時、パソコン側の作成日時を比較して、サーバー側が新しかったら差し替えするという方法でなんとか出来そうです。

今は、起動中の実行ファイルの差し替えで詰まっています。
> ClickOnceでインストールをCD-ROM、DVD-ROMにした場合で自動更新をしようとした場合、レンタルサーバー利用の場合は、FrontPage Server Extensions対応のサーバーが必要ですか?
>
> FrontPage Server Extensionsはサポート期間も切れていて問題ないのでしょうか?

FrontPage Server Extensionsは全く必要ありません。
生成されたファイルをレンタルサーバー上に配置するだけです。

> CD-ROMなどでソフトを配布した場合、プログラムの自動更新(アップデート)の機能をつけたい場合はどうしたらよいでしょうか?
>
>
> サーバーにバージョンの記入してあるTXTなどを置き、それをWebClient.DownloadFileでダウンロードさせ、自身のブログラムのバージョンと比較させ。
>
> バージョンが低かったら、自分の起動プログラムのフォルダに最新のブログラムをダウンロードさせ上書きする。
>
> でもそれだと起動中の本体のプログラムは上書きできないですよね?

そんなことはする必要はありません。ClickOnceを使っているのですから。
設定にもよりますが、ソフト起動時にサーバー上のバージョンと自分のバージョンを比較し、
もし新しいバージョンがサーバー上にあればバックグラウンドでダウンロードが行われます。
これは次回ソフト起動時にインストールが行われます。
■No28862に返信(あきこさんの記事)

> FrontPage Server Extensionsは全く必要ありません。
> 生成されたファイルをレンタルサーバー上に配置するだけです。


> そんなことはする必要はありません。ClickOnceを使っているのですから。
> 設定にもよりますが、ソフト起動時にサーバー上のバージョンと自分のバージョンを比較し、
> もし新しいバージョンがサーバー上にあればバックグラウンドでダウンロードが行われます。
> これは次回ソフト起動時にインストールが行われます。


あきこさん、有難うございます。

いろいろと試してみたいと思います。
いろいろと試してみたのですが、結局上手くいきませんでした。

具体的には、サーバー上には、ClickOnceでFTPを使い新しいバージョンのプログラムをアップロードすることは出来たのですが、パソコン側のプログラムで更新が上手くでき混ぜんでした。
無反応?

代理策として、サーバーFTPで接続して、ファイルの更新日時が新しかったらダウンロードして、別に作ってあるupdate.exeというファイルを起動させ新しいファイルに置き換えるという方法をとっています。、
■No28923に返信(ザナドゥさんの記事)
> いろいろと試してみたのですが、結局上手くいきませんでした。
>
> 具体的には、サーバー上には、ClickOnceでFTPを使い新しいバージョンのプログラムをアップロードすることは出来たのですが、パソコン側のプログラムで更新が上手くでき混ぜんでした。
> 無反応?

古いバージョンのプログラムの発行情報には、発行場所等の情報は設定されていますか?
新しいプログラムに発行場所等の情報が記載されていても、古いほうが正しく設定されていないのであれば、自動ダウンロード自体起こりません。

> 代理策として、サーバーFTPで接続して、ファイルの更新日時が新しかったらダウンロードして、別に作ってあるupdate.exeというファイルを起動させ新しいファイルに置き換えるという方法をとっています。、

それではClickOnceを使う意味がないような気もしますが...
以下の記事は、ClickOnceを利用するために必要なことが分かりやすく記載されています。
状況が判らないので、何とも言えませんが、もしかしたら、ここに、見落としていた点が見つかるかもしれません。
(私もこのサイトを参考に、ClickOnceを使うことができました。ちなみに、この記事はVS2005の時のものですが、VS2008以降をお使いでも十分に参考になります。)

http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce03/clickonce03_01.html

それで分からない点があればまた質問すればよいのではないでしょうか?
■No28926に返信(あきこさんの記事)
> ■No28923に返信(ザナドゥさんの記事)

> 古いバージョンのプログラムの発行情報には、発行場所等の情報は設定されていますか?
> 新しいプログラムに発行場所等の情報が記載されていても、古いほうが正しく設定されていないのであれば、自動ダウンロード自体起こりません。
>
>>代理策として、サーバーFTPで接続して、ファイルの更新日時が新しかったらダウンロードして、別に作ってあるupdate.exeというファイルを起動させ新しいファイルに置き換えるという方法をとっています。、
>
> それではClickOnceを使う意味がないような気もしますが...
> 以下の記事は、ClickOnceを利用するために必要なことが分かりやすく記載されています。
> 状況が判らないので、何とも言えませんが、もしかしたら、ここに、見落としていた点が見つかるかもしれません。
> (私もこのサイトを参考に、ClickOnceを使うことができました。ちなみに、この記事はVS2005の時のものですが、VS2008以降をお使いでも十分に参考になります。)
>
> http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce03/clickonce03_01.html
>
> それで分からない点があればまた質問すればよいのではないでしょうか?



すみません、他の部分でエラーが出てしまい、まだ試していません。
上記のサイト参考にさせていただきます。

有り難うございます。

DOBON.NET | プログラミング道 | プログラミング掲示板