【日本語版】 Visual Studio 2005 および Visual Studio 2008 のウィザードでポップ アップ スクリプト エラーが出る
こんにちは!
フォーラム オペレーターの服部清次です。
ここ最近、どういう訳か肌寒い日が続いていますが、皆さんはお元気ですか?
僕は、冬服をしまったばかりのタイミングでしたので、ちょっとビックリしています。 (^^;)
桜の開花も遅れているようですが、、、今週末は期待していいのでしょうか・・・
さて、今日は、アメリカの Visual C++ チームのブログに掲載されている Internet Explorer 8 関連のニュースを紹介してみようと思います。
こちらは、アメリカ現地時間の3月28日(土)に公開されたスレッドですので、かなり新しい情報です。
ぜひご一読ください!
* なお、日本語に翻訳するうえで表現のニュアンスを変えている箇所などがありますので、ご了承ください。
◆ Visual Studio 2005 および Visual Studio 2008 のウィザードでポップアップ スクリプト エラーが出る。(原題: “Some VS2005 and VS2008 Wizards Pop Up Script Error.”)
Visual C++ チームは、現行リリースされている Internet Explorer (Internet Explorer 8) のインストール後に、いくつかの VC++ ウィザードが正常に機能しなくなるということを発見しました。 この影響を受ける製品は、Visual Studio 2005 と Visual Studio 2008 で、以下のウィザードが影響を受けます。
l 関数の追加
l 変数の追加
l スマート デバイス – 新規プロジェクト作成
l スマート デバイス – クラスの追加
IE8 がインストールされているマシン上の Visual Studio 2005 および Visual studio 2008で、上記のいずれかのウィザードを起動すると、ポップアップ スクリプト エラーが出ます。 このエラーに遭遇された方のために、回避策があります。
以下の手順に従ってください。
l regedit を開く(64 ビット OS では、32 ビットの regedit を開いてください。)
l 以下のレジストリ キー内に(まだ存在しない場合は)1000 という名前の新しいキーを作成してください。
“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones”
l 以下の内容で、作成したキーに DWORD 値を入力します。
o 名前 = 1207
o 種類 = REG_DWORD
o データ = 0x000000
なお、この回避策を Visual Studio 2005 で行なうには、Visual Studio 2005 SP1 (および Windows Vista 用 Visual Studio 2005 SP1 アップデート)がインストールされている必要があります。
以下は、この問題とその回避策の簡単な説明になります:
VC++ ウィザード エンジンは、IInternetSecurityManager インターフェイスを実装しています。 この実装では、Internet Explorer が問い合わせを行なうポリシーに基づいて特定のアクションを許可または却下します。 IE8 では、カスタム セキュリティ マネージャもまた、URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION ポリシーに基づいて特定のアクションを許可または却下します。 以前の Internet Explorer では、このVC++ ウィザード エンジンが iexplore.exe プロセスの中で動作していない場合、カスタムセキュリティ マネージャにはデリゲートされませんでした。 VC++ ウィザードのカスタム ゾーンにはこのアクションに対するポリシーが存在しないため、Internet Explorer エンジンは、このアクションに失敗します。 私たちは現在、IE8 におけるこの変更が仕様であるかどうかを確認している段階で、その結果によって、おそらくウィザードまたは IE コンポーネントの修正プログラムという形で対処する予定です。
上記の回避策によって、ポリシー 1207 (URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION) がゾーン 1000 (VC++ ウィザード エンジンのカスタム ゾーン)で許可されます。 これにより、ウィザードコードが意図されたとおり動作します。
この問題が原因で、皆さまにご迷惑をお掛けしましたことをお詫び申し上げます。よろしくお願いいたします。
Visual C++ チーム