バージョンの更新を「強制」できるのでしょうか。

さて「配布の問題」の本題です。
ClickOnce」の必要性はお分かりいただけましたか?   媒体やファイルで配給するようなインストール手段だと、以降にアプリケーションの変更が発生した場合の再配給で「それぞれのクライアントPCが本当に入れ替えを行なったのか」の確認が難しいのです。 過去の一般的な方法では、例えばログイン情報に利用バージョンを含めるなどして再インストールを喚起するなどをアプリケーションの開発時に実装させておくなどの配慮を行なっておくのでしょうが、 ここで紹介している「ClickOnce」は「バージョンの更新を通知して簡単に更新を行なう」とか「常に最新バージョンで運用させる」とかが、 そのチェックを除けば開発者がアプリケーション側に何も実装させなくても行なえるのです。

デジタル証明書無しでの運用と考えると以下の問題は残ります。

「更新」

「このアプリケーションに最低限必要なバージョンを指定する」の指定項目は前ページで紹介した通りです。
ですが、これは更新インストールの際に選択可能なバージョンの基準であって、そもそもインストールをしない場合のチェックにはなりません。 私は「デジタル証明書無し」での運用しか経験ありませんが、少なくともデジタル証明書無しでは更新インストールの強制はできず、 利用者が更新インストールのセキュリティ警告の段階でキャンセルすることができてしまいます。
キャンセルした場合は、アプリケーションは以前にインストールされていたバージョンで起動してしまいます。

従って、バージョンアップのインストール自体は「ClickOnce」に任せられるのですが、 「最新バージョンになっているか」は起動されたアプリケーション側でチェックする必要があります。

方法は比較的簡単で、必要な最低バージョンをデータベースの管理用テーブルなどに登録しておき、アプリケーションの起動直後に現在バージョンをこれと比較して、 ダメであればメッセージを表示させて終了してしまえば良いのです。 24時間運用が考えられる場合や、仮想デスクトップ(起動したままログアウトせずに放置される)運用などでは起動時だけでなく、メニュー起動などでもこのチェックを行なう必要があります。

確認の意味では、このバージョンを含めたログイン情報をログ用テーブルに採取するようにできれば確実です。