Использование DAO 3.6 в разных версиях Access
Мне необходимо сделать mde-шник, работающий под разными версиями Access (начиная с 97). Там жёстко прописывается ссылка на библиотеку DAO, изменить которую конечный пользователь не будет иметь возможности.
Вопрос следующий. Если сделать инсталляшку, которая при инсталляции будет класть библиотеку DAO 3.6 в определённую директорию, а в mde прописать ссылку на библиотеку в этой самой дирректории, будет ли это работать в различных версиях Windows (от 98) и Access (от 97)? Кто-нибудь пытался реализовать подобный механизм, какие подводные камни здесь могут быть?
С уважением, Андрей
Уважаемые господа!
Мне необходимо сделать mde-шник, работающий под разными версиями Access (начиная с 97). Там жёстко прописывается ссылка на библиотеку DAO, изменить которую конечный пользователь не будет иметь возможности.
Вопрос следующий. Если сделать инсталляшку, которая при инсталляции будет класть библиотеку DAO 3.6 в определённую директорию, а в mde прописать ссылку на библиотеку в этой самой дирректории, будет ли это работать в различных версиях Windows (от 98) и Access (от 97)? Кто-нибудь пытался реализовать подобный механизм, какие подводные камни здесь могут быть?
С уважением, Андрей
Так как создание установочного пакета для *.mde - файла - задача нетривиальная, то, есдинственное, ято приходит на ум, это написать или *.exe-шник, или скрипт, который будет регестрировать библиотеку (Access получает не фиксированное имя библиоткеи, а смотрит в реестре путь к ней, и играя этим путём ты можёшь добиваться результата (правда, уточни этот вопрос - я могу ошибаться, но по аналогии со всей структурой алгоритма работы с библами, это должно быть так)).
Вариант со скриптом проще:
1. Пишешь скрипт, который будет при запуске копировать твою библиотеку в нужную папку, а потом ввыполнять команду: regsrv32 [полный путь к *.dll]
Вариант с exe-шником сложнее, но "чище", так сказать:
2. Пишешь исполняемый файл, который будет находить в реестре путь к библиотеке, если она уже установлена, удалять ссылку из реестра, или выполнять команду: regsrv32 [полный старый путь к *.dll] -u
Затем копировать новую dll-ку, и регестрировать её в реестре по новому пути. или выполнять команду: regsrv32 [полный путь к *.dll]
Я, к сожалению, вижу только такие пути решения проблемы.
Посмотри ещё в истории - тут где-=то уже были подобные посты.