- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:自分自身を更新するプログラム)
自分自身を更新するプログラムとは?
このQ&Aのポイント
- Webからダウンロードしてきて自分自身を更新するアプリケーションの実装方法について知りたい。
- 自動更新系のアプリケーションには、別の更新用プログラムと自己更新の2種類がある。
- 別の更新用プログラムはアプリケーションの上書きを行うが、自己更新では実行ファイルの上書きができないため、別の方法が必要となる。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そのアプリの構成によっていろいろ考えられると思うけどね。 単純なやつなら。。。 本体.exe を起動 アップデート版を確認 アップデート用プログラムを起動。引数で本体.exe のインストール パスを与える。 本体.exe 終了。 アップデート用プログラムが新本体.exe をダウンロードし、本体.exe を上書き。 本体.exe を起動。 アップデート用プログラム終了。
その他の回答 (2)
- axsies
- ベストアンサー率64% (38/59)
回答No.2
アプリケーション本体はDLLで、実行ファイルはアップデータ兼DLLローダーみたいなのも考えられますね。
質問者
お礼
なるほど。DLL に本体という発想はありませんでした。 更新、再起動というほうに気を取られて、本体は exe ということしか 考えてしませんでした。参考になりました。ありがとうございます。
- nazotarou
- ベストアンサー率46% (27/58)
回答No.1
アプリを終了させずに上書き更新を行うのを見たことがないので、一度は終了するとして。 delphiだと、こんな感じだねー。 http://mrxray.on.coocan.jp/Delphi/plSamples/850_DeadSelf.htm これの応用で、バッチファイルで自分を消して、新しいファイルの名前を変えるんでしょう。 そして、それを起動させればいいのかと。
質問者
お礼
バッチファイルでワンクッションおく方式ですね。こういう方法もあるのですね。 参考になります。ありがとうございました。
お礼
これは質問では前者の方法ななるとは思いますが、考えてをちょっと変えて、Tempに落としてきて、オリジナルの作業パスを渡して起動し、オリジナルの実行ファイルを更新する。次回からは更新された実行ファイルが実行される。という方法が取れそうです。参考になりました。ありがとうございました。