Проблема регистрациии СОМ под Вистой

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Проблема регистрациии СОМ под Вистой

Сообщение xenomorph » 07.09.2008 (Вс) 12:42

У меня есть программа на ВБ.НЕТ в которую входит MSHFLXGD.OCX

Тестирование инстала я провожу на 2 тестовых системах под VMWare.

Чистая Виста + Оффис 2008
Чистый ХР (без нет платформы) + Оффис 2000

Устанавливаеться и работает всй ок.

Пакет установки проверяет наличие админ прав, если надо ставит дот нет фрейм,
регистрирует все КОМ компоненты сам, но находятся они все в папке с программой.

Во всем тестовых ситуациях - установка приложения и работа - нормальная.
--
На сайте программы работает статистика на пхп, а внутрь на каждой процедуре
висит обработчик по принципу:

Код: Выделить всё
Try
  '---------------
  'полезный код
  '---------------
Catch ex as exception
  '---------------
  'серилизируем ошибку и отправляем сообщение в БД на сервер.
  '---------------
End Try


На сервере отлавливаю регулярно вот такую ошибку:

fatal error: 09.06.08, hid: 83bccba7 time: 17:12:22 os ver: Microsoft Windows NT 5.2.3790 Service Pack 2, parms: An error occurred creating the form. See Exception.InnerException for details. The error is: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) at pd_core.My.MyProject.MyForms.Create__Instance__[T](T Instance) at pd_core.mod_IPCMonitoring.AutoloadFile() Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid) at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid) at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid) at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid) at System.Windows.Forms.AxHost.CreateInstance() at System.Windows.Forms.AxHost.GetOcxCreate() at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state) at System.Windows.Forms.AxHost.CreateHandle() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.AxHost.EndInit() at pd_core.frm_Core.InitializeComponent()


В попытке найте причину я провёл эксперимент под ВМ Варе -
установил программу и вытер MSHFLXGD.OCX

На сервер ушла ошибка:

fatal error: 09.07.08, hid: 11b038e2 time: 11:49:44 os ver: Microsoft Windows NT 6.0.6001 Service Pack 1, parms: An error occurred creating the form. See Exception.InnerException for details. The error is: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) at pd_core.My.MyProject.MyForms.Create__Instance__[T](T Instance) at pd_core.frm_Splash.tmr_Loader_Tick(Object sender, EventArgs e) Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid) at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid) at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid) at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid) at System.Windows.Forms.AxHost.CreateInstance() at System.Windows.Forms.AxHost.GetOcxCreate() at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state) at System.Windows.Forms.AxHost.CreateHandle() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.AxHost.EndInit() at pd_core.frm_Core.InitializeComponent() at pd_core.frm_Core..ctor()


Думаю что причина в незарегистрированном компоненте.

Вопрос знатокам - что за безобразие? Почему на тестовых системах всё ок - а у клиентов такая лажа?
При чем по статистике такая фигня у 2 из 10 человек.
--
Заранее спасибо!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Re: Проблема регистрациии СОМ под Вистой

Сообщение xenomorph » 07.09.2008 (Вс) 12:45

Вопрос вдогонку:

Каким гридом из фрейма можно заменить MSHFLXGD.OCX?
Желательно грид попроще :-)
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Проблема регистрациии СОМ под Вистой

Сообщение Williams » 07.09.2008 (Вс) 13:45

Как обстоят дела с элевацией? Есть ли в манифесте необходимые данные?

Одна из этих строк должна присутствовать:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
И вы думаете, что вас оставят в живых после прочтения этого поста?

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Re: Проблема регистрациии СОМ под Вистой

Сообщение xenomorph » 07.09.2008 (Вс) 13:59

Насчёт элевации - я так понимаю она необходима только для ИНСТАЛЛА. Так как именно ОН регистрирует КОМ-ки.

Фишка в том что он блокирует инсталляцию если пользователь не админ. [Уже проверил под Вистой на ограниченом аккаунте. Он НЕ запускаеться если не под админом]

Есть ли смысл прикреплять манифест с запросом на элевацию привилегий к самому приложению (Не сетапу)?

Само приложение НЕ требует админ прав и НЕ регистрирует. КОМ объекты.

Что делать?
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

dart
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 04.09.2008 (Чт) 3:27

Re: Проблема регистрациии СОМ под Вистой

Сообщение dart » 09.09.2008 (Вт) 1:14

флекс гид можно заменить datagridview, у него и возможностей больше, и работать с ним проще.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList