6

Windowsサービスを開始しようとするとこのエラーが発生し、気が狂ってしまいます。詳細は次のとおりです。

  • VB.NET (VS 2012) で開発された Windows サービスがあります。これは x86 マシン用にコンパイルされています。
  • InstallUtil と "SC CREATE" コマンドを使用して、顧客のサーバー (Windows Server 2003 で実行) にサービスをインストールしました。
  • サービスを開始しようとすると、「ローカル コンピューターでサービスを開始できませんでした。エラー 193: 0xc1」というエラー メッセージが表示されます。
  • 手がかりを得るためにイベント ビューアーを調べましたが、非常に有用な情報が見つかりませんでした。[アプリケーション] タブには、サービスによってログに記録されたレコードがないため、コードを 1 行も実行していないと思います。[システム] タブには、サービス コントロール マネージャーによって次のエラー メッセージが記録されたレコードがあります:「%1 は有効な Win32 アプリケーションではありません。」

私は Web で長い調査を行いましたが、提供された唯一の解決策は、Windows レジストリをチェックしてサービスの ImagePath を見つけ、パスの最初と最後にいくつかの引用符を追加することです。これで問題は解決するはずですが、私の場合はうまくいきません。ImagePath を数回変更しました (引用符を追加および削除し、二重引用符と三重引用符を試しました) が、肯定的な結果は得られません。

誰かがこれで私を助けてくれますか? 前もって感謝します...

4

3 に答える 3

6

使用している.netFrameworkとWindowsServer2003には戦闘性の問題があると思います。.net4.5を使用していますか?Windows Server 2003は、ネットフレームワーク4.5を対象とするアプリケーションを実行できません。

http://www.microsoft.com/visualstudio/eng/products/compatibility

したがって、ターゲットフレームワークを4.0に変更できます。

于 2013-01-29T08:12:40.607 に答える
2

私の問題は、プロジェクト プロパティの [アプリケーション] ペインで、サービス プロジェクトをWindows アプリケーションではなくクラス ライブラリとして構成したことが原因でした。

Visual Studio 2015 プロジェクト プロパティ ウィンドウ

于 2016-02-11T05:58:33.903 に答える