8.1.20 WOW64環境でx86対応のJP1/AJS2を使用する場合の注意事項

Windows Server 2003(x64)および64ビット版のWindows Server 2008のWindows on Windows64(以降,WOW64と記載します)環境※1でx86対応のJP1/AJS2を使用する場合の注意事項について次に示します。

WOW64環境では,32ビットプログラムを実行する場合,ファイルシステムの呼び出しを%systemroot%¥system32※2から%systemroot%¥syswow64にリダイレクトしたり,レジストリのHKEY_LOCAL_MACHINE¥SoftwareやHKEY_CLASS_ROOTへのアクセスをHKEY_LOCAL_MACHINE¥Software¥SysWow64などにリダイレクトしたりすることで,32ビットプログラムと64ビットプログラムを区別し,ファイルやレジストリが衝突することをオペレーティングシステム側で防いでいます。

x86対応のJP1/AJS2は32ビットプログラムであり,WOW64環境で動作するため,上記のようなリダイレクトが行われます。これにより,次の表に示す機能でそれぞれの現象が発生することがあります。これらの現象を回避するために,JP1/AJS2が参照・更新するファイルに%systemroot%¥system32配下のファイルを指定しないでください。

注※1
JP1/AJS2 - Viewは,これらのOSのほかに64ビット版のWindows Vistaも対象です。
注※2
%systemroot%は,Windowsシステムがインストールされているディレクトリを示す環境変数です。デフォルトの%systemroot%は「C:¥WINDOWS」です。

表8-10 WOW64環境下においてJP1/AJS2で発生する問題

影響のある機能現象
PCジョブ※1またはWindows上で実行するQUEUEジョブ%systemroot%¥system32配下のファイルをPCジョブまたはWindows上で実行するQUEUEジョブの実行ファイルとして指定した場合,実際は%systemroot%¥syswow64配下のパスにリダイレクトされるため,ジョブが起動失敗または異常終了します。PCジョブを実行した際に発生する現象を次に示します。
現象1
統合トレースログに次のメッセージを出力して,ジョブが起動失敗する。
「KAVU4550-W エージェント(エージェントホスト名)に実行ファイル(ファイル名)がありません」
例えば,システムツールのバックアップユーティリティ(ntbackup)を実行した場合に発生することがあります。
現象2
Windowsイベントログに次のようなメッセージを出力し,ジョブが終了コード「128」で異常終了する。
「netman.dllが見つからなかったため,このアプリケーションを開始できませんでした。」
例えば,システムツールのipconfigコマンドを実行しようとした場合に発生することがあります。
jp1execコマンド%systemroot%¥system32配下の実行ファイルを指定したjp1execコマンドが起動に失敗し,jp1execコマンドを実行したジョブが異常終了します。
メール連携機能メール連携機能を使用する設定をしている場合,JP1/AJS2サービス起動時にメール監視用通信プロセスが異常終了します。この場合,メール受信ジョブを実行するとジョブが異常終了します。
JP1/AJS2 - Viewのツール実行%systemroot%¥system32配下の実行ファイルをJP1/AJS2 - 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/AJS2から起動したジョブが32ビットプログラムであれば標準出力ファイルを参照および更新できますが,64ビットプログラムは標準出力ファイルを参照および更新できません。
PCジョブの標準エラー出力ファイルPCジョブの標準エラー出力ファイルに%systemroot%¥system32配下のファイルを指定した場合,%systemroot%¥syswow64配下のパスにリダイレクトされます。JP1/AJS2から起動したジョブが32ビットプログラムであれば標準エラー出力ファイルを参照および更新できますが,64ビットプログラムの場合は標準エラー出力ファイルを参照および更新できません。
PCジョブの転送ファイルPCジョブの転送元ファイルに%systemroot%¥system32配下のファイルを指定した場合,%systemroot%¥syswow64配下のパスにリダイレクトされるため,転送元ファイルが見つかりません。そのため,ジョブは起動失敗します。
また,PCジョブの転送先ファイルに%systemroot%¥system32配下のファイルを指定した場合,%systemroot%¥syswow64配下のパスにリダイレクトされます。JP1/AJS2から起動したジョブが32ビットプログラムであれば転送先ファイルを参照,更新できますが,64ビットプログラムは転送先ファイルを参照,更新できません。
コマンドコマンドの入力または出力に使用するファイルに%systemroot%¥system32配下のファイルを指定した場合,%systemroot%¥syswow64配下のパスにリダイレクトされるため,指定したファイルの参照や更新ができません。
環境設定環境設定で指定するファイルに%systemroot%¥system32配下のファイルを指定した場合,%systemroot%¥syswow64配下のパスにリダイレクトされるため,指定したファイルの参照や更新ができません。
注※1
ジョブの実行先サービスに[JP1/AJS2 Queueless Agent]を指定している場合も含みます。
注※2
ファイルダイアログボックスでは,%systemroot%¥system32配下のファイルは指定できません。

また,PCジョブ,Windows上で実行するQUEUEジョブ,またはjp1execコマンドで発生する現象を回避する方法として,JP1/AJS2がジョブを起動する際に,一時的にファイルシステムリダイレクトを無効にすることで,%systemroot%¥system32下の64ビットアプリケーションを起動できるように設定できます。設定方法の詳細については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 7.28 WOW64環境でジョブを実行する際にファイルシステムリダイレクトを無効にする設定」を参照してください。