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