ClickOnceアプリケーションをブラウザに読み込んだ HTML 上のスクリプトから起動する際のIEの設定について

こんにちは、Visual Studioサポートチームです。

今回はClickOnceアプリケ―ションをブラウザに読み込んだ HTML 上のスクリプトから起動する際のIEの設定についてをご紹介します。

IEを介して、ブラウザに読み込んだ HTML 上のスクリプト (以下 スクリプト) でClickOnceを実行する際に、ClickOnceアプリケーションが配置されているWebサイトがIEのセキュリティ設定によっては、 スクリプトから ClickOnceアプリケーションを起動できない場合があります。

これは、IEのゾーン セキュリティ設定で “インターネット”, “信頼済みサイト” では、[ファイルのダウンロード時に自動的にダイアログを表示] の設定が既定で “無効にする” と設定されているためとなります。
この [ファイルのダウンロード時に自動的にダイアログを表示] が “無効にする” に設定されている場合、IEはClickOnceアプリケーションのプログラムから起動をブロックし、ダウンロードを開始することができなくなります。

この詳細は、以下のMSDNページにも記載されています。

ClickOnce 配置でのサーバーおよびクライアント構成の問題 – ブラウザー スクリプトによる ClickOnce アプリケーションのアクティブ化
https://msdn.microsoft.com/ja-jp/library/vstudio/ms228998(v=vs.110).aspx

そのため、“インターネット” または、“信頼済みサイト” に設定した Webサイトにホストされた ClickOnceアプリケーションを スクリプトで起動する場合には、IE の [ファイルのダウンロード時に自動的にダイアログを表示]を “有効にする” に設定しなければなりません。

このIEのオプションについては、IE 6以降に追加されたセキュリティ ゾーンの設定であり、IE 8までは [インターネット オプション] – [セキュリティ] タブ – [レベルのカスタマイズ] から表示される [セキュリティ設定 – “ゾーン名” ] から設定可能でしたが、IE 9からは UI上での設定オプションがなくなりました。

このため、IE 9以降でこのシナリオを試す場合には、[ファイルのダウンロード時に自動的にダイアログを表示] の設定をレジストリを編集し、既定の設定から変更する必要があります。

-例:信頼済みサイトの [ファイルのダウンロード時に自動的にダイアログを表示] のレジストリ情報
-------------------------------------------------------------------------------------
レジストリキー : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2
値の名前:2200
値の種類:REG_DWORD
値のデータ 00000003(無効) – 既定値
00000000(有効)
-----

IEのセキュリティ ゾーン につきましては、下記の技術情報にその記載があります。

上級ユーザー向けの Internet Explorer セキュリティ ゾーン関連のレジストリ エントリ
https://support.microsoft.com/kb/182569/ja