0

起動時にWindowsフォームアプリを自己更新させたいのですが。そのための良い情報はどこにありますか?

Visual Studio2008VB.NETを使用しています。


クリックワンスアプローチが好きです。このアプリケーションでは、バックエンドデータストアとしてアクセスデータベースがあります。アプリケーションが自己更新する場合、mdbファイルが上書きされていないことをどのように確認できますか?

mdbファイルへの変更であるが、データが失われない場合、mdbを自己アップグレードするための最良の方法は何ですか?

4

3 に答える 3

3

ClickOnceを使用してデプロイすると、この機能を無料で利用できます。私はこれについて(まだ)経験がありませんが、記事を紹介することはできます。

于 2010-03-27T18:34:26.550 に答える
0

私はカスタム自動アップデーターを作成しましたが、基本的には次のように機能します。

アプリケーション全体は、基本的に3つの部分で構成されています。

  1. 本質的にブートストラッパーのようなランチャー.exe
  2. ランチャー.exeには、ランチャー.exe自体を更新する必要がある場合に使用される.exeリソースが埋め込まれています。
  3. アプリケーションdllの

アプリケーションを起動すると、ランチャーアプリが起動し、Webサービスを介してdllが最新であるかどうかを確認します。そうでない場合は、一時ディレクトリにダウンロードしてから、チェックサムがすべて正しいことを確認し、既存のアプリライブラリを新しいもので上書きします。次に、アプリケーションのコアアセンブリをロードし、リフレクションを介して「Run」メソッドを呼び出します。

現在、このアプリでは、ランチャー自体を更新する必要がある場合があります。これを実現する方法は、ランチャーの.exeリソースに.exeを埋め込むことです。ランチャーは、使用可能な新しいランチャー.exeがあることを検出すると、それを一時ディレクトリにダウンロードし、.exeを抽出して起動します。この抽出された.exeは、ランチャープロセスをシャットダウンし、新しいランチャー.exeを古いものにコピーしてから、ランチャープロセスを再開します。

于 2010-03-27T19:32:37.017 に答える
0

Click Onceを何年も使用していますが、問題はほとんどありません。

于 2010-03-27T19:13:36.663 に答える