Поделиться через


Пошаговое руководство. Развертывание настройки на уровне документа с помощью манифеста развертывания (система 2003)

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

Версия Microsoft Office

  • Microsoft Office 2003

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

В этом пошаговом руководстве демонстрируется способ развертывания настройки на уровне документа для Microsoft Office Excel или Microsoft Office Word в сетевую папку на сервере. По завершении выполнения пошагового руководства вы научитесь запускать решение на сервере с компьютера, на котором производилась разработка. Дополнительные сведения о настройках уровня документа см. в разделе Архитектура настроек на уровне документа.

В рабочей среде решение Visual Studio Tools for Office часто публикуется сперва на тестовом сервере и только затем развертывается на рабочем сервере, после того как будет одобрено ИТ-отделом. В данном пошаговом руководстве производится публикация решения во временном каталоге на компьютере разработчика, после чего выполняется развертывание решения из временного каталога на сервер. Дополнительные сведения о развертывании решения см. в разделе Модели развертывания (система 2003).

В данном пошаговом руководстве проиллюстрированы перечисленные далее задачи:

  • использование Мастера публикации для публикации решения в папку на компьютере разработчика;

  • производимое вручную развертывание решения с локального компьютера в сетевую папку на сервере;

  • программное изменение внедренного в документ манифеста приложения так, чтобы он указывал на расположение нового манифеста развертывания;

  • редактирование манифеста развертывания так, чтобы он указывал на новое расположение внешнего манифеста приложения;

  • редактирование внешнего манифеста приложения так, чтобы он указывал на новое расположение сборки и манифеста развертывания.

Обязательные компоненты

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:

  • Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System);

  • Microsoft Office Word 2003 или Microsoft Office Excel 2003.

    ms268872.alert_note(ru-ru,VS.90).gifПримечание.

    В этом руководстве предполагается, что пользователь осуществляет развертывание решения Word. Если вы хотите выполнить шаги этого руководства для решения Excel, замените во всех примерах кода и XML имя проекта Word на имя вашего проекта Excel.

  • доступ к сетевому серверу для проведения развертывания. В этом руководстве предполагается, что развертывание решения производится в сетевую папку \\DeployServer\ShareFolder;

  • права администратора на компьютере разработчика, позволяющие настроить политику безопасности для сетевой папки.

Создание проекта

На данном этапе создается проект документа Word.

Создание нового проекта

Visual Studio откроет новый документ Word в режиме конструктора и добавит проект WordDeployment в Обозреватель решений.

Добавление кода в документ

В рамках данного фрагмента необходимо написать код для проверки работоспособности решения при открытии документа. В данном пошаговом руководстве добавляется окно сообщений в обработчик событий Startup документа.

Добавление окна сообщения в событие инициализации

  1. В Обозревателе решений щелкните правой кнопкой мыши ThisDocument.vb или ThisDocument.cs и выберите в контекстном меню команду Перейти к коду.

  2. Чтобы вывести в процессе инициализации окно сообщения, добавьте в обработчик событий Startup класса ThisDocument приведенный ниже код:

    Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        MessageBox.Show("The document is deployed correctly.")
    End Sub
    
    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        MessageBox.Show("The document is deployed correctly.");
    }
    
  3. Чтобы запустить проект, нажмите клавишу F5.

    Word запустится, и откроется окно сообщений.

  4. Закройте окно сообщений.

  5. Закройте приложение Word.

Публикация решения

На первом этапе развертывания производится публикация решения во временном каталоге на локальном компьютере.

Публикация решения

  1. Щелкните правой кнопкой узел проекта в Обозревателе решений.

  2. В контекстном меню выберите команду Опубликовать.

    Появится Мастер публикации.

  3. В поле Укажите место публикации данного приложения введите C:\TestDeploy.

  4. Нажмите кнопку Готово.

    Документ и манифест развертывания решения копируются в папку C:\TestDeploy. Сборка решения, обновленный манифест приложения и копии манифеста развертывания и документа решения копируются в папку C:\TestDeploy\WordDeployment_1.0.0.0. Дополнительные сведения см. в разделе Развертывание настроек уровня документа (системы 2003).

  5. В меню Файл выберите команду Закрыть решение, чтобы закрыть решение WordDeployment в Visual Studio.

    ms268872.alert_note(ru-ru,VS.90).gifПримечание.

    Сборка пока не имеет разрешения на выполнение, поэтому при попытке запуска решения возникнет ошибка. Далее будет произведено обновление политики безопасности для предоставления сборке разрешения полного доверия.

