запуск regsvr с использованием VBA - PullRequest
1 голос
/ 30 июня 2010

Есть ли способ запустить regsvr32.exe, чтобы зарегистрировать dll с помощью VBA?Мое программное обеспечение доступно (не вините меня, вините компанию).

Доступ по некоторым причинам всегда ссылается на старую версию библиотеки DAO.Примерно через 2 часа поиска в интернете кто-то предложил зарегистрировать библиотеку, и альт сработал.Это сократило мое время с 2 минут (копирование набора записей по ячейкам) до примерно 1 секунды.

так 1) Как я могу вызвать regsvr32.exe с помощью VBA?

2) Существует ли эта утилита в Vista и 7?Компания использует XP прямо сейчас, но там технические службы опробуют Win 7 и, надеюсь, развернут ее на всех компьютерах к концу года.Мое приложение не может перестать работать!

1 Ответ

2 голосов
/ 01 июля 2010

Какую версию DAO вы сейчас используете в качестве ссылки в файле базы данных Access?

Если Access ссылается на более старую версию DAO, то похоже, что процедура установки ошибочно устанавливает ее. Особенно, если это DAO 3.6, так как он входит в состав ОС Windows 2000 и новее. DAO 3.5 и 3.6 следует искать только в C: \ Program Files \ Common Files \ Microsoft Shared \ DAO. Если где-то еще это не так.

Вы можете запустить команду оболочки, чтобы зарегистрировать DAO DLL.

shell("regsvr32 ""C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll""")

Если вы работаете с языками, отличными от английского, вам нужно будет использовать процедуру CSIDL, чтобы найти версию «Program Files» для конкретного языка.

Я не помню, требует ли regsvr32 права администратора. Это, конечно, возможно.

...