検索から、これは何度も何度も尋ねられていることがわかりますが、十分ではないので、ここに行きます。私は予算のない趣味の開発者です。私が開発しているプログラムには、定期的なバグ修正が必要で、私とユーザーは手動で更新する必要があることにうんざりしています。
私は、FTPを介してテキストファイルを更新する現在のソリューションとWebサイトのダウンロードリンク、そしてユーザーに「更新メッセージがあります」というメッセージが表示され、手動で更新を手動でダウンロードする手間がかかることを期待しています。率直に言って、ひどいです。
「自動更新を実装する予定はありますか?」 「自動更新機能はありますか?」そして、私がたまたま更新プロセスを台無しにすると、熊手が到着し始めます。
過去に私は調べました:
Sparkle のようなMac OS Xの本当に素晴らしくシンプルな実装を持っている場合、Windowsの状況がこのようになるのは非常に残念です。
これは何年も前に更新されているはずです。
しかしとにかく、私はしばらくの間 SparkleDotNET を使用していて、それは絶対に素晴らしく働いています。あちこちにいくつかの小さなバグがありますが、私はそれらのいくつかをつぶすのを手伝っています。うまくいけば、他のバグも取り除くことができるでしょう:)
Visual Studioの発行機能を実行する時間があり、アプリが比較的自己完結型であり、起動時に起動するなどの必要がない場合は、ClickOnceをお勧めします。 MetroTwit はそれを使用しており、Niceアプリ内アップデーターインターフェイスを備えているため、柔軟性があります(少なくともある程度)。起動時に起動する場合、それを行うのは可能ですが、そのためのメソッドはかなりハックであり、うまく機能しません。
自分で実装してください!楽しいですよ。更新ロジックのみを含む別のアプリケーションを作成します。つまり、ファイルをオンラインでフェッチしてダウンロードし、ローカルファイルを置き換えて、ユーザーに視覚的に表示します。
したがって、メインアプリケーションは更新をチェックでき、更新が存在する場合は、更新の可能性をユーザーに促します。ユーザーが必要に応じて、更新プログラムを実行し、それ自体を閉じて(更新が発生するように)、prestoします。
必要なものは、C#、FTPアクセス、およびIOですぐに利用できるものだけです。
編集:それほど簡単なことではないことはわかっていますが、学ぶ絶好のチャンスです。
これらはすべて私たち全員がよく知る必要があることです-アップデーターのコーディングに数週間かかる場合は、数週間の学習が必要だったことを意味します。学ぶ必要がない場合は、スキルを磨く時間です!必要かどうかわからない場合は、時間をかけて調べてください。 :)
注:私は知っています私は知っていますより良いファイルとネットワークI/Oを学ぶ必要があります
Autoupdater.NETは codeplex から試すことができます。私はそれを自分で開発し、アプリケーションで非常にうまく機能します。コードに1行追加するだけで完了です。また、オープンソースであるため、必要に応じて変更して使用できます。
外部アプリケーションを開発することはできませんが、アプリケーションのモジュールとして実装することもできます。 namespace Update
に移動し、動的アセンブリビルダーを使用してexeを生成し、起動してアプリmainを終了し、更新が終了したら再度起動します。
もう少し 情報 。
DDay update もあります。これはオープンソースであり、私の顧客の1人が使用しています。私たち/彼らは主にWindowsサービスのコンテキストでそれに興味を持っています。それはそのためにかなりうまく機能します。