1

Visual Studio 2010 を使用して、Windows フォーム アプリケーション .Net 4.0 C# をインストールするセットアップ プロジェクトをビルドします。何年もの間問題なく動作していましたが、完成したセットアップ ファイルをインストールしようとすると、次のエラー メッセージが表示されます。

エラー 1001。「パス」アセンブリにインストールされたタイプを取得できません。--> 要求されたタイプの 1 つ以上を読み込めません。詳細については、LoaderExceptions プロパティを取得してください。

何も見つからずに、4時間以上答えを探しています。この問題は、私が何もしなくても発生しました。前回インストール ファイルをビルドしたのは 2 週間ほど前で、まったく問題はありませんでした。セットアップ プロジェクトに関係する参照やコードは削除していません。

何もないところからこの問題が発生し、さらに重要な問題が発生する可能性があります。どうすれば修正できますか?

4

2 に答える 2

1

2 番目のコメントのエラー メッセージに基づいて、SysDir.exe アセンブリが InstallerClass プロパティが true に設定されたカスタム アクションとして追加されたようですが、exe 内にインストーラー クラスが見つからないか、exe を実行できませんでした。依存関係がないためにロードされました。

カスタム アクションのリストを表示するには、インストーラー プロジェクトを右クリックし、[表示]、[カスタム アクション] の順に選択します。

exe がインストーラー クラスに対応していない場合は、カスタム アクションのリストから削除できます。

インストーラー クラスが含まれている場合、問題は依存関係の欠落です。fuslogvw が機能しない場合 (常にこの種の問題の解決に役立っています)、exe のプロジェクト内の参照のリストを注意深く確認し、インストーラー プロジェクトにリストされているものと比較してください。

もう 1 つの方法は、エラー メッセージが画面に表示されている間にインストール ディレクトリを調べることです。通常、インストーラー プロジェクト内の DLL エントリにパスが正しく入力されていないか、条件が正しく設定されていないために、これを行うと DLL が見つからないことがよくあります。

于 2012-08-04T18:40:49.557 に答える