Возможно ли заставить работать приложение, на ПК, где нет необходимой версии офиса?
Разрабатывал приложение, где стоял 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.
Комментариев нет:
Отправить комментарий