JScript9LegacyではActive Scriptをサポートしているのか

啓希 松本 0 評価のポイント
2025-09-24T07:20:19.2733333+00:00

JScriptのスクリプト実行にActive Script(IActiveScriptクラス、IActiveScriptParseクラス)を利用しているアプリケーションで、Windows 11をバージョン24H2にしたところエラーが発生しスクリプトが実行できない問題が発生しています。

原因を調査したところ、バージョン24H2における下記URL(※1)の仕様変更が影響して、Active Scriptの実行がエラーとなっていることが判明しています。

※1 JScript9Legacy scripting engine now enabled by default

 https://techcommunity.microsoft.com/blog/windows-itpro-blog/jscript9legacy-scripting-engine-now-enabled-by-default/4431326

 =>スクリプトエンジンとしてJScriptを利用していたプロセスは全てJScript9Legacyが利用されるようになる

レジストリ設定(※2)でスクリプトエンジンをJScript9Legacyから23H2までのデフォルトであるJScript(旧スクリプトエンジン)に戻すことによりアプリケーションは問題なく動作するようになるのですが、スクリプトやアプリケーションの修正で対応できる問題なのか調査しています。

Copilotなどを利用して調査すると、JScript9LegacyはJScript9(Active Scriptをサポートしていない)がベースになっていることから、Active Scriptをサポートしていないか、またはサポートしていても限定的なのではないかという情報が得られていますが、Microsoftの公式サイトからははっきりした情報が見つけられません。

※2

以下のレジストリを設定する。

・キー: HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Main

・値の名前: JScriptReplacement

・値の種類: DWORD

・値 : 0

そこで、以下の質問があります。

・スクリプトエンジンJScript9LegacyではActive Scriptをサポートしているのでしょうか。

・サポートしている場合はどの範囲でサポートされているのでしょうか。JScrip(旧スクリプトエンジン)と比較してIActiveScriptクラス、IActiveScriptParseクラスのどの機能が利用できるかなど、具体的に教えてください。

以上

開発者テクノロジ | C++
開発者テクノロジ | C++
C プログラミング言語の拡張機能として作成された高レベルの汎用プログラミング言語。低レベルのメモリ操作機能に加えて、オブジェクト指向、汎用、関数型の機能を備えています。
{count} 件の投票

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。