При публикации решения внедренный манифест приложения в документе решения указывает на полный путь манифеста развертывания. При повторном развертывании файлов решения в другую папку необходимо обновить внедренный манифест приложения так, чтобы он указывал на новое расположение манифеста развертывания. Также необходимо обновить манифест развертывания и внешний манифест приложения так, чтобы они указывали на новые расположения файлов.

Обновление внедренного манифеста приложения

Для редактирования внедренного манифеста приложения используется класс ServerDocument, предоставляемый Visual Studio Tools for Office. При использовании класса ServerDocument необходимо запустить код в новом проекте (не в решении Visual Studio Tools for Office), например консольном проекте, а документ решения Visual Studio Tools for Office должен быть закрыт. 

ms268872.alert_note(ru-ru,VS.90).gifПримечание.

В Visual Studio Tools for Office имеется пример, демонстрирующий создание инструмента, который можно использовать для редактирования встроенного манифеста приложения. Дополнительные сведения см. в разделе Пример использования класса ServerDocument.

Обновление внедренного манифеста приложения

  1. Создайте новый проект консольного приложения.

  2. Добавьте в проект ссылки на сборки Microsoft.VisualStudio.Tools.Applications.Runtime и System.Windows.Forms.

  3. Откройте файл Module1.vb или Program.cs и добавьте в его начало инструкцию Imports или using:

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Скопируйте следующий код в функцию Main. Этот код создает объект ServerDocument, обеспечивающий доступ к внедренному манифесту приложения в документе решения. Код присваивает свойству DeployManifestPath в качестве значения путь к манифесту развертывания, после чего сохраняет и закрывает объект ServerDocument.

    Dim sd As ServerDocument = Nothing
    Try
        sd = New ServerDocument("C:\TestDeploy\WordDeployment.doc")
        sd.AppManifest.DeployManifestPath = _
            "\\DeployServer\ShareFolder\WordDeployment.application"
        sd.Save()
    
    Finally
        If Not sd Is Nothing Then
            sd.Close()
        End If
    End Try
    
    ServerDocument sd = null;
    try
    {
        sd = new ServerDocument(@"C:\TestDeploy\WordDeployment.doc");
        sd.AppManifest.DeployManifestPath = 
            @"\\DeployServer\ShareFolder\WordDeployment.application";
        sd.Save();
    }
    finally
    {
        if (sd != null)
        {
            sd.Close();
        }
    }
    
  5. Чтобы запустить проект, нажмите клавишу F5.

    В процессе обновления внедренного манифеста приложения на короткое время появляется консольное окно, после чего оно закрывается.

Обновление манифеста развертывания

После обновления внедренного манифеста приложения в документе решения Visual Studio Tools for Office необходимо обновить манифест развертывания так, чтобы он указывал на новое расположение внешнего манифеста приложения.

Обновление манифеста развертывания

  1. Откройте манифест развертывания в текстовом редакторе, таком как "Блокнот". Манифест развертывания расположен в папке публикации C:\TestDeploy. Он имеет имя WordDeployment.application.

  2. Присвойте атрибуту codebase элемента <dependentAssembly> полный путь конечной папки развертывания внешнего манифеста приложения. Дополнительные сведения см. в разделе Элемент <dependentAssembly> (Справка по средствам Visual Studio Tools for Office). Атрибут в данном руководстве должен выглядеть следующим образом:

    <dependentAssembly
        codebase="\\DeployServer\ShareFolder\
        WordDeployment_1.0.0.0\WordDeployment.dll.manifest"
    
  3. Сохраните и закройте файл манифеста развертывания.

Обновление внешнего манифеста приложения

Кроме обновления манифеста развертывания необходимо также отредактировать внешний манифест приложения так, чтобы он указывал на конечную папку развертывания сборки решения и манифеста развертывания. При каждой публикации решения Visual Studio Tools for Office создается новый внешний манифест приложения, указывающий на текущую версию сборки решения.

Обновление внешнего манифеста приложения

  1. Откройте манифест приложения в текстовом редакторе, таком как "Блокнот". Манифест приложения расположен в папке публикации C:\TestDeploy\WordDeployment_1.0.0.0. Он имеет имя WordDeployment.dll.manifest.

  2. Перейдите к элементу <installFrom>, являющемуся дочерним элементом элемента <dependency>, и задайте в качестве значения атрибута codebase полный путь к сборке текущего решения. Дополнительные сведения см. в разделе Элемент <installFrom> (Справка по средствам Visual Studio Tools for Office). Атрибут в данном руководстве должен выглядеть следующим образом:

    <dependentAssembly
        codebase="\\DeployServer\ShareFolder\
        WordDeployment_1.0.0.0\WordDeployment.dll"
    
  3. Перейдите к элементу <installFrom>, являющемуся дочерним элементом элемента <assembly>, и задайте в качестве значения атрибута codebase полный путь к манифесту развертывания. Дополнительные сведения см. в разделе Элемент <installFrom> (Справка по средствам Visual Studio Tools for Office). Атрибут в данном руководстве должен выглядеть следующим образом:

    <dependentAssembly
        codebase="\\DeployServer\ShareFolder\WordDeployment.application"
    
  4. Сохраните и закройте файл манифеста приложения.

Копирование файлов решения на сервер

По завершении редактирования манифестов можно приступать к копированию файлов решения в конечную папку развертывания на сервере.

Копирование файлов решения на сервер

  1. Создайте в сетевой папке \\DeployServer\ShareFolder папку WordDeployment_1.0.0.0.

  2. Скопируйте документ решения и манифест развертывания в папку \\DeployServer\ShareFolder.

  3. Скопируйте сборку решения и манифест приложения в папку \\DeployServer\ShareFolder\WordDeployment_1.0.0.0.

Предоставление полного доверия сетевой папке

Чтобы запустить решение Visual Studio Tools for Office из сетевой папки, необходимо предоставить полное доверие сетевой папке, сконфигурировав соответствующим образом политику безопасности на компьютере разработчика. Политику безопасности можно настроить из командной строки с помощью средства настройки политики управления доступом для кода (Caspol.exe). Чтобы предоставить доверие сетевому компьютеру, необходимо иметь права администратора и изменить политику безопасности на уровне компьютера.

ms268872.alert_note(ru-ru,VS.90).gifПримечание.

Данная процедура предназначена для выполнения данного пошагового руководства. Не применяйте данную процедуру, чтобы предоставить доверие сборкам или каталогам, если нет уверенности в том, что они безопасны. Дополнительные сведения о предоставлении и отмене разрешений см. в разделах Практическое руководство. Предоставление разрешений папкам и сборкам (Система 2003) и Практическое руководство. Удаление разрешений для папок и сборок (система 2003).

Предоставление полного доверия сетевой папке

  • Введите следующую команду в командную строку Visual Studio:

    caspol -m -ag LocalIntranet_Zone -url \\DeployServer\ShareFolder\* FullTrust -n "Remote Deployment" -d "Deployment Walkthrough"
    

Проверка работы решения

Теперь можно выполнить тестирование решения, чтобы убедиться в том, что код запускается при открытии документа с компьютера разработчика.

Тестирование развертывания

  1. На компьютере разработчика откройте файл WordDeployment.doc в папке \\DeployServer\ShareFolder\.

  2. Проверьте, появилось ли окно сообщения.

Следующие действия

Для развертывания решения может также использоваться файл установщика Microsoft Windows (.msi). Дополнительные сведения см. в разделе Пошаговое руководство. Развертывание настройки на уровне документа с помощью файла установщика Windows (система 2003).

См. также

Задачи

Пошаговое руководство. Развертывание настройки на уровне документа с помощью файла установщика Windows (система 2003)

Основные понятия

Развертывание решений Office (система 2003)

Развертывание настроек уровня документа (системы 2003)

Модели развертывания (система 2003)