9.5.1 WOW64環境でx86対応のJP1/AJS3を使用する場合の注意事項
Windows Server 2012,またはWindows Server 2008のWindows on Windows 64(以降,WOW64と記載します)環境※1でx86対応のJP1/AJS3を使用する場合の注意事項について次に示します。
WOW64環境では,32ビットプログラムを実行する場合,ファイルシステムの呼び出しを%systemroot%\system32※2から%systemroot%\syswow64にリダイレクトしたり,レジストリーのHKEY_LOCAL_MACHINE\SoftwareやHKEY_CLASS_ROOTへのアクセスをHKEY_LOCAL_MACHINE\Software\SysWow64などにリダイレクトしたりすることで,32ビットプログラムと64ビットプログラムを区別し,ファイルやレジストリーが衝突することをオペレーティングシステム側で防いでいます。
x86対応のJP1/AJS3は32ビットプログラムであり,WOW64環境で動作するため,上記のようなリダイレクトが行われます。これによって,次の表に示す機能でそれぞれの現象が発生することがあります。これらの現象を回避するために,JP1/AJS3が参照・更新するファイルに%systemroot%\system32配下のファイルを指定しないでください。
- 注※1
-
JP1/AJS3 - Viewは,Windows 10,Windows 8.1,Windows 8,およびWindows 7も対象となります。
- 注※2
-
%systemroot%は,Windowsシステムがインストールされているディレクトリを示す環境変数です。デフォルトの%systemroot%は「C:\WINDOWS」です。
影響がある機能 |
現象 |
---|---|
PCジョブ※1またはWindows上で実行するQUEUEジョブ |
%systemroot%\system32配下のファイルをPCジョブまたはWindows上で実行するQUEUEジョブの実行ファイルとして指定した場合,実際は%systemroot%\syswow64配下のパスにリダイレクトされるため,ジョブが起動失敗または異常終了します。PCジョブを実行した際に発生する現象を次に示します。
|
jp1execコマンド |
%systemroot%\system32配下の実行ファイルを指定したjp1execコマンドが起動に失敗し,jp1execコマンドを実行したジョブが異常終了します。 |
JP1/AJS3 - Viewのツール実行 |
%systemroot%\system32配下の実行ファイルをJP1/AJS3 - Viewのツールの起動コマンドに登録して※2実行するとツールの起動に失敗します。 |
ファイル監視ジョブ |
%systemroot%\system32配下のファイルを監視対象ファイルとして指定した場合※2,実際は%systemroot%\syswow64配下のパスにリダイレクトされるため,%systemroot%\system32配下のファイルを更新してもイベントを検知しないで,ジョブは実行中のままとなります。 |
ログファイル監視ジョブ |
%systemroot%\system32配下のログファイルを監視対象ログファイルとして指定した場合※2,実際は%systemroot%\syswow64配下のパスにリダイレクトされるため,%systemroot%\system32配下のログファイルを更新してもイベントを検知しないで,ジョブは実行中のままとなります。 |
判定ジョブ |
判定条件に「ファイル」を使用する場合,%systemroot%\system32配下のファイルを指定すると,実際は%systemroot%\syswow64配下のパスにリダイレクトされるため,%systemroot%\system32配下のファイルの存在は判定できません。そのため,従属ユニットを実行しません。 |
PCジョブの標準入力ファイル |
PCジョブの標準入力ファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされるため,標準入力ファイルが見つかりません。そのため,ジョブは起動失敗します。 |
PCジョブの標準出力ファイル |
PCジョブの標準出力ファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされます。JP1/AJS3から起動したジョブが32ビットプログラムであれば標準出力ファイルを参照および更新できますが,64ビットプログラムは標準出力ファイルを参照および更新できません。 |
PCジョブの標準エラー出力ファイル |
PCジョブの標準エラー出力ファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされます。JP1/AJS3から起動したジョブが32ビットプログラムであれば標準エラー出力ファイルを参照および更新できますが,64ビットプログラムは標準エラー出力ファイルを参照および更新できません。 |
PCジョブの転送ファイル |
PCジョブの転送元ファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされるため,転送元ファイルが見つかりません。そのため,ジョブは起動失敗します。 また,PCジョブの転送先ファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされます。JP1/AJS3から起動したジョブが32ビットプログラムであれば転送先ファイルを参照,更新できますが,64ビットプログラムは転送先ファイルを参照,更新できません。 |
コマンド |
コマンドの入力または出力に使用するファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされるため,指定したファイルの参照や更新ができません。 |
環境設定 |
環境設定で指定するファイルに%systemroot%\system32配下のファイルを指定した場合,%systemroot%\syswow64配下のパスにリダイレクトされるため,指定したファイルの参照や更新ができません。 |
- 注※1
-
ジョブの実行先サービスに[キューレス]を指定している場合も含みます。
- 注※2
-
ファイルダイアログボックスでは,%systemroot%\system32配下のファイルは指定できません。
Windows Server 2012およびWindows Server 2008で%systemroot%\system32配下の64ビットアプリケーションを使用する場合,%systemroot%\system32配下の代わりに%systemroot%\sysnative配下にアクセスするようにしてください。
- (例)
-
変更前:
%systemroot%\system32\実行ファイル名
変更後:
%systemroot%\sysnative\実行ファイル名