-1

Недавно я столкнулся с серьезной проблемой при установке MS Office 2007, связанной с Access 2007, из-за которой я не смог правильно ссылаться на объекты данных ActiveX 6.1.

Пытаясь решить проблему, я обнаружил, что в установке Office есть две очень похожие папки:

  • C:\Program Files (x86)\Common Files\System\ado\
  • C:\Program Files \Common Files\System\ado\

Обе папки имеют очень похожий контент, но все файлы имеют немного разный размер. Именно здесь хранятся многие из справочных объектов ActiveX.

Я обнаружил, что по умолчанию мой навигатор Access Reference ведет меня в папку (x86) а другая папка не доступна для навигации и выбора нужного файла DLL.

Я также обнаружил, что Microsoft никогда не публиковала 64-битную версию Office (я сомневаюсь в этой информации), что, я думаю, означает, что было бы разумно, чтобы все файлы были в папке (x86) .

Почему существуют две разные папки с почти одинаковыми именами файлов (разного размера) (что подразумевает, что файлы с одинаковыми именами имеют разные коды)?

Означает ли это, что существуют две разные версии ActiveX Data Objects 6.1?

Может ли это означать, что моя проблема заключалась в том, что я не мог ссылаться на правильную версию файла?


PS: мне наконец-то пришлось исправить ошибку, запустив команду Repair с установочного компакт-диска.

1 ответ1

1

Microsoft предоставляет 32-разрядную версию и 64-разрядную версию компонентов данных ActiveX. Таким образом, разработчики программного обеспечения могут создавать 32-битные и 64-битные программы, которые их используют. Причина в том, что они имеют разные размеры, заключается в том, что указатели на 32-битную и 64-битную память имеют разные размеры. (Обычно это означает, что 64-разрядные версии будут больше, но это не всегда так, потому что 64-разрядные процессоры также имеют много оптимизаций для запуска определенных типов кода с использованием более простого двоичного кода / кода сборки.)

Ваше предположение, что эти компоненты были установлены вместе с Office, неверно. ADO является частью пакета "Компоненты доступа к данным Microsoft" (MDAC), который фактически является частью операционной системы. Вот почему номер версии 6.1 соответствует номеру версии Windows для Windows 7, который также равен 6.1.

Причина, по которой ваша версия Microsoft Access ведет вас в папку (x86) заключается в том, что это 32-разрядная версия Access, поэтому она может использовать только 32-разрядные компоненты. Если бы у вас была 64-разрядная версия Access (которая, вопреки вашему утверждению в вопросе, на самом деле существует), вы сможете просматривать только компоненты в не- (x86) каталоге.

(Тот факт, что вы смогли исправить исходную проблему, выполнив Восстановление Windows, означает, что у вас были проблемы с установкой Windows или, возможно, повреждение Центра обновления Windows во время его установки. Однако это не имеет ничего общего с наличием этих двух папок.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .