|
分類:[.NET 全般]
こんにちは。
下記のように、懇切丁寧にご教授くださって本当にありがとうございます!!
> 以下のようなコードで出来ませんか? > > private void Form_Load(object sender, EventArgs e){ > //appUpdaterをインスタンス化 > updater = new Microsoft.Samples.AppUpdater.AppUpdater(); > > updater.OnUpdateDetected +=new Microsoft.Samples.AppUpdater.AppUpdater.UpdateDetectedEventHandler(updater_OnUpdateDetected); > > //※1 > updater.AutoFileLoad = false; > updater.ChangeDetectionMode = ChangeDetectionMode.ServerManifestCheck; > > //appUpdater初期化 > updater.Initialize(); > > } > > //更新検知時のイベントハンドラ > private void updater_OnUpdateDetected(object sender, EventArgs e) > { > //明示的にダウンロード開始 > this.updater.DownloadUpdate(); > } > > > > ソース見ましたが、 > サテライトアセンブリを探す処理は、ChangeDetectionModeプロパティがDirectFileCheck, 及びAutoFileLoadプロパティがtrueの場合起こるようです。 > なので、両プロパティを上記のように設定することによってこの問題は避けられるんでないかと思います。 > ChangeDetectionModeがDirectFileCheckの場合の回避方法は私もわかりません。既存のソースのままでは恐らく無理かと。
少し引用するには長いかと思いましたが、ちょっと話の中であったほうがいいと 思いましたので、そのまま引用します。
私が思う標題の回避方法としては、上記のソースから判断するに、 「アセンブリを探し出してダウンロードしようとするロジック自体を 使わない(通らない)ようにする」という認識でよろしいのでしょうか?
いろいろなページを見てきて、この現象に対する回避策は、 @ ダミーファイルで逃げる。 A アセンブリのオンデマンドインストール機能を使用しない。
という回答がほとんどであったと認識しています。
上記のソースは、Aのロジックを通らないようにする方法で宜しいですか?
すいません。頂いた返信をどうこういうのではなく、
今後このコンポーネントを使おうという方々に、きっと判断に役立つ結論、
「Application Updater Component のオンデマンドインストールは使用できるのか 否か」をはっきり(現時点での調査結果から)させておくことが 今後の展開に影響すると考えます。
上記で返信頂いたソースでは、本当に(語弊はありますが)リソース.dllを 使用していた場合は、Application Updater Componentの オンデマンドインストール機能ではなく、他の方法でダウンロードする必要が ありますよね?(間違ってたらすいません。)
|