:: Visual Foxpro, Foxpro for DOS
Вызове thisform.AddObject запускается установщик Windows
Baga
Автор

Сообщений: 540
Откуда: г. Махачкала
Дата регистрации: 03.06.2006
Win10, VFP9 SP2
Недавно после автоматического обновления Windows перестали работать некоторые, давно наработанные методы.
В частности на строке thisform.AddObject
SET CLASSLIB TO (formdir)+'mstrih.vcx' ADDITIVE
thisform.AddObject("olecontrol1","oshtrih")
запускается установщик windows и требует установки каких-то компонентов VFP9.
Причем эта же ошибка выдается и при запуске программы с экзешника, скомпилированного до обновления Windows.
А у меня нет установщика, не знаю куда дел, давно устанавливал.
Как решить проблему?


------------------
Багавудин Мирзаев
Ratings: 0 negative/0 positive
Re: Вызове thisform.AddObject запускается установщик Windows
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
У меня такая фигня была от вируса.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Вызове thisform.AddObject запускается установщик Windows
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Baga
А у меня нет установщика, не знаю куда дел, давно устанавливал.
Как решить проблему?
Найти установщик, и переустановить фокс/программу
Можно вручную:
- определить что за активикс используется этой библиотекой (дерево, выбор дат, статусная строка и т.п.)
- удалить из реестра информацию о его регистрации. Лучше всего путём штатной деинсталляции той программы, которая его установила (т.е. того самого VFP 9 ). В реестре как раз и прописаны хитрые ключи говорящие что это advertised установка - это вызывает какие-то проверки при попытках использования, и эти самые попытки "починить" то что не сломалось на самом деле.
- зарегистрировать компоненту напрямую - через regsvr32

Возможно будет достаточным просто удалить в разделе реестра HKEY_CLASSES_ROOT\Wow6432Node\CLSID\<тут GUID нужного тебе компонента>\InprocServer32 строковое значение InprocServer32. Не сам ключ с таким именем! Внутри этого ключа в default как раз должен быть путь к dll/ocx файлу! А вот в "значении" InprocServer32 будет "абракадабра" типа "gfa%Z54tK+A9AQH^bpwVVFP9_Professional>xuPietgety72r9efGjyo1". Но я не уверен что этого будет достаточно, и что система не восстановит всё взад... Надёжнее всё же штатно деинсталлировать "продукт" установивший компонент...

P.S. На 32-битных системах, естественно, в пути к ключу не будет узла Wow6432Node\
сам GUID компонента можно найти зная ProgID компонента. Скажем для дерева это "MSComctlLib.TreeCtrl" - смотрим в реестре ветку HKEY_CLASSES_ROOT\MSComctlLib.TreeCtrl, видим что это таки наше дерево (в default прописано "человеческое" имя компонента Microsoft TreeView Control, version 6.0). Под этим ключом видим CLSID, там в default значении и будет искомый GUID - для данного компонента это {C74190B6-8589-11D1-B16A-00C0F0283628}


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 21.02.18 13:33
Ratings: 0 negative/0 positive
Re: Вызове thisform.AddObject запускается установщик Windows
Baga
Автор

Сообщений: 540
Откуда: г. Махачкала
Дата регистрации: 03.06.2006
Спасибо за подсказки.
Проблему решил переустановкой VFP. Не то чтобы даже переустановкой, а выбором файла vs_setup.msi в окне Brows инсталлера.
Посмотрим, возникнет ли такая ситуация у пользователей и тогда уже пробовать рекомендованные Игорем методы.
Не устанавливать же им фокс...
Кстати, простая переустановка рекомендованных библиотек VFP не помогло.
Полная проверка Авастом вирусов не выявлено.


------------------
Багавудин Мирзаев
Ratings: 0 negative/0 positive
Re: Вызове thisform.AddObject запускается установщик Windows
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Baga
Посмотрим, возникнет ли такая ситуация у пользователей и тогда уже пробовать рекомендованные Игорем методы.
Не устанавливать же им фокс...
Смотря какой системой был собран для них инсталлятор. Что характерно, более "примитивные" и не завязанные на "всю полноту возможностей WindowsInstaller" системы таких проблем не имеют (но могут иметь другие - например некорректно устанавливаться на x64 системы, или просто на "новые" ОСи).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Вызове thisform.AddObject запускается установщик Windows
AndyNigmatec

Сообщений: 1574
Откуда: Волгоград
Дата регистрации: 28.06.2015
Или отказаться в своих прогах от использования ActiveX (по возможности) - найти/написать им замену штатными средствами фокса.
Не всегда это возможно/целесообразно - поэтому и пишу - по возможности.
Таки у себя избавился от них полностью - но они и не критично использовались
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 hvh2007  (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика