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