У нас есть летняя база данных Access, в которой используется элемент Treeview и справочник Excel Office. С некоторыми обновлениями для Windows мы столкнулись с проблемами с Treeview (генерирует случайные ошибки в элементе управления ActiveX для каждого ввода: перемещение мыши, щелчок мышью и т. Д.). Некоторые клиенты используют Access 2003 (мы, 2007), и поэтому при первом открытии базы данных возникают некоторые ошибки, потому что ссылки должны быть скорректированы.Используйте ссылки на Office и TreeView OCX из файла
Я хочу решить эти проблемы, воспользовавшись ссылкой на Office 2003 (я думаю, это должно быть MSO.dll
) и сохранить его в базе данных как объект OLE. При запуске я хочу «извлечь» файл и использовать его в качестве справочной информации для офисных библиотек, поэтому я отчасти не зависим от установленной версии Office на машине. Кроме того, я думал о том, чтобы делать то же самое с MSCOMCTL.OCX
, чтобы он больше не мог быть поврежден из обновлений Windows. Я надеюсь получить больше стабильности в приложении.
Мои вопросы: возможно ли вообще использовать ссылки в офисе из локального файла вместо окна dir?
И можно ли использовать элемент управления ActiveX непосредственно из локального файла вместо зарегистрированного через RegSvr32?
Если да, то любые ссылки или информация о том, как достичь этого, будем очень благодарны.
С наилучшими пожеланиями,
Matthias
Эти библиотеки являются привлекательными поверхностями атаки, поскольку они настолько распространены. В последнее время Microsoft не стеснялась исправлять их, внося им фундаментальные изменения. Схема, которую вы рассматриваете, только ухудшает ее, смешивая несовместимые версии. Вы не единственный, кто их использует. Они должны быть зарегистрированы в любом случае, не могут сделать это с файлом в dbase. Приложение, подобное этому, обречено на запуск в виртуальной машине, если вы его не поддерживаете. –