В настоящее время я работаю над проектом c #, где мне нужно получить доступ к Outlook. Разработка ведется на двух разных машинах, на одной из которых установлен офис, а на другой нет. Я ранее спросил, как скомпилировать мой проект для объекта outlook com, и в одном из комментариев было предложено, чтобы я скомпилировал его для основной офисной сборки взаимодействия или PIA. В моем загруженном Office 2007 PIA есть msi-файл, который должен установить несколько PIA для различных частей Office. Моя проблема в том, что, похоже, этого не происходит. На моей машине без офиса, после ввода
msiexec /i o2007pia.msi
при появлении приглашения запускается установщик Windows с окном сообщения «Пожалуйста, подождите, пока Windows настроит основные сборки взаимодействия Microsoft Office 2007. Сбор необходимой информации» вместе с индикатором выполнения на уровне около 33%, после чего он исчезает, и после чего
gacutil -l microsoft.office.interop.outlook
не дает результатов для Office 2007 (я получаю результат, который имеет версию 10.0.4504.0 и является результатом более ранней попытки установки с неправильной версией Office., Но в PIA Office 2007 используется основная версия 12.)
Я вижу пару возможных объяснений, ни в одно из которых я действительно не верю:
GAC не может обрабатывать несколько версий одной и той же сборки и поэтому не позволяет мне устанавливать более новую версию.
Почему-то я не выполняю требований . Это в основном XPsp2 и .Net 1.1 или выше, оба из которых у меня есть. В разделе требований также упоминается, что загрузка работает с Office 2007, который я не установил, но я не думаю, что это требование. Это объясняется тем, что это не указано как требование, но также и тем, что Ханс Пассант в комментарии к моему первоначальному вопросу был очень уверен, что PIA могут быть специально использованы для разработки без установки Office, поэтому не имеет смысла иметь Office в качестве обязательного условия.
Так у кого-нибудь есть идея, почему PIA Office 2007 не устанавливаются правильно, или что я мог сделать, чтобы приблизиться к ответу? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Спасибо.