4

私は現在アプリケーションを構築しており、そのインストーラーと自動サイレント更新が必要です。

Dropbox、Spotify、Chrome はどれも、誰にも気づかれずに更新できる点で優れています。そこで、AppData の Dropbox ローミング フォルダを調べたところ、NSIS アイコンが付いた DropboxUpdateHelper.exe という名前のファイルが見つかりました。Spotify フォルダーには、SpotifyHelper.exe と、利用規約で NSIS への言及しか見つかりませんでした。

Roaming Folder 内にアプリケーションをインストールし、サイレント自動アップデーターを使用する方法のチュートリアルはありますか? 私は NSIS に固執していませんが、オープン ソースと無料のインストーラーを好みます。

4

2 に答える 2

1

NSIS には、インターネットからダウンロードするために使用できるINetC プラグインがありますが、そこに自動更新チュートリアルがあるかどうかはわかりません。VPatch プラグインも参照してください。

ここで考慮すべき多くの変数があります。

  • メイン アプリケーションでアップデートを探すべきですか、それともアプリケーション (または Windows) の起動時にアップデーターを実行してチェックできるようにするべきですか?
  • サーバー上のファイルは署名されていますか、または無効/破損/ MitM更新を検出する他の方法はありますか?
  • 更新をダウンロード/適用する前に、アクセス制御/DRM が必要ですか?
  • メジャー バージョン番号の更新をどのように処理しますか? 複数のメジャー バージョンまたは強制アップグレードをサポートしますか?
  • 更新には管理者権限が必要ですか? UACの扱い?
  • 1.0 から 1.2 へのアップグレードをどのようにサポートしますか? 最初に 1.1 に更新しますか?それとも可能なすべてのマイナー バージョン アップグレード パスをサポートしますか?

他にも考えなければならない問題がたくさんあると思います。コーディングを開始する前に、これらすべての質問に答えるようにしてください。開発中に、他の質問や、設計を完全に変更する必要があることに気付くかもしれません。

IMHO、これは簡単な質問ではなく、あなたの設計/要件にぴったり合うドロップインソリューションを見つけることができるとは思いません...

于 2012-09-02T06:41:42.763 に答える
0

NSIS を使用してインターネットからファイルをダウンロードするのは簡単ですが (この目的のためのプラグインがいくつかあります: NSISdl、InetC など)、そのような機能はコーディングに関するものです。

これには正確な解決策はありません.Andersが言ったように、必要な動作を実現するにはすべての詳細を指定する必要があります.

于 2012-09-03T04:34:46.703 に答える