"%1 は有効な Win32 アプリケーションではありません。" というエラー メッセージがサービスの開始時に表示され、イベント ID 7000 が発生する

現象

コンピューターにインストールされている 1 つまたは複数のサービスが開始せず、以下のいずれかの問題が発生します。
  • 次のエラー メッセージが表示されます。
    エラー 193: %1 は有効な Win32 アプリケーションではありません。
    および
  • 開始しない各サービスについて、システム イベント ログに以下のイベントが記録されます。

原因

この問題は、サービスの実行可能ファイルのパスに空白が含まれている場合に発生することがあります。

Windows はサービスを開始するとき、サービスのパスを左から右に解析します。以下の両方の条件に該当する場合、Windows は、サービスの実行可能ファイルを見つけて実行する前に、以下のファイルやフォルダーを見つけて実行することがあります。
  • サービスの実行可能ファイルのパスに空白が含まれています。
  • コンピューターのハード ディスクに、サービスの実行可能ファイルのパスに含まれるファイルやフォルダーと同じ名前のファイルやフォルダーが存在します。
たとえば、サービスの実行可能ファイルのパスが C:\Program Files\MyProgram\MyService.exe であり、ハード ディスクに C:\Program という名前のフォルダーも存在する場合、Windows は、C:\Program Files\MyProgram\My Service.exe ファイルの前にハード ディスクの C:\Program フォルダーを見つけて実行しようとします。

解決方法

重要 このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。レジストリのバックアップ方法および復元方法の詳細については、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法


この問題を解決するには、Windows レジストリの以下のエントリを引用符で囲みます。<サービス名> はサービスの名前です。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>\ImagePath
ImagePath エントリには、サービスの実行可能ファイルのパスが含まれています。サービスの ImagePath エントリを引用符で囲むには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. [名前] ボックスに「regedit」と入力し、[OK] をクリックします。
  3. 以下のレジストリ キーを見つけてクリックします。<サービス名> はサービスの名前です。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>
    たとえば、サービス名が MyService であれば、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService キーを見つけます。
  4. 右側のウィンドウで、ImagePath をダブルクリックします。
  5. [値のデータ] ボックスで、サービスの実行可能ファイルの完全なパスを引用符で囲みます。

    たとえば、MyService サービスのパスが C:\Program Files\MyProgram\MyService.exe の場合、MyService サービスの [値のデータ] ボックスのエントリを以下のように変更します。
    "C:\Program Files\MyProgram\MyService.exe"
  6. [OK] をクリックし、レジストリ エディターを終了します。
プロパティ

文書番号:812486 - 最終更新日: 2014/01/08 - リビジョン: 1

フィードバック