ご存知の方がいましたら教えてください。
先日、Windows2008 64bit版のサービスついて質問があります。
レジストリ、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\xxxxx\ImagePath
に起動させるサービスするのパスを記述しますが、net startで起動したところ
193「有効な Win32 アプリケーションではありません。」と表示されました。
調べたところファイルパスが、C:\Program Files\xxx\xx.exeでスペースが入ってるため
両サイドをダブルクォーテーションで囲んだところ、正常に起動しました。
また、プログラム内でCreateProcessで同ディレクトリ内のexeをフルパス実行している箇所
がありますが、同様に起動しません。
しかし、他の同じOSではダブルクォーテーションなしでも正常に起動します。
この原因をわかる方がいましたら教えていただけないでしょうか?
CreateProcessは正常終了しているのですか?
「同様」だと思うなら同様にダブルクォーテーションで囲んでみるとか
またはショートファイル名で指定してみるとか試しましたか?
起動するexeを実行する条件を満たしていないということはないですか?
例えば起動したけどiniファイルが無いからすぐ終了しているとか。
「他の同じOSではダブルクォーテーションなしでも正常に起動します」
の「他の同じOS」は何でしょうか。
同じくWindows2008Server 64bit版を入れている他のPC?
同じPC内に同居させている他のOS?
同じPC同じOSで他のレジストリに対しての場合?