概要

ClickOnceアプリケーションをユーザが更新する際、ユーザの端末内の.NET Frameworkが4.0以前のものであれば強制的に4.5以降のバージョンにアップデートする方法を探しています。

詳細

ClickOnceアプリケーションを発行し、ダウンロード専用サーバからダウンロードする際、下記のようなエラーがポップアップ出るようになりました。
※アプリを作成した.NetFrameworkのバージョンは4.5、ダウンロードしようとしたバージョンは3.5です。

Cannot continue. The application is improperly formatted.Contact the application vendor for assistance.

詳細を見ると次のようなエラーです。

ERROR SUMMARY
Exception reading manifest from https://hogehoge : the manifest may not be valid or the file could not be opened.
Manifest XML signature is not valid.
SignatureDescription could not be created for the signature algorithm supplied.

こちらの記事を見たところ、これは.NET Frameworkの4.0から4.5へのバージョンアップの際、SHAの形式が変更されたことに起因していることがわかりました。

そのため、.NET Framework 4.5よりも前のバージョンがインストールされている端末でアプリの更新を行う際には.NET Framework 4.5を強制強制的にダウンロードするようにしたいと考えVisual Studioで次のような設定を行いました。

発行 -> 必須コンポーネントで下記にチェック。
・Microsoft.Net FrameWork 4.5(x86およびx64)
・Microsoft.Net FrameWork 4.5.1(x86およびx64)
・Microsoft.Net FrameWork 4.5.2(x86およびx64)
・Windowsインストーラ 4.5

発行 -> 更新で
・アプリケーションの更新を確認する にチェック
・アプリケーションの更新を確認する方法を選択してください:
 アプリケーションの開始前に行う を選択

しかし、.NET Framework 3.5がインストールされている端末でアプリを更新しようとしても.NET Framework 4.5はインストールされず、エラーも元のままでした。

ClickOnceアプリケーションの必須コンポーネント設定に誤りがございますでしょうか?それともそもそもSHAの変更対応として適切ではないでしょうか?

ご教示よろしくお願いします。

動作環境

・.NET Frame Work 4.5
・.NET Frame Work 4.0以前
・Visual Studio2013