2011-02-03 12 views
2

私が作成したVB.NET 2010アプリケーション用のセットアッププロジェクトを作成しました。アプリケーションとインストーラはどちらも私の開発マシンで正常に動作します。VB.NET 2010プロジェクトセットアップ/インストールパッケージの問題

インストーラは他のマシンで正常に動作しますが、アプリケーションを実行するとすぐにクラッシュし、何も役に立たなくなります。私はWindows 7、Windows XP、Windows Vistaマシンで試してみましたが、すべて同じ問題を抱えていました。マシン固有の問題よりもパッケージ構成上の問題だと思います。

{"An error occurred creating the form. See Exception.InnerException for details. 
The error is: Retrieving the COM class factory for component with CLSID {3C7D2D88-00EA-4134-A737-D0381D0E6346} failed due to the following error: 
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."} 
at GarminRealtimePhotoTag.My.MyProject.MyForms.Create__Instance__[T](T Instance) 
at GarminRealtimePhotoTag.My.MyApplication.OnCreateMainForm() 
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() 
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() 
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) 
at GarminRealtimePhotoTag.My.MyApplication.Main(String[] Args) 

私は私の参照を持っているサードパーティCOMのActiveXコントロールを、使用しています:

は、ここで私はそれから抜け出すことができた最も有用な情報です。私は、特定の参照が正しく設定されていると思います。「埋め込みinteropタイプ」はfalseに設定され、「コピーローカル」はtrueに設定されています。また、「ID」が{9FC6FA7A-5A93-4F93-8351-8BEF6D483280}\1.0\0\tlbimp(上記のエラーとは異なるCLSID)としてVisual Studioに表示されているため、問題が発生している特定のDLLであることがわかりません。しかし、私は "アイデンティティ"と "CLSID"はこの場合は同じものですか?ここで

http://i.stack.imgur.com/lltuv.jpgは、プログラムのプロセスモニタトレースの末尾のスクリーンショットへのリンクです:ここで

は私のプロジェクトの参照が設定されているかのスクリーンショットへのリンクです。ここ http://i.stack.imgur.com/D4Xeu.jpg

リンクですプロセスの完全なProcmonログファイルに:http://dl.dropbox.com/u/7461/ProcmonLogfile.PML

これを解決する方法(またはデバッグを進める方法さえあれば)に関するアドバイスは大歓迎です。ありがとう。

答えて

0

Aha!私はそれを理解しました...

vsfrfCOMメソッドを使用して、COM ActiveX DLLと.OCXファイルをインストーラに登録する必要がありました。