Страницы

Поиск по вопросам

вторник, 20 ноября 2018 г.

Возможно ли заставить работать приложение, на ПК, где нет необходимой версии офиса?

Возможно ли заставить работать приложение, на ПК, где нет необходимой версии офиса?
Разрабатывал приложение, где стоял 2016 офис, потом кинул приложение на ПК, где 2007 офис и возникли проблемы при запуске...
На машине стоял 2007 офис и я попробовал кинуть библиотеку(Вроде, от 2016) и получил такую ошибку:
System.IO.FileLoadException: Could not load file or assembly 'office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
От офиса я использую только Access, например выполняю запросы, а где-то открываю RecordSet и делаю обновление по одной записи...


Ответ

У Microsoft для таких случаев есть свободно распространяемые компоненты. Для Access 2016 - можно взять тут. Похожие компоненты есть и для некоторых других приложений из пакета MS Office. Эти компоненты не позволяют создавать файлы, но позволяют просмотреть и напечатать, а если Excel- или Access-файл представляет из себя приложение, то и использовать функции такого приложения. По факту эти компоненты содержат все необходимое кроме интерфейса для создания и редактирования, который вы можете реализовать в свое программе.
Таким образом вы можете не требовать от пользователя наличие установленного офиса, а включить в свой инсталятор такой компонент и устанавливать его вместе с приложением, либо оставить выбор за пользователем, ставить себе полный пакет офис или установить только компоненты для просмотра документов, о чем собственно и написано в описании компонента, например Microsoft Access 2016 Runtime
Microsoft Access 2016 provides a rich platform for developing database management solutions with easy-to-use customization tools. If no end-user customization is required (including report modifications), you can choose to distribute those Access 2016 solutions so that they run without requiring a full installation of Access 2016. To do so, you must package and distribute your application with the Access 2016 Runtime.

Комментариев нет:

Отправить комментарий