2

次のコマンドを使用してWindowsサービスを実行しようとしていますC:\ Windows \ system32> installutil.exe MyNewService.exe

しかし、以下のエラーが発生します:インストールの初期化中に例外が発生しました:System.IO.FileNotFoundException:ファイルまたはアセンブリ'file:/// C:\ Windows \ system32\MyNewService.exe'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません..

スペースに問題があると言ってさまざまなブログを試しましたが、コードに適切な変更を見つけることができませんでした。誰かが私が必要とした変更を教えてもらえますか?

4

4 に答える 4

3

フォルダの権限の問題である可能性がありSystem32ます。サービス実行可能ファイル(およびその他の関連ファイル)を次のようなものに移動して、次のようC:\MyNewService\にインストールを呼び出してみてくださいC:\Windows\system32>installutil.exe C:\MyNewService\MyNewService.exe

于 2013-01-23T18:01:59.390 に答える
3

このエラーは、「installutil.exe」が「C​​:\ Windows \ system32」にないためです。これは.NETフレームワークファイルであり、.NETFrameworkのバージョンで見つかります。たとえば、Framework 4.0の場合、次のファイルを見つけることができます: "C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319"

コマンドプロンプトウィンドウを開き、「C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319」に「cd」してから、次のコマンドを実行することをお勧めします。

installutil.exe G:\ MyProjects \ MyNewService \ MyNewService.exe

これで問題が解決するはずです。

于 2013-01-23T18:08:08.577 に答える
1

残念ながら、これは非常に一般的なエラーであり、背後に多くの問題がある可能性があります。基本的に、.NETランタイムはファイルを完全にロードできませんでした。これは、奇妙な場合にファイル自体に問題があるか、依存関係の1つが見つからなかった可能性があります。

依存関係は連鎖することが多いため、参照するアセンブリは、欠落している別のアセンブリを参照する可能性があることに注意してください。いくつかの推奨事項:

  • 依存関係のいずれかが強く署名されていないかどうかを再確認してください。
  • 強く署名されていない場合は、サービスと同じディレクトリにある必要があります。
  • 強い署名がある場合は、GAC(正しいものであることを確認してください。.NET4DLLを.NET 2 GACに配置しても機能しません)または同じディレクトリにある必要があります。
  • 依存関係がGACにある場合は、問題を回避するためにローカルディレクトリにコピーを配置してみてください。
  • 最後に、まだ問題が発生している場合は、デバッグの依存関係、特にFusion Logを調べてください。その日付に到達する方法はたくさんあることに注意してください。最初の結果にリンクしただけで、
于 2013-01-23T18:07:59.747 に答える
0

あなたの懸念に感謝します私は解決策を得ました。実際、私はinstallutilMyNewService.exeを提供していました

代わりに、installutilMyNewService.exeフルパスを指定する必要があります。

于 2013-01-23T18:11:56.047 に答える