我为我编写的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控件,我在我的参考资料中有。我想我已正确配置了该特定参考:“embed interop types”设置为false
,“copy local”设置为true
。此外,我不确定这是我遇到问题的特定DLL,因为“身份”在Visual Studio中显示为{9FC6FA7A-5A93-4F93-8351-8BEF6D483280}\1.0\0\tlbimp
(与上面的错误不同的CLSID)。虽然,我不确定“身份”和“CLSID”在这种情况下是否相同???
以下是指向我的项目参考配置截图的链接:http://i.stack.imgur.com/lltuv.jpg
以下是该程序的Process Monitor跟踪尾部屏幕截图的链接:http://i.stack.imgur.com/D4Xeu.jpg
以下是该流程的完整Procmon日志文件的链接:http://dl.dropbox.com/u/7461/ProcmonLogfile.PML
如何解决此问题(甚至如何进行调试)的任何建议将不胜感激。感谢。
答案 0 :(得分:0)
啊哈!我想通了......
我必须使用vsfrfCOM
方法在安装程序中注册COM ActiveX .DLL和.OCX文件。