1

わかりました、私は正気を失いそうです。

クリックワンスを介してUATユーザーに展開するパッケージがあり、HTMLページリンクを介してダウンロードするためのURLを提供します。最近まで、どのパッケージもバージョン管理していなかったため、すべてバージョン1.0.0.0でした。最終的には、新しいバージョンをUATにリリースしたときに、新しいバージョンをダウンロードする前に、古いバージョンをアンインストールする必要がありました。それ以外は同じアプリケーションIDだと思いました。管理者アクセス権がないため、これは少し問題があり、c:\ document and settings \username......のファイルを一度クリックしてレジストリエントリを削除する必要がありました。

彼らがインストールした最後のバージョンはUAT5でした。IDとしてバージョン6.0.0.0を持つバージョンのUAT6を構築したので、起動リンクをクリックすると、5を削除せずに自動的にダウンロードされます。何かをダウンロードすると、パッケージをダウンロードしていることがわかります。更新がない場合のようにアプリケーションを直接開くだけでなく、アプリケーションを開いてもバージョン5であり、ドキュメントと設定のファイルのサイズを確認することで確認できます。

個人的に同じURLリンクをクリックすると、バージョン6がダウンロードされます。コントロールパネル->追加削除プログラムを使用して、アクセス制御のためにできない以前のバージョンを削除しますが、それが唯一の違いです。

彼らのマシンでは、すべてのファイルとすべてのレジストリ設定を削除してから、バージョン6をダウンロードする同じリンクをクリックすると、どういうわけかバージョン5がダウンロードされてしまいます。

何か案は?私はここで夢中になります!

4

1 に答える 1

1

あたかもクライアント マシンが、そこに新しいパブリッシュ パッケージがあることを検出しているように聞こえますが、EXE 自体は変更されていません。時間と帯域幅を節約するために、ClickOnce は、ID が変更されていないアセンブリについて、ローカル コンピューターのキャッシュ内の以前のダウンロードからアセンブリを取り込みます。

つまり、アセンブリ バージョンではなく、パブリッシュ バージョンを更新しているように聞こえます。新しいアセンブリの ID を変更するには、アセンブリ バージョン ([プロジェクト プロパティ] > [アプリケーション] > [アセンブリ情報...] の下) と発行バージョン ([プロジェクト プロパティ] > [発行] の下) の両方を必ず更新してください。

適切な測定のためにファイル バージョンも ([プロジェクト プロパティ] > [アプリケーション] > [アセンブリ情報] の下に) 投入することもできますが、そのバージョンはアプリケーション マニフェストには表示されません。

于 2014-02-25T16:33:36.043 に答える