Пошаговое руководство. Развертывание документа и сборки в сетевой папке (система 2003)
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом пошаговом руководстве демонстрируется, как развернуть настройку на уровне документа так, чтобы документ и сборка находились в одной папке сетевого компьютера. Этот тип развертывания называется сетевая/сетевая модель развертывания.
Дополнительные сведения о развертывании решения см. в разделе Модели развертывания (система 2003). Дополнительные сведения о настройках уровня документа см. в разделе Архитектура настроек на уровне документа.
В этом пошаговом руководстве рассматриваются следующие задачи:
изменение встроенного в документ манифеста приложения с указанием на сборку;
предоставление полного доверия сборке решения Visual Studio Tools for Office, расположенной в сетевой папке.
Обязательные компоненты
Для выполнения этого пошагового руководства необходимы следующие компоненты:
Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System);
Microsoft Office Word 2003 или Microsoft Office Excel 2003.
Примечание. В этом руководстве предполагается, что пользователь осуществляет развертывание решения Word. Чтобы выполнить это руководство для решения Excel, замените во всех примерах кода имя проекта Word на имя проекта Excel.
доступ к сетевому компьютеру для проведения развертывания;
права администратора на компьютере разработчика, позволяющие настроить политику безопасности.
Создание решения для развертывания
На первом этапе необходимо создать базовое решение Visual Studio Tools for Office для последующего развертывания. Если развертываемое решение уже создано, пропустите раздел "Создание решения для развертывания" и перейдите к разделу "Изменение встроенного манифеста приложения".
Создание решения для развертывания
Создайте проект документа Word с именем WordDeployment, используя шаблон проекта для Office 2003.
В мастере выберите Создать новый документ. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.
В Обозревателе решений щелкните правой кнопкой мыши файл кода ThisDocument и выберите в меню пункт Перейти к коду.
В обработчик событий ThisDocument_Startup добавьте следующий код. В этом коде при открытии документа отображается сообщение об успешном развертывании решения.
MessageBox.Show("The deployment is successful")
MessageBox.Show("The deployment is successful");
Дополнительные сведения о событии Startup см. в разделе Инструменты Visual Studio для событий проекта Office.
Нажмите клавишу F5 для построения и выполнения проекта. Убедитесь, что появилось ожидаемое сообщение.
Закройте приложение Word.
Закройте решение в Visual Studio.
Убедитесь, что документ не открыт в экземпляре приложения Word или конструкторе проекта. Если документ открыт, на следующем шаге не удастся получить доступ к нему с помощью класса ServerDocument.
Изменение встроенного манифеста приложения
При построении решения предполагается, что документ и сборка находятся в одной папке. Путь к сборке сохраняется во встроенном в документ манифесте приложения. Если документ и сборка развертываются в разных папках, необходимо изменить встроенный манифест приложения, указав в нем новый путь к сборке.
На следующем этапе с помощью класса ServerDocument будет выполнено изменение встроенного в документ манифеста приложения с указанием нового пути к сборке настройки. Код, в котором используется класс ServerDocument для изменения встроенного манифеста приложения, должен находиться вне сборки проекта Visual Studio Tools for Office, связанной с развертываемым документом.
Изменение встроенного манифеста приложения
Создайте новый проект консольного приложения. Дополнительные сведения см. в разделе Практическое руководство. Создание решений и проектов.
Добавьте в новый проект ссылку на сборку Microsoft.VisualStudio.Tools.Applications.Runtime.dll.
Добавьте операторы using (C#) или Imports (Visual Basic) в начало файла кода Program.cs или Module1.vb:
Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications.Runtime;
Чтобы обновить встроенный манифест приложения, добавьте следующий код в метод Main. Замените строку full document path на полный путь к документу в расположении для построения на компьютере разработчика, например папка проекта\bin\debug\WordDeployment.doc. Замените строку full assembly path на полный путь к сборке в сетевой папке, в которой будет развернута сборка, например \\DeploymentServer\DeploymentFolder\WordDeployment.dll.
Dim sd As ServerDocument = Nothing Try sd = New ServerDocument("full document path") sd.AppManifest.Dependency.AssemblyPath = _ "full assembly path" sd.Save() Finally If Not sd Is Nothing Then sd.Close() End If End Try
ServerDocument sd = null; try { sd = new ServerDocument(@"full document path"); sd.AppManifest.Dependency.AssemblyPath = @"full assembly path"; sd.Save(); } finally { if (sd != null) { sd.Close(); } }
Выполните построение и запуск проекта. В консольном приложении выполняется обновление пути к сборке во встроенном манифесте приложения, после чего работа приложения завершается.
Закройте проект консольного приложения.
Развертывание решения
Теперь, после настройки путей, можно развернуть документ и сборку в одной папке сетевого компьютера.
Чтобы развернуть решение
Создайте на сетевом компьютере папку с именем DeploymentFolder и предоставьте себе общий доступ к этой папке. Например, если сетевой компьютер называется DeploymentServer, путь к новой общей сетевой папке будет \\DeploymentServer\DeploymentFolder. Убедитесь, что сетевая папка имеет то же самое имя, которое было задано вместо строки "full assembly path" при редактировании внедренного манифеста приложения на предыдущем шаге.
Скопируйте документ и сборку из выходной папки построения проекта (как правило, папка проекта\bin\debug или папка проекта\bin\release) в сетевую папку \\DeploymentServer\DeploymentFolder.
Откройте документ в сетевой папке \\DeploymentServer\DeploymentFolder. Будет показано сообщение об ошибке, в котором сообщается, что не удалось найти или загрузить сборку настройки. Это произошло потому, что документу и сборке пока не было предоставлено полное доверие в общей сетевой папке.
Нажмите кнопку ОК и закройте документ.
Настройка политики безопасности
Чтобы разрешить выполнение решения, необходимо предоставить полное доверие ее сборке и документу, сконфигурировав соответствующим образом политику безопасности платформы .NET Framework 2.0. В этом руководстве, чтобы предоставить полное доверие сборке, используется средство настройки политики управления доступом для кода (Caspol.exe). Дополнительные сведения о работе с Caspol.exe см. в разделах Средство настройки политики управления доступом для кода (Caspol.exe) и Настройка политики безопасности с помощью средства для настройки политики управления доступом для кода (Caspol.exe).
Примечание о безопасности. |
---|
Чтобы завершить это руководство, выполните следующие шаги по настройке политики безопасности на основе свидетельства URL-адреса. Не используйте описываемый метод для предоставления полных прав сборкам в реальных решениях, если есть сомнения в том, что их расположение надежно и безопасно. Для реальных решений рекомендуется использовать политику безопасности, основанную на более значимых, чем URL-адрес сборки, свидетельствах. Дополнительные сведения см. в разделе Требования безопасности при выполнении решений Office (для системы 2003). |
Предоставление полного доверия сборке и документу
Для создания новой группы кода, которая предоставит полное доверие сборке, выполните в командной строке следующую команду.
%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag LocalIntranet_Zone -url "full assembly path" FullTrust -n "Test_Deployment_Assembly"
Замените строку full assembly path на полный путь к сборке в сетевой папке, например \\DeploymentServer\DeploymentFolder\WordDeployment.dll.
Параметр -n задает имя новой группы кода. Этот параметр является необязательным и используется для упрощения идентификации и удаления новой группы кода по завершении этого пошагового руководства.
На запрос о подтверждении выполнения операции введите yes и нажмите клавишу ENTER.
Для создания новой группы кода, которая предоставит полное доверие документу, выполните в командной строке указанную ниже команду. Необходимо предоставить полное доверие документу, так как вы как конечный пользователь откроете его из сетевой папки. Документы не требуют полного доверия, если они находятся на компьютере конечного пользователя.
%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag LocalIntranet_Zone -url "full document path" FullTrust -n "Test_Deployment_Document"
Замените строку "full document path" на полный путь к документу в сетевой папке, например, \\DeploymentServer\DeploymentFolder\WordDeployment.doc.
Параметр -n задает имя новой группы кода. Этот параметр необязателен, но указание метки облегчит идентификацию и удаление новой группы кода после окончания работы с данным руководством.
На запрос о подтверждении выполнения операции введите yes и нажмите клавишу ENTER.
На своем компьютере разработчика откройте документ, находящийся в сетевой папке \\DeploymentServer\DeploymentFolder, и убедитесь, что появляется ожидаемое сообщение.
Сохраните документ в какую-либо папку на компьютере разработчика и закройте его.
Откройте документ на компьютере разработчика и убедитесь, что появляется ожидаемое сообщение.
Код работает, потому что внедренный манифест приложения содержит полный путь к сборке на сетевом компьютере. Если во внедренном манифесте приложения путь к сборке не изменять, решение запустится только в том случае, если документ будет открыт из сетевой папки.
Следующие действия
Можно развернуть документ и сборку в локальных папках или развернуть только сборку в сетевой папке. Дополнительные сведения см. в следующих пошаговых руководствах.
Пошаговое руководство. Развертывание документа и сборки в локальной папке (система 2003)
Пошаговое руководство. Развертывание документа и сборки в разные локальные папки (система 2003)
См. также
Задачи
Пошаговое руководство. Развертывание документа и сборки в локальной папке (система 2003)
Пошаговое руководство. Развертывание документа и сборки в разные локальные папки (система 2003)
Основные понятия
Развертывание решений Office (система 2003)