クライアントの環境で ClickOnce 配置を徹底的にテストしてください。詳細は省きますが、ClickOnceには多くの問題があります。私は 3.5 年間 ClickOnce アプリケーションをサポートしてきましたが、マニフェストに関する多くの問題に遭遇しました。更新プログラムが正しくインストールされるように、サンドボックス ストレージ フォルダーを手動で削除しなければならないなどです。 MSDN フォーラムやその他の場所にはいくつかの問題があり、その多くは Visual Studio 2005 から公開されているため、MS は解決したくないようです。
また、.NET 3.5 SP1 より前の ClickOnce で問題が発生する可能性があることに注意してください。クライアント マシンによって認識されるCAからの独自のソフトウェア展開証明書がない場合、Visual Studio は、作成から 1 年間有効期限が切れる「一時的な」証明書 (*.pfx) を使用します。それ以降の更新リリースはおそらくインストールされず、証明書の有効期限に関する恐ろしいメッセージがユーザーに表示されます。Microsoft は .NET 3.5 SP1 でこれを修正しましたが、リリース ノートを掘り下げて、一時的または永続的な証明書が不要になったというコメントを見つける必要がありました。したがって、パブリック CA 証明書を持っておらず、このアプリケーションをしばらくサポートする場合は、.NET 3.5 SP1 を使用していることを確認してください。
シナリオの複雑さに応じて、他のソリューションについて質問されたため、次のような「独自のロール」アプローチを使用することになりました。
更新されたリリースごとに、必要に応じてアセンブリ バージョンがインクリメントされます。
ビルドには、新しいアセンブリ バージョンでファイルを自動生成するカスタム ステップが含まれています。
展開プロジェクトは、MSI を使用してバージョン ファイルを出力ディレクトリにコピーします。
インストールされたアプリケーションが実行されるたびに、それ自身のバージョンと deploy フォルダー内のバージョン ファイル内のバージョンが比較されます。それらが異なる場合は、アプリケーションを終了し、古いアプリケーション バージョンを自動的に削除するように設定した MSI を起動します。
これは、アプリケーション展開ツールがまったく (AD アプリケーションの広告さえも) ない環境向けの「貧乏人の ClickOnce」であるため、私たちはそうしました。繰り返しますが、このアプローチはあなたにとって十分に洗練されていないかもしれませんが、私たちにとってはうまくいきます.
幸運を祈ります。