かなり基本的な(100行以内)Visual C#プロジェクトがありますが、サードパーティのDLL参照がいくつか含まれています。プロジェクトが開発されたコンピューターでプロジェクトを実行すると、プロジェクトは正常に実行されます。
Microsoft Visual C#2010 Expressに移動するProject->Publish <project name>
と、setup.exeインストーラーを含むいくつかのファイルがビルドされます。
これらのファイルを別のコンピューターに移動してsetup.exeを実行すると、プログラムが正しくインストールされます。
しかし、私がプログラムを実行すると、それは単に次のように終了します。
ProjectName.exeで問題が発生したため、閉じる必要があります。ご不便をおかけしてしまい申し訳ございません。
コマンドウィンドウも少しの間表示され、エラーが発生しますが、何を言っているのか理解するのは困難です。次のようになります。
未処理の例外:System.Runtime.InteropServices.COMException:CLSID {.......}を持つコンポーネントのCOMクラスファクトリの取得が、次のエラーのために失敗しました:....。
コマンドウィンドウを表示したままにすることができないため、完全なメッセージを取得できません。しかし、これは他のコンピュータがそれらのサードパーティのDLLを持っていないことが原因だと思います。
このエラーが表示されないように、Visual C#2010にDLLを含むすべてをパッケージ化するにはどうすればよいですか?または、それが実際の問題ではない場合、コマンドウィンドウがすぐに消えないようにするにはどうすればよいですか?(必要なDLLの完全なリストはわかりません)
または、DLLがC:\ Windows \ system32に登録されているDLLである場合、プロジェクトはそれをパッケージに組み込むことはありませんか?それが何に依存しているかを確認する方法はありますか?