WindowsXP上で動作するアプリをVisual Studio 2005でC#を使って開発しています。
このアプリは、お客様の機能追加やバグ修正のために、オンラインで自動アップデート
できる仕組みを入れる必要があるのですが、ftpでexeファイルを
直接ダウンロードして入れ替える方法だと、そのアプリ自身が起動中なのでファイルが
更新できません。
これを解決するには、どうしたらいいでしょうか?
フリーソフトや他のソフトは使わずに、アプリ自身に組み込む方法か、バッチで
できる方法があれば教えて下さい。
よろしくお願いいたします。
1.起動用プログラムを作成し、
そこでアップデートが必要か判断しアップデートが必要であれば
新しいデータをダウンロードする。
そう出なければ本体を起動する
2.アップデートがあった場合、特定の場所に一時期ダウンロードさせておき、
プログラムでJscriptやVBスクリプトをプログラムにてスタートアップに作成させ、
再起動を促すメッセージを出し再起動をさせる。
再起動するとスタートアップに先ほど作成したスクリプトが
特定においたデータを実プログラムに上書きをし実プログラムを起動させる。
実プログラムは、起動時にスタートアップに設定したスクリプトを削除するようにしておく。
(スクリプトが自分自身を消す方法もあるのですが、失敗した場合おかしくなり得るので
実プログラムの方から消させる方がいい。)
再起動の方法。
http://dobon.net/vb/dotnet/system/shutdown.html
3.「2.」のスタートアップ登録をレジストリに書き込む方法でさせる。
http://dobon.net/vb/dotnet/system/osstartuprun.html
以上。こんなところですかね
Webサーバが用意できるならClickOnceで
http://www.masahiko.info/it/archives/000888.html
ftpサーバならスタートアップにftp.exeを使用してget→コピーとかいう
バッチを入れさせてもらえば良いのでは?
1.起動用プログラムを作成し、
そこでアップデートが必要か判断しアップデートが必要であれば
新しいデータをダウンロードする。
そう出なければ本体を起動する
2.アップデートがあった場合、特定の場所に一時期ダウンロードさせておき、
プログラムでJscriptやVBスクリプトをプログラムにてスタートアップに作成させ、
再起動を促すメッセージを出し再起動をさせる。
再起動するとスタートアップに先ほど作成したスクリプトが
特定においたデータを実プログラムに上書きをし実プログラムを起動させる。
実プログラムは、起動時にスタートアップに設定したスクリプトを削除するようにしておく。
(スクリプトが自分自身を消す方法もあるのですが、失敗した場合おかしくなり得るので
実プログラムの方から消させる方がいい。)
再起動の方法。
http://dobon.net/vb/dotnet/system/shutdown.html
3.「2.」のスタートアップ登録をレジストリに書き込む方法でさせる。
http://dobon.net/vb/dotnet/system/osstartuprun.html
以上。こんなところですかね
コメント(1件)
tama-jpさんの案で作成しようと思います。
どうもありがとうございました。