Ответ 1
Прежде всего, я хочу ответить на ваш вопрос о том, готов ли VSTO к более крупным реализациям. Ответ: ДА! Особенно, если альтернативой является VBA. У вас есть вся инфраструктура .Net, вы можете использовать веб-службы ADO.Net(еще лучше, с корпоративной библиотекой). Вы все еще можете написать код, который очень похож на VBA, но гораздо более мощный. Вы можете получить дополнительную информацию, прочитав Пошаговое руководство. Создание вашей первой настройки уровня документа для Excel. Эта страница даст вам представление о том, какие функции VSTO доступны для вас.
Теперь, чтобы ответить на ваш вопрос о развертывании.
Это зависит от того, выполняете ли вы настройку надстройки или уровня документа. Если это надстройка, то вы должны установить ее на каждом клиенте, и любая обработка документов не повлияет на это (надстройки находятся на уровне приложения, а не на уровне отдельного документа).
Я предполагаю, что вы говорите о настройке уровня документа, поэтому я сосредоточу свой ответ на этом.
Когда вы создаете настройку уровня документа, сборки не загружаются в файл excel (как и в VBA). Вместо этого добавляется свойство документа, сообщающее приложению, что этот документ содержит файл манифеста (и сообщает ему о местоположении файла манифеста). Файл манифеста содержит ссылки на сборку, которая составляет вашу настройку.
Как и в любом приложении .Net, иногда есть другие (связанные) сборки, которые также необходимо развернуть. Не всегда эти сборки в GAC, поэтому они должны быть расположены в той же папке, что и ваша исполняющая сборка (в данном случае ваша сборка настройки). Однако вам необязательно размещать сборки в том же месте, что и ваш файл excel.
Есть несколько способов развернуть настройку.
- Вы можете хранить все сборки и файл excel в папке и запускать приложение таким образом (если файл excel передан, пользователи должны пройти по всей папке).
- Вы можете запустить программу установки, которая устанавливает сборки в определенную папку на компьютере пользователя, и указывает манифест в этом месте (если файл excel передан, пользователи также должны пройти программу установки).
- Вы можете установить сборки в сетевом расположении и указать в свойствах документа, что манифест и сборки находятся в этом сетевом расположении (если файл excel передан, с ним ничего не нужно передавать, но есть настройки безопасности, которые необходимо выполнить. Прочитайте эту страницу для получения дополнительной информации).
В любом случае, когда вы решите это сделать, вот страница, которую вы должны прочитать, чтобы понять свойства документа, которые позволяют настроить.
Вам необходимо убедиться, что все ваши пользователи установлены. Самый простой способ сделать это - дать им всю программу настройки. Если вы создаете проект настройки для своей настройки, вы можете настроить загрузчик для автоматической установки необходимых предварительных условий. Вы также можете сделать это, если вы используете ClickOnce для установки настройки. Эта страница предоставит вам всю информацию, необходимую вам для ознакомления относительно развертывания.
Вот некоторые полезные ссылки, которые вам нужно увидеть:
- Манифест приложений для офисных решений (система 2007)
- Манифест развертывания для офисных решений (система 2007)
- Манифест приложений и развертывания в офисных решениях
Надеюсь, это поможет. Как только вы прочтете всю эту информацию, я думаю, вы согласитесь, что VSTO - намного лучший выбор, чем VBA. Вам просто нужно тщательно планировать развертывание.