3

アプリケーションの自動更新を取得するには、ClickOnce または Windows インストーラーを使用する必要がありますか?

私の状況では、Web ホスティング サービス (webmasters.com) を通じて維持しているデータベースに対してMySQLクエリを実行する C# Windows アプリケーションがあります。

このプログラムは現在、3 人の異なる人々によって使用されています。私は、リリース フォルダーをコンピューターにコピーして貼り付け、MySQL コネクタと.NET Framework 4 クライアントをコンピューターにインストールし、実行可能ファイル (.exe) を実行するだけです。これはあまり専門的ではないように思えます。私はこのプロジェクトでの作業を楽しんでいるので、パッチや修正の代わりに正しい専門的なものを作成し、私の経験から学んでみませんか?と考えていました。

そこで、プログラムを他のコンピューターにインストールするために使用されるセットアップおよび展開プロジェクトを作成することを考えていました。また、このセットアップおよび展開プロジェクトには、mysql コネクタと .NET フレームワークが含まれ、ソフトウェアと共にインストールされます。すべてのための 1 つのインストーラー。

さらに、コードの何かを変更するたびにプログラムを変更するために人々の家に駆け寄る必要がないように、プログラムには更新サービスが必要だと考えていました。そこで、ファイルをアップロードできるFTPサイトを作成しました。プログラムが実行されると、FTP サイトの更新がチェックされ、新しいファイルがアップロードされた場合は、それらがダウンロードされ、新しいバージョンが続行されます。ClickOnce アプリケーションについて読みましたが、これがどのように機能するのかよくわかりませんでした。

Deploying C# Applications (MSDN)を読みましたが、これを達成し、学生の宿題だけでなく、プログラムをよりプロフェッショナルにするために何を選択すればよいですか?

4

3 に答える 3

5

3 つすべてを行った後、Windows アプリケーションのドラッグ アンド ドロップ ( XCOPY ) 展開を使用して展開することを好みます。つまり、最初に前提条件を手動でインストールすることを意味します。

  • ClikOnce は便利です。ホストされているサーバーを廃止する必要があるか、証明書の有効期限が切れるか、対処しなければならないその他の小さな問題が発生するまでは。これ以外にも、ユーザーのアプリケーションを最新の状態に保つための非常に強力でシンプルな方法です。
    • 公平を期すために、私が遭遇したすべての問題には答えがあり、それらを回避することは可能ですが、ドキュメントには「これを回避するには、これを実行してください」とは記載されていません。私にとって、それはすべて「学びながら学ぶ」ことでした。事前によくある落とし穴を説明する計画ガイドがあると便利です。
  • MSIインストーラーも同様に優れていますが、更新するにはアンインストール/再インストールが必要です。
  • ドラッグ アンド ドロップ - シンプルであまり派手ではありませんが、マイナー アップデートを行いたい場合は、新しいファイルをコピーするだけで済みます。

そうは言っても、すべてのアプローチには長所と短所がありますが、私の展開の 95% は、企業環境で、自分のユーザーに展開するものであり、 XCOPY 展開を好みます。

外部の顧客にソフトウェアを配布する場合は、専門的なツールで構築されたインストーラーを使用します。

とはいえ、Microsoft はClickOnce または MSI Installer の選択に関する優れた記事を提供しています。XCOPY についてはまったく触れていませんが、繰り返しますが、XCOPY は非常に理解しやすいので、おそらく必要ありません。

于 2012-06-15T21:34:53.660 に答える
0

コードをオープン ソース化できる場合、CodePlexはインストーラーに ClickOnce ホスティングを提供します。ClickOnce リリースでは、その設定方法について説明しています。サンプルプロジェクトに使用していますが、うまく機能します。更新を発行した後、最初の起動時にすべてのクライアントが自動的に更新されます。

于 2012-06-15T21:50:32.457 に答える