В настоящее время у нас есть серьезная проблема с использованием Microsoft Access Database Engine 2010. Механизм поставляется в 64-битной и 32-битной формах, и это хорошо. Однако, очевидно, вам всегда нужно устанавливать 32-битную версию, если хост-процесс всегда 32-битный. Хорошо, мы можем это сделать.
Наше программное обеспечение работает с множеством устаревших компонентов, которые являются 32-битными, и большая часть из них находится в коде VB6, который генерирует 32-битную сборку. Итак, мы исходим из того, что драйвер также должен быть установлен как 32-битный. Действительно, когда мы устанавливаем 32-битные драйверы на 64-битный компьютер и запускаем наши 32-битные приложения, он работает правильно.
Однако проблема начинается, когда в системе установлен 64-разрядный Office 2010. Поверьте мне, мы пытались объяснить пользователям, что 64-разрядный Office практически не нужен, но безрезультатно. Поскольку компьютеры сходят с конвейера с установленными 64-разрядными версиями, мы не можем справляться с запросами в службу поддержки, когда наше программное обеспечение что-то ломает. Либо 64-разрядный Office нарушает нашу установку, либо наша установка нарушает их версию Office, но это в любом случае не очень хорошо. Еще одна проблема заключается в том, что не унаследованное программное обеспечение иногда устанавливает 64-разрядные драйверы (как и должно), и две версии просто несовместимы каким-либо разумным образом. Либо наше программное обеспечение ломается, либо их программное обеспечение ломается.
Итак, кому-нибудь удалось найти способ заставить 32-битные драйверы сосуществовать с 64-битными установками? Я видел, что установка с флагом /passive
позволяет установить оба, а наш установщик действительно использует пассивный режим. Обе программы устанавливаются, но в системе либо наше программное обеспечение перестает работать, либо Office постоянно восстанавливает свою установку. Есть ли разумный способ заставить эту работу работать?