Проблема с установочным / установочным пакетом проекта VB.NET 2010 - PullRequest
2 голосов
/ 03 февраля 2011

Я создал проект установки для приложения 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)

Я использую сторонний элемент управления ActiveX COM, который есть в моих ссылках. Я думаю, что эта конкретная ссылка настроена правильно: для «embed interop types» установлено значение false, а для «copy local» установлено значение true. Кроме того, я не уверен, что это именно та DLL, с которой у меня проблема, поскольку «Identity» отображается в Visual Studio как {9FC6FA7A-5A93-4F93-8351-8BEF6D483280}\1.0\0\tlbimp (другой CLSID, чем в приведенной выше ошибке). Хотя, я не уверен, что «Identity» и «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

Буду очень признателен за любой совет, как решить эту проблему (или даже как продолжить отладку). Спасибо.

1 Ответ

0 голосов
/ 04 февраля 2011

Aha! Я понял это ...

Мне пришлось зарегистрировать файлы COM ActiveX .DLL и .OCX в программе установки, используя метод vsfrfCOM.

...