Развертывание решения Office с помощью ClickOnce
Решение Office можно развернуть быстрее, если использовать ClickOnce. При публикации обновлений решение автоматически обнаруживает и устанавливает их. Однако для использования ClickOnce необходимо устанавливать решение отдельно для каждого пользователя компьютера. Поэтому следует рассмотреть возможность использования установщика Windows (.msi), если на одном компьютере будет запускаться несколько пользователей.
В этом разделе
Откат решения до более ранней версии
Дополнительные сведения о развертывании решения Office путем создания файла установщика Windows см. в статье "Развертывание решения Office с помощью установщика Windows".
Публикация решения
Решение можно опубликовать с помощью мастера публикации или конструктора проектов. В этой процедуре вы будете использовать конструктор проектов, так как он предоставляет полный набор параметров публикации. См. мастер публикации (разработка Office в Visual Studio).
Публикация решения
В Обозреватель решений выберите узел, который называется для проекта.
В строке меню выберите "Проект", "Свойства ProjectName".
В конструкторе проектов выберите вкладку "Публикация", на которой показана следующая иллюстрация.
В поле "Расположение папки публикации" (ftp-сервер или путь к файлу) введите путь к папке, в которой конструктор проектов копирует файлы решения.
Можно ввести путь любого из следующих типов.
Локальный путь (например, C:\FolderName\FolderName\FolderName).
Путь к папке в сети (например, \\ServerName\FolderName).
Относительный путь (например, PublishFolder\, который является папкой, в которой проект публикуется по умолчанию).
В поле URL-адрес папки установки введите полный путь к расположению, где конечные пользователи будут находить решение.
Если вы еще не знаете расположение, не введите ничего в это поле. По умолчанию ClickOnce ищет обновления в папке, из которой пользователи устанавливают решение.
Нажмите кнопку Необходимые компоненты .
В диалоговом окне "Предварительные требования" установите флажок "Создать программу установки" для установки необходимых компонентов.
В разделе "Выбор необходимых компонентов для установки списка" установите флажки для установщика Windows 4.5 и соответствующий пакет платформа .NET Framework.
Например, если решение предназначено для платформа .NET Framework 4.5, установите флажки для установщика Windows 4.5 и Microsoft платформа .NET Framework 4.5 Full.
Если решение предназначено для платформа .NET Framework 4.5, установите флажок "Инструменты Visual Studio 2010 для среды выполнения Office".
Примечание.
По умолчанию этот флажок не отображается. Чтобы отобразить этот флажок, необходимо создать пакет начального загрузчика. См. статью "Создание пакета начальной загрузки" для надстройки VSTO Office 2013 с помощью Visual Studio 2012.
В разделе "Укажите расположение установки для необходимых компонентов", выберите один из отображаемых параметров и нажмите кнопку "ОК ".
В таблице ниже представлено описание каждого из этих параметров.
Вариант Описание Скачать необходимые компоненты с веб-сайта поставщика компонентов Пользователю будет предложено загрузить и установить эти необходимые компоненты у поставщика. Скачать необходимые компоненты с местоположения моего приложения Необходимое программное обеспечение устанавливается вместе с решением. Если выбран этот параметр, Visual Studio копирует все пакеты необходимых компонентов в расположение публикации автоматически. Чтобы этот параметр действовал, пакеты необходимых компонентов должны находиться на компьютере разработки. Скачать необходимые компоненты из следующего места Visual Studio скопирует все пакеты необходимых компонентов в указанное расположение и установит их вместе с решением. Диалоговое окно "Предварительные требования".
Нажмите кнопку "Обновления", укажите, как часто требуется, чтобы надстройка VSTO или настройка каждого пользователя проверяла наличие обновлений, а затем нажмите кнопку "ОК".
Примечание.
Если вы развертываете компакт-диск или съемный диск, нажмите кнопку "Никогда не проверять наличие обновлений ".
Сведения о публикации обновления см. в статье "Публикация обновления".
Нажмите кнопку "Параметры", просмотрите параметры в диалоговом окне "Параметры" и нажмите кнопку "ОК".
Нажмите кнопку "Опубликовать сейчас ".
Visual Studio добавить следующие папки и файлы в папку публикации, указанную ранее в этой процедуре.
Папка "Файлы приложений".
Программа установки.
Манифест развертывания, указывающий на манифест развертывания для последней версии.
Папка "Файлы приложений" содержит вложенную папку для каждой из опубликованных версий. Каждая вложенная папка для конкретной версии содержит следующие файлы.
Манифест приложения.
Манифест развертывания.
Сборки настройки.
На следующем рисунке показана структура папки публикации для надстройки VSTO Outlook.
Примечание.
ClickOnce добавляет расширение .deploy к сборкам, чтобы безопасная установка службы IIS (IIS) не блокировала файлы из-за небезопасного расширения. Когда пользователь устанавливает решение, ClickOnce удаляет расширение .deploy .
Скопируйте файлы решения в папку установки, указанную ранее в этой процедуре.
Выбор способа предоставления доверия решению
Прежде чем решение можно будет запускать на компьютерах пользователей, необходимо предоставить доверие. В противном случае пользователи должны будут ответить на запрос о доверии при установке решения. Чтобы предоставить доверие решению, подпишите манифест с помощью сертификата, который определяет известного и надежного издателя. См. раздел доверия к решению, подписав манифесты приложения и развертывания.
Если вы развертываете настройку на уровне документа и хотите поместить документ в папку на компьютере пользователя или сделать документ доступным на сайте SharePoint, убедитесь, что Office доверяет расположению документа. См. раздел "Предоставление доверия к документам".
Помощь пользователям в установке решения
Пользователи могут установить решение, выполнив программу установки, открыв манифест развертывания или во время настройки на уровне документа, открыв документ напрямую. Рекомендуемым способом является установка решения пользователями с помощью программы установки. Другие два подхода не гарантируют, что необходимое программное обеспечение установлено. Если пользователям необходимо открывать документ из расположения установки, они должны добавить это расположение в список надежных расположений в центре управления безопасностью приложения Office.
Открытие документа настройки уровня документа
Пользователи могут открывать документы настройки уровня документа непосредственно из папки установки или путем копирования документа на локальный компьютер и открытия этой копии.
Рекомендуется открывать копии документов на компьютерах пользователей, чтобы несколько пользователей не пытались открывать один и тот же экземпляр документа одновременно. Чтобы обеспечить выполнение этого правила, можно настроить программу установки таким образом, чтобы она копировала документ на компьютеры пользователей. См. документ решения на компьютере конечного пользователя (только настройки на уровне документа).
Установка решения путем открытия манифеста развертывания с веб-сайта IIS
Пользователи могут установить решение Office путем открытия манифеста развертывания из Интернета. Однако безопасная установка службы IIS (IIS) блокирует файлы с расширением VSTO. Тип MIME должен быть определен в IIS перед развертыванием решения Office с использованием IIS.
Добавление типа MIME .vsto в IIS 6.0
На сервере под управлением IIS 6.0 выберите "Запуск>всех программ>> администрирования"службы IIS (IIS).
Выберите имя компьютера, папку веб-сайтов или веб-сайт, который вы настроите.
В строке меню выберите "Свойства действия>".
На вкладке заголовков HTTP нажмите кнопку "Типы MIME".
В окне "Типы MIME" нажмите кнопку "Создать".
В окне типа MIME введите VSTO в качестве расширения, введите приложение/x-ms-vsto в качестве типа MIME, а затем примените новые параметры.
Примечание.
Чтобы изменения вступили в силу, необходимо перезапустить службу веб-публикаций или подождать, пока рабочий процесс будет перезапущен. Затем необходимо очистить кэш диска браузера, а затем снова попытаться открыть VSTO-файл .
Добавление типа MIME .vsto в IIS 7,0
На сервере, на котором запущена служба IIS 7.0, нажмите кнопку "Пуск>всех программ>"Аксессуары.
Откройте контекстное меню командной строки и выберите команду "Запуск от имени администратора".
В поле "Открыть" введите следующий путь и нажмите кнопку "ОК".
%windir%\system32\inetsrv
Введите следующую команду, а затем примените новые параметры.
set config /section:staticContent /+[fileExtension='.vsto',mimeType='application/x-ms-vsto']
Примечание.
Чтобы изменения вступили в силу, необходимо перезапустить службу веб-публикаций или подождать, пока рабочий процесс будет перезапущен. Затем необходимо очистить кэш диска браузера, а затем снова попытаться открыть VSTO-файл .
Поместите документ решения на компьютер конечного пользователя (только настройки на уровне документа)
Документ решения можно скопировать на компьютер конечного пользователя, создав действие после развертывания. Таким образом, пользователю не нужно вручную скопировать документ из расположения установки на компьютер после установки решения. Необходимо создать класс, определяющий действие после развертывания, сборку и публикацию решения, изменить манифест приложения и повторно подписать манифест приложения и развертывания.
В следующих процедурах предполагается, что имя проекта — ExcelWorkbook , и вы публикуете решение в созданную папку C:\publish на компьютере.
Создание класса, определяющего действие, выполняемое после развертывания
В строке меню выберите "Добавить>новый проект".>
В диалоговом окне "Добавление нового проекта" в области "Установленные шаблоны" выберите папку Windows.
В области шаблонов выберите шаблон библиотеки классов.
В поле "Имя" введите FileCopyPDA и нажмите кнопку "ОК".
В Обозреватель решений выберите проект FileCopyPDA.
В строке меню выберите Проект>Добавить ссылку.
На вкладке .NET добавьте ссылки и
Microsoft.VisualStudio.Tools.Applications.Runtime
Microsoft.VisualStudio.Tools.Applications.ServerDocument
.Переименуйте класс в
FileCopyPDA
, а затем замените содержимое файла следующим кодом. Этот код выполняет следующие задачи:Копирует документ на рабочий стол пользователя.
Изменяет свойство _AssemblyLocation с относительного пути на полный путь для манифеста развертывания.
Удаляет файл, когда пользователь удаляет решение.
using Microsoft.VisualStudio.Tools.Applications.Deployment; using Microsoft.VisualStudio.Tools.Applications; using System.IO; namespace FileCopyPDA { public class FileCopyPDA : IAddInPostDeploymentAction { public void Execute(AddInPostDeploymentActionArgs args) { string dataDirectory = @"Data\ExcelWorkbook.xlsx"; string file = @"ExcelWorkbook.xlsx"; string sourcePath = args.AddInPath; Uri deploymentManifestUri = args.ManifestLocation; string destPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string sourceFile = System.IO.Path.Combine(sourcePath, dataDirectory); string destFile = System.IO.Path.Combine(destPath, file); switch (args.InstallationStatus) { case AddInInstallationStatus.InitialInstall: case AddInInstallationStatus.Update: File.Copy(sourceFile, destFile); ServerDocument.RemoveCustomization(destFile); ServerDocument.AddCustomization(destFile, deploymentManifestUri); break; case AddInInstallationStatus.Uninstall: if (File.Exists(destFile)) { File.Delete(destFile); } break; } } } }
Сборка и публикация решения
В Обозреватель решений откройте контекстное меню проекта FileCopyPDA и выберите "Сборка".
Откройте контекстное меню для проекта ExcelWorkbook , а затем нажмите кнопку "Сборка".
Откройте контекстное меню проекта ExcelWorkbook и нажмите кнопку "Добавить ссылку".
В диалоговом окне "Добавить ссылку" выберите вкладку "Проекты", выберите FileCopyPDA и нажмите кнопку "ОК".
В Обозреватель решений выберите проект ExcelWorkbook.
В строке меню выберите "Создать папку проекта>".
Введите данные и нажмите клавишу ВВОД.
В Обозреватель решений выберите папку "Данные".
В строке меню выберите "Добавить существующий элемент проекта>".
В диалоговом окне "Добавить существующий элемент" перейдите в выходной каталог проекта ExcelWorkbook, выберите файл ExcelWorkbook.xlsx и нажмите кнопку "Добавить".
В Обозреватель решений выберите файл ExcelWorkbook.xlsx.
В окне "Свойства" измените свойство действия сборки на Content и свойство Copy to Output Directory, чтобы Копировать, если это еще больше.
После выполнения этих действий проект будет выглядеть так, как показано на следующем рисунке.
Опубликуйте проект ExcelWorkbook .
Изменение манифеста приложения
Откройте каталог решения c:\publish с помощью проводник.
Откройте папку "Файлы приложений", а затем откройте папку, соответствующую последней опубликованной версии решения.
Откройте файл ExcelWorkbook.dll.manifest в текстовом редакторе, например Блокноте.
После элемента
</vstav3:update>
добавьте следующий код. Для атрибута<vstav3:entryPoint>
класса элемента используйте следующий синтаксис: NamespaceName.ClassName. В следующем примере имя класса совпадает с именем пространства имен, поэтому имя точки входа будет иметь видFileCopyPDA.FileCopyPDA
.<vstav3:postActions> <vstav3:postAction> <vstav3:entryPoint class="FileCopyPDA.FileCopyPDA"> <assemblyIdentity name="FileCopyPDA" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:postActionData> </vstav3:postActionData> </vstav3:postAction> </vstav3:postActions>
Повторное подписывание манифестов приложения и развертывания
В папке %USERPROFILE%\Documents\Visual Studio 2013\Projects\ExcelWorkbook\ExcelWorkbook скопируйте файл сертификата ExcelWorkbook_TemporaryKey.pfx, а затем вставьте его в папку PublishFolder \Application Files\ExcelWorkbook_MostRecentPublishedVersion.
Откройте командную строку Visual Studio и измените каталоги на папку c:\publish\Application Files\ExcelWorkbook_MostRecentPublishedVersion (например, c:\publish\Application Files\ExcelWorkbook_1_0_0_4).
Подпишите обновленный манифест приложения с помощью следующей команды:
mage -sign ExcelWorkbook.dll.manifest -certfile ExcelWorkbook_TemporaryKey.pfx
Появится сообщение "ExcelWorkbook.dll.manifest успешно подписан".
Перейдите в папку c:\publish , а затем обновите и подпишите манифест развертывания, выполнив следующую команду:
mage -update ExcelWorkbook.vsto -appmanifest "Application Files\Ex celWorkbookMostRecentVersionNumber>\ExcelWorkbook.dll.manifest" -certfile "Application Files\ExcelWorkbookMostRecentVersionNumber>\ExcelWorkbook_TemporaryKey.pfx"
Примечание.
В предыдущем примере замените MostRecentVersionNumber номером версии последней опубликованной версии решения (например, 1_0_0_4).
Появится сообщение "ExcelWorkbook.vsto успешно подписан".
Скопируйте файл ExcelWorkbook.vsto в каталог c:\publish\Application Files\ExcelWorkbook_MostRecentVersionNumber.
Поместите документ решения на сервер под управлением SharePoint (только настройки на уровне документа)
Настройки уровня документа можно публиковать для пользователей с помощью SharePoint. Когда пользователь открывает документ с сайта SharePoint, среда выполнения автоматически устанавливает решение на локальном компьютере пользователя из общей сетевой папки. После локальной установки решения настройка продолжит работать, даже если документ будет скопирован в другое место, например на рабочий стол.
Размещение документа на сервере с SharePoint
Добавьте документ решения в библиотеку документов на сайте SharePoint.
Воспользуйтесь одним из следующих подходов, выполнив соответствующие инструкции.
С помощью средства настройки Office добавьте сервер с SharePoint в центр управления безопасностью в Word или Excel на всех компьютерах пользователей.
См . статью "Политики безопасности и параметры" в Office 2010.
Убедитесь, что каждый пользователь выполнил следующие действия.
На локальном компьютере откройте Word или Excel, перейдите на вкладку "Файл " и нажмите кнопку "Параметры ".
В диалоговом окне "Центр управления безопасностью" нажмите кнопку "Надежные расположения".
Установите флажок "Разрешить надежные расположения" в моей сети (не рекомендуется), а затем нажмите кнопку "Добавить новое расположение".
В поле "Путь" введите URL-адрес библиотеки документов SharePoint, содержащей отправленный документ (например, http://SharePointServerName/TeamName/ProjectName/DocumentLibraryName).
Не добавляйте имя веб-страницы по умолчанию, например default.aspx или AllItems.aspx.
Установите флажок "Вложенные папки" этого расположения также являются доверенными , а затем нажмите кнопку "ОК ".
Когда пользователь откроет документ с сайта SharePoint, будут установлены настройки. Пользователь может скопировать документ себе на рабочий стол. Настройка все равно будет работать, поскольку свойства в документе указывают на сетевое расположение документа.
Создание пользовательского установщика
Вы можете создать настраиваемый установщик для решения Office, а не использовать программу установки, созданную для вас при публикации решения. Например, можно использовать скрипт входа для запуска установки или пакетный файл для установки решения без взаимодействия с пользователем. Эти сценарии оптимальны, если все необходимые компоненты уже установлены на компьютерах пользователей.
В рамках пользовательского процесса установки вызовите средство установщика для решений Office (VSTOInstaller.exe), которое устанавливается в следующем расположении по умолчанию:
%commonprogramfiles%\microsoft shared\VSTO\10.0\VSTOInstaller.exe
Если средство не находится в этом расположении, можно использовать раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSTO Runtime Setup\v4\InstallerPath или HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4\InstallerPath реестра, чтобы найти путь к нему.
С VSTOinstaller.exe можно использовать следующие параметры.
Параметр | Определение |
---|---|
/Install или /I | Установка решения. За данным параметром должен следовать путь к манифесту развертывания. Можно указать путь на локальном компьютере, в общей папке с именем по универсальным правилам именования (UNC). Можно указать локальный путь (C:\FolderName\PublishFolder), относительный путь (Publish\), или полное расположение (\\ServerName\FolderName или http:// ServerName/FolderName). |
/Uninstall или /U | Удаление решения. За данным параметром должен следовать путь к манифесту развертывания. Можно указать путь на локальном компьютере к общей папке UNC. Можно указать локальный путь (c:\FolderName\PublishFolder), относительный путь (Publish\) или полное расположение (\\ServerName\FolderName или http:// ServerName/FolderName). |
/Silent или /S | Установка или удаление без запроса ввода данных пользователем и без отображения сообщений. Если требуется запрос доверия, настройка не установлена или обновлена. |
/Help или /? | Отображение справочных сведений. |
При запуске VSTOinstaller.exe могут появиться следующие коды ошибок.
Код ошибки | Определение |
---|---|
0 | Решение было успешно установлено или удалено, или появилась справка VSTOInstaller. |
-100 | Один или несколько параметров командной строки недопустимы или заданы несколько раз. Дополнительные сведения см. в разделе "vstoinstaller /?" или в разделе "Создание настраиваемого установщика" для решения ClickOnce Office. |
–101 | Один или несколько параметров командной строки недопустимы. Для получения дополнительных сведений введите команду "vstoinstaller /?". |
-200 | Недопустимый URI манифеста развертывания. Для получения дополнительных сведений введите команду "vstoinstaller /?". |
-201 | Не удалось установить решение, так как манифест развертывания недействителен. См . манифесты развертывания для решений Office. |
-202 | Не удалось установить решение, так как набор средств Visual Studio для Office раздел манифеста приложения недействителен. См . манифесты приложений для решений Office. |
-203 | Не удалось установить решение, так как произошла ошибка скачивания. Проверьте URI-адрес манифеста развертывания или расположение файла в сети и повторите попытку. |
-300 | Не удалось установить решение, так как произошло исключение безопасности. См. статью "Безопасные решения Office". |
-400 | Не удалось установить решение. |
-401 | Не удалось удалить решение. |
-500 | Операция была отменена, поскольку решение не может быть установлено или удалено или не удалось загрузить манифест развертывания. |
Публикация обновления
Чтобы обновить решение, снова опубликуйте его с помощью мастера конструктора проектов или публикации, а затем скопируйте обновленное решение в расположение установки. При копировании файлов в папку установки убедитесь, что предыдущие файлы перезаписываются.
В следующий раз, когда решение проверяет обновление, оно будет находить и загружать новую версию автоматически.
Изменение расположения установки решения
Путь установки можно добавлять и изменять после публикации решения. При необходимости можно изменить путь установки по одной из следующих причин:
путь установки неизвестен на момент компиляции программы установки;
файлы решения копируются в другое расположение;
изменились имя или адрес сервера, на котором размещены файлы установки.
Чтобы изменить путь установки решения, необходимо обновить программу установки, после чего пользователи должны запустить ее. Для настроек уровня документа пользователи должны также обновить свойство в своем документе, чтобы оно указывало на новое расположение.
Примечание.
Если вы не хотите попросить пользователей обновить свойства документа, вы можете попросить пользователей получить обновленный документ из расположения установки.
Изменение пути установки в программе установки
Откройте окно командной строки и измените каталоги на папку установки.
Запустите программу установки с параметром
/url
, который принимает новый путь установки в строковом формате.В следующем примере показано, как изменить путь к папке установки на расположение на веб-сайте компании Fabrikam, но вместо URL-адреса можно подставить любой путь:
setup.exe /url="http://www.fabrikam.com/newlocation"
Примечание.
Если появляется сообщение о том, что подпись исполняемого файла станет недействительной, это означает, что сертификат, с помощью которого было подписано решение, стал недействительным, а издатель неизвестен. В результате пользователям необходимо будет подтвердить, что они доверяют источнику решения, прежде чем они смогут установить его.
Примечание.
Чтобы просмотреть текущее значение URL-адреса, выполните команду
setup.exe /url
.Для настройки на уровне документа пользователи должны открыть документ, а затем обновить его _AssemblyLocation свойстве. Ниже описано, как пользователи могут выполнить эту задачу.
Обновление свойства _AssemblyLocation в документе
На вкладке "Файл" выберите "Сведения", на котором показана следующая иллюстрация.
В списке свойств выберите "Дополнительные свойства", на котором показана следующая иллюстрация.
На вкладке "Настраиваемые" в списке свойств выберите _AssemblyLocation, как показано на следующем рисунке.
Поле "Значение" содержит идентификатор манифеста развертывания.
Перед идентификатором введите полный путь к документу, за которым следует строка, в формате идентификатора пути| (например, File://ServerName/FolderName/FileName|7474e4b-e4d6-41eb-84f7-ad20346fe2d9.
Дополнительные сведения о форматировании этого идентификатора см. в обзоре свойств пользовательского документа.
Нажмите кнопку "ОК ", а затем сохраните и закройте документ.
Чтобы установить решение в указанном расположении, запустите программу установки без параметра "/url".
Откат решения до более ранней версии
При откате решения пользователи возвращаются к более ранней версии этого решения.
Откат решения
Откройте расположение установки решения.
В папке публикации верхнего уровня удалите манифест развертывания ( VSTO-файл ).
Найдите вложенную папку версии, к которой требуется вернуться.
Скопируйте манифест развертывания из этой папки в папку публикации верхнего уровня.
Например, чтобы откатить решение с версии 1.0.0.1 до версии 1.0.0.0.0.0, скопируйте файл OutlookAddIn1.vsto из папки OutlookAddIn1_1_0_0_0. Вставьте файл в папку публикации верхнего уровня, перезаписав манифест развертывания для конкретной версии для OutlookAddIn1_1_0_0_1 , который уже был там.
На следующем рисунке показана структура папок публикации для данного примера.
Когда пользователь в следующий раз откроет приложение или настроенный документ, будет обнаружено изменение манифеста развертывания. Предыдущая версия решения Office будет запущена из кэша ClickOnce.
Примечание.
Локальные данные сохраняются только для одной предыдущей версии решения. При откате двух версий локальные данные не сохраняются. Дополнительные сведения о локальных данных см. в разделе "Доступ к локальным и удаленным данным" в приложениях ClickOnce.
Связанный контент
- Развертывание решения Office
- Публикация решений Office
- Практическое руководство. Публикация решения Office с помощью ClickOnce
- Практическое руководство. Установка решения Office ClickOnce
- Практическое руководство. Публикация решения Office на уровне документа на сервере SharePoint с помощью ClickOnce
- Создание настраиваемого установщика для решения Office ClickOnce