2012-01-17 16 views
1

ClickOnceデプロイされたアプリケーションをC#でコード化しました。誰かが同じ問題を経験したのだろうかと思います。ClickOnceデプロイされたアプリケーションは、存在しなくても更新をインストールするように頼みます。

Clickonceは、実行前に常にアプリケーションの更新チェックを展開しました。このアプリケーションを使用している私のクライアントの1人は、私たちが導入した更新プログラムが存在しない場合でも、アプリケーションがインストールを求める更新について通知します。クライアントがアップデートをインストールしました。しかし、インストールされたのは同じバージョンです。この時点で、なぜ私はClickonceアプリケーションが、更新が展開されているかどうかを判断するのだろうかと思います。私はこれがなぜ起こったのか理解できない奇妙な問題だと思う。

なぜこのような奇妙なことが起こるか知っている人はいますか?私はインストールのいくつかのファイルが削除されている可能性がありますので、プログラムの再インストールをリードします。しかし、私は確信していません。

+0

アプリケーションのバージョンを確認しましたか?バージョンが更新されない限り、clickonceは新しいバージョンの確認を求めません。 –

+0

私は数か月前にクライアントマシンに最新のデプロイされたバージョンをインストールしました。最新の展開されたバージョンとクライアントがインストールしたバージョンが一致します。このような場合でも、clickonceは不思議にインストールを更新するように求めました。 – chicco

答えて

2

私たちはクライアントの前にこの問題を抱えていました。問題は、プロキシサーバー上のオブジェクトキャッシングによるものです。基本的には、クライアント実際にはです。古いバージョンのを実行しているので、ClickOnceはプログラムを開始すると、利用可能な更新があることを正しく報告します。問題は、クライアントのプロキシサーバーがプログラムの古いコピーをキャッシュするため、更新プログラムが実行されるときにプロキシサーバーが更新要求を傍受し、更新プログラムの代わりにプログラムのキャッシュコピーを返送することです。 ClickOnceは、次回の起動時に「更新された」プログラムがまだ実際に更新されていないことに気付かない。

解決策は、お客様のITスタッフと連絡を取り合い、キャッシュがどこで発生しているかを把握し、キャッシュをクリアすることです。おそらくカスタムビルドされたプロキシサーバー上にあるかもしれませんが、BarracudaのようなWebフィルタもオブジェクトキャッシュを行い、優れたシスコルータのいくつかを実行します。

+0

これは、更新が展開されている場合に当てはまります。私に明確にさせてください。クライアントにはバージョン1.0.0がインストールされています。私たちによって配布された最新のバージョンはバージョン1.0.0です。状況は私が述べたとおりですが、clickonceはユーザーに更新について警告しました。これは私が理解できなかった点です。しかし、クライアントのITインフラストラクチャ設定が変更された可能性があります。 – chicco

関連する問題