web-dev-qa-db-ja.com

C#プログラムを自動更新する方法を提案する

私が書いたプログラムを最新の状態に保つ必要があります。これは来年かそこらで頻繁に発生します。これはインターネット経由で行う必要があります。どこから始めればいいですか、一般的なテクニックはありますか?どんな提案も歓迎します。

ありがとう

17
Jade M

かなりよく十分ではありません:)

NAppUpdateは、これに対処するために私が作成したオープンソースライブラリです。一般的な考え方は、可能な限り低いオーバーヘッドで、最大の柔軟性を持つことです。

そのため、統合は非常に簡単で、ライブラリは同期操作を含め、ほとんどすべてを実行します。また、柔軟性が高く、実行するタスクと条件を決定できます。ルールを設定します。最後に重要なのは、更新ソース(Web、BitTorrentなど)とフィード形式のサポートです。実装されていないものはすべて、自分で作成できます。

コールドアップデート(アプリケーションの再起動が必要)もサポートされており、タスクに「ホットスワップ」が指定されていない限り、自動的に実行されます。

これはすべて、サイズが70kb未満の1つのDLLに要約されます。

詳細については、 http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

コードは http://github.com/synhershko/NAppUpdate (Apache 2.0ライセンスの下でライセンスされています)

11
synhershko

ClickOnce この種のシナリオに最適です。

9
Matt Hamilton

NetSparkle と呼ばれるこの素晴らしいフレームワークとこれもあります DotNetUpdater

私はまだそれらを使用していませんが、すぐに使用したいと思っています。あなたはそれを試すことができます。

7

ClickOnceは優れたソリューションですが、完全に制御したい場合は、自分でロールすることができます。 Webサービスをポーリングして、利用可能な新しいバージョンがあるかどうかを確認し、必要なファイルをサイドバイサイドディレクトリにダウンロードし、ランチャーを使用して(またはショートカットを更新して)最新バージョンを自動的に起動することをお勧めします。

これは少し複雑ですが、アプリケーションが実行されている可能性があるため、上書きできない状況に対応します。

3
Fritz H