Windows サービス インストーラーが「エラー 1001。MyService.exe アセンブリでインストーラーの種類を取得できません」というメッセージが表示される場合。そのため、MyServiceInstaller をロードできません。Fusion のログに、Data.dll アセンブリを見つけようとして失敗したことが示されています。
問題は、サービス インストーラー オブジェクトを作成するために Data.dll を読み込む必要がないということです。それらの型を含むメソッドが呼び出される直前まで、型の読み込みがトリガーされなかったと思いました。一部の MyServiceInstaller メソッドは Data.dll から型を参照しますが、ctor は参照しません。
これは、MyService.exe をロードする、または MyServiceInstaller をプローブするという行為が、Data.dll のロードを呼び出すかのようです。
私が理解しているように、フュージョン ログでは、私が知る必要があることを教えてくれません。その時点では遅すぎます。そもそも Data.dll の読み込みをトリガーした MyServer.exe の読み込みまたは MyServiceInstaller のプローブについて知る必要があります。
Data.dll を MyService.exe の隣に配置できないというビジネス要件があります。そして確かに、それはこの問題を解決します。通常の実行時に Data.dll をロードするカスタム AssemblyResolve イベントがあります。