Страница 1 из 1

Регистрация mscal.ocx

Добавлено: 31 авг 2004, 09:59
const
Сделал word-шаблон в нем используется календарь 10 (mscal.ocx).
Использую Office Xp, Windows Xp.

Добавлял вот так

1. regsvr32.exe "C:\Program Files\Microsoft Office\Office10\mscal.ocx"
Создается раздел в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}

2. Редактор VB -> Tools -> References -> Browse -> mscal.ocx -> OK
Создается раздел в реестре
HKEY_CLASSES_ROOT\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
3. Редактор VB -> Additional controls -> Календарь 10
Использую его в форме. Компилирую, все OK.

Перенес на другую машину с Office Xp, Windows Xp шаблон.
Зарегистрировал mscal.ocx. После открытия ругается на календарь.
Редактор VB -> Tools -> References [Microsoft Calendar Control 10.0 -> C:\Program Files\Microsoft Office\Office10\mscal.ocx]
Снимаю галку, и опять устанавливаю через Browse.
Создается раздел в реестре
HKEY_CLASSES_ROOT\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
Компилирую, все OK.

Решил проблему копированием раздела при инсталляции
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
в HKEY_CLASSES_ROOT\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}

Подскажите почему так, и как правильно зарегистрировать mscal.ocx?

Добавлено: 02 сен 2004, 01:52
Naeel Maqsudov
1. regsvr32.exe "C:\Program Files\Microsoft Office\Office10\mscal.ocx"
Создается раздел в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}

2. Редактор VB -> Tools -> References -> Browse -> mscal.ocx -> OK
Создается раздел в реестре
HKEY_CLASSES_ROOT\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
Неверно.
разделы
HKEY_CLASSES_ROOT\CLSID\
и
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\
синхронизированы. Пропробуйте добавить раздел в HKEY_CLASSES_ROOT\CLSID\ и вы его увидите в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. Затем удалите этот раздел из HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ и он исчезнет в HKEY_CLASSES_ROOT\CLSID\.

Точнее говоря они не синхронизированы а вообще ссылаются на одни и те же записи реестра.

Всегда достаточно только зарегистрировать библиотеку утилитой regsvr32.
и как правильно зарегистрировать mscal.ocx
ТОЛЬКО regsvr32!
Решил проблему копированием раздела при инсталляции
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
в HKEY_CLASSES_ROOT\CLSID\{8E27C92B-1264-101C-8A2F-040224009C02}
Неверю. Это все равно что написать в программе на бейсике
Let X = X
Ошибок нет, но и пользы соответственно тоже никакой!

ПО СУЩЕСТВУ:
Я подозреваю, что после того как вы сделали
"Редактор VB -> Tools -> References -> Browse -> mscal.ocx -> OK"
и после этого СОХРАНИЛИ проект, он сразу стал переноссимым,
так как ссылка на используемые (подгружаемые) ActiveX-библиотеки
хранится в проекте.
Уверен, что именно это и решило проблему.