2012-04-26 17 views
3

GoogleのChromeブラウザは、Windows上で超スリッピーのアップデートシステムを備えています。管理者特権は必要なく、ユーザーの操作を必要とせずに更新されます。WindowsでChromeスタイルのプログラム自己更新を作成するにはどうすればよいですか?

私はこれに似た何かを作成しようとしており、それを行う方法に関するアドバイスをいただければ幸いです。

彼らのトリックの最初の部分は、ほとんどのWindowsプログラムのようにProgram Filesにインストールされず、代わりにC:\Users\USER_NAME\AppData\Local\Google\Chrome\Applicationにインストールされます。これにより、プログラムファイルは管理者の権限なしで自分自身を変更することができます。

このディレクトリ内を見ると、chrome.exeだけでなく、old_chrome.exeもあることがわかります。オンラインで検索すると、更新が悪くなった場合にChromeがold_chromeとして機能することが判明しました。

これは、インストールパッケージの一部として提供されるヘルパーアプリケーションを作成するための方法です(何らかの理由で実行可能であると仮定して)実行を転送し、そのヘルパーアプリケーションはファイルの名前を変更して再起動しますchrome.exe完了しました?もしそうなら、このヘルパーアプリケーションは起動時にchrome.exeによって削除されてしまうのではないかと説明します。chrome.exeの名前をold_chrome.exeに変更してコピーし、新しいchrome.exeがそこにあるという単純な方法はありません?

これがこのようなものを作る最良の方法であれば、これを行うための事前構築されたソリューションがありますか?これはかなり一般的な機能のように思えます。このような自分自身をロール?

また、より良い方法があれば、それは何ですか? Chromeのアプローチは、サービスを使用するMozillaの新しいアプローチよりもはるかにエレガントで簡単です。

+0

これはプログラマーズ・スタックエクスチェンジ・コムには適しているかもしれませんが、 –

答えて

1

これはうまくいきます。

ヘルパーアプリケーションは必要ありません。少なくともWindowsでは、プログラムの名前を変更することはできますが、削除することはできません。したがって、プログラムにアップデータルーチンを追加し、新しいファイルをダウンロードします。ダウンロードが完了すると、古い実行可能ファイルの名前が変更され、新しい実行ファイルがその場所に移動します。

その後、古い実行プロセスの中から新しい実行可能ファイルを実行して、古いものを終了することができます。

ボラ、古いバージョンの新しいバージョンのエスカレーションなしスワップ。

関連する問題