Windows でソフトウェア更新を最適に実装するにはどうすればよいですか?[閉まっている]
-
09-06-2019 - |
解決
Sparkle ほどスムーズな解決策はありません (私が知っている限り)。
アプリケーションの展開と更新を簡単に行う方法が必要な場合は、 クリックワンス はオプションです。残念ながら、これは柔軟性に欠け (ユーザーごとではなくマシンごとにインストールできないなど)、不透明であり (デプロイメントが実際にどのように機能するかに対する影響力と明確性、制御がほとんどありません)、非標準です (インストールされたアプリを保存するパスが異なります)。 Windows 上の他のものとは異なります)。
あなたが求めていることにはるかに近いでしょう クリックスルー, のサイドプロジェクトです。 WiX, 、しかし、それがまだ開発中であるかどうかはわかりません(開発中である場合、彼らはそれについてもっと明確にする必要があります…)—そしてそれはいずれの場合でもNSISではなくMSIを使用するでしょう。
おそらく、自分で何かを開発するのが最善です。Windows 向けの Sparkle のようなプロジェクトを見てみたいと思っていますが、これまでのところ誰も試していないようです。
他のヒント
Sparkle の Windows ポートが追加されました。を参照してください。 http://winsparkle.org.
Google Chrome の自動更新はオマハに基づいています。
http://code.google.com/p/omaha/
彼らの 概要 なぜそれが必要なのかについての素晴らしいセクションがあります:
通常、ブラウザは、ユーザーにインストールしないよう説得するために、技術的で混乱を招く恐ろしい一連の長いダイアログを表示します。次に、ユーザーには、選択する必要のない、または選択方法が分からない選択肢が満載のウィザードが表示されました。これらの要因が組み合わさって、アプリのインストール プロセス中にユーザー エクスペリエンスが低下し、大幅な減少が発生しました。
特に Windows Vista/7 (UAC) では自動更新が面倒になる可能性があるため、サードパーティのソリューションを使用することをお勧めします。価値があるものとして、私の会社が使用している製品は 自動アップデート+ そしてそれはかなりうまく機能しているようです。
.NET については、少し前に Microsoft Patterns + Practices が公開しました。 アプリケーション アップデーター ブロック. 。これは(私の考えでは)かなり大げさで過剰に設計されていましたが、非常にうまく機能しました。
本質的には、「スタブ ローダー」を使用してマニフェストと Web サービスをチェックし、インストールされているプログラムよりも新しいバージョンのプログラムが利用可能かどうかを確認し、次に BITS バックグラウンド ダウンローダー テクノロジを使用して、新しいバージョンが利用可能な場合はそれをダウンロードします。サーバー。
新しいバージョンがダウンロードされてインストールされると (.NET の場合、これは関連フォルダーに xcopy するだけで簡単です)、アプリケーションはマニフェストを更新します。次回プログラムがロードされると、新しいバージョンが起動します。
Patterns + Practices コードは .NET 固有ですが、特にバックグラウンドでインストール プロセスをサイレントに実行できる場合は、非 .NET アプリケーションにコピーできないものはありません。
私も同様の質問をしました。リンクをクリックして応答を確認してください。自己更新
アプリケーションが .Net で書かれている場合は、試してみることができます クリックワンス. 。ただし、このアプローチを使用してインストール中に管理アクションやカスタム アクションを実行するのは困難です。
wUpdateは本当に良さそうです。ここでビデオをご覧ください:http://wyday.com/wybuild/help/automatic-updates/
.NET アプリケーションについては、こちらを参照してください。 ネットスパークル, 、.NET プログラムの Sparkle バリアント。これはかなり新しく (2011 年から)、活発に開発されています。
同じテーマに関する私自身の質問への回答からここに来ました - 私はもう一つ言及します ソリューションの更新 私の中で 質問. 。スタブ ローダーと XML ファイルを使用して、最新の実行可能ファイルを指します。