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


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

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

Применение

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

Тип проекта

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

Версия Microsoft Office

  • Microsoft Office 2003

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

В этом пошаговом руководстве демонстрируется развертывание настройки уровня документа таким образом, чтобы документ и сборка находились в разных папках компьютера конечного пользователя. Этот тип развертывания называется локальной/локальной моделью развертывания.

Дополнительные сведения о развертывании решения см. в разделе Модели развертывания (система 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.

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

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

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

Создание решения для развертывания

На первом этапе необходимо создать базовое решение Visual Studio Tools for Office для последующего развертывания. Если развертываемое решение уже создано, пропустите раздел "Создание решения для развертывания" и перейдите сразу к разделу "Развертывание решения".

Создание решения для развертывания

  1. Создайте проект документа Word с именем WordDeployment, используя шаблон проекта для Office 2003.

    В мастере выберите Создать новый документ. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.

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

  3. В обработчик событий ThisDocument_Startup добавьте следующий код. В этом коде при открытии документа отображается сообщение об успешном развертывании решения.

    MessageBox.Show("The deployment is successful")
    
    MessageBox.Show("The deployment is successful");
    

    Дополнительные сведения о событии Startup см. в разделе Инструменты Visual Studio для событий проекта Office.

  4. Нажмите клавишу F5 для построения и выполнения проекта. Убедитесь, что появилось ожидаемое сообщение.

Развертывание решения

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

Развертывание решения

  1. Создайте папки с именами TestDeployDocument и TestDeployAssembly в корне системного диска Windows (%SystemDrive%). Например, для системного диска C новыми папками будут C:\TestDeployDocument и C:\TestDeployAssembly.

  2. Скопируйте документ из выходной папки построения проекта (как правило, это папка проекта\bin\debug или папка проекта\bin\release) в папку %SystemDrive%\TestDeployDocument и скопируйте сборку из выходной папки сборки в папку %SystemDrive%\TestDeployAssembly.

  3. Откройте документ в папке %SystemDrive%\TestDeployDocument. Будет показано сообщение об ошибке, в котором сообщается, что не удалось найти или загрузить сборку настройки.

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

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

  5. Закройте решение в Visual Studio.

    Убедитесь, что документ не открыт в экземпляре приложения Word или конструкторе проекта. Если документ открыт, на следующем шаге не удастся получить доступ к нему с помощью класса ServerDocument.

Изменение встроенного манифеста приложения

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

Изменение встроенного манифеста приложения

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

  2. Добавьте в новый проект ссылку на сборку Microsoft.VisualStudio.Tools.Applications.Runtime.dll.

  3. Добавьте операторы using (C#) или Imports (Visual Basic) в начало файла кода Program.cs или Module1.vb:

    Imports Microsoft.VisualStudio.Tools.Applications.Runtime
    
    using Microsoft.VisualStudio.Tools.Applications.Runtime;
    
  4. Чтобы обновить встроенный манифест приложения, добавьте следующий код в метод Main. Замените строку полный путь документа на полный путь к документу в расположении для развертывания на компьютере разработчика, например C:\TestDeployDocument\WordDeployment.doc. Замените строку полный путь сборка на полный путь к сборке в сетевой папке, в которой будет развернута сборка, например C:\TestDeployAssembly\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();
        }
    }
    
  5. Нажмите клавишу F5 для построения и выполнения проекта. В консольном приложении выполняется обновление пути к сборке во встроенном манифесте приложения, после чего работа приложения завершается.

  6. Закройте проект консольного приложения.

  7. Откройте документ в папке %SystemDrive%\TestDeployDocument. Отображается сообщение об ошибке, в котором сообщается, что в соответствии с текущей политикой безопасности .NET выполнение данной настройки не допускается. Это произошло потому, что сборке пока не было предоставлено полное доверие.

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

    Для вступления в силу изменений политики безопасности необходимо закрыть все открытые экземпляры Word.

Настройка политики безопасности

Чтобы разрешить выполнение решения, необходимо предоставить полное доверие сборке, настроив соответствующим образом политику безопасности платформы .NET Framework 2.0. В этом руководстве полное доверие сборке предоставляется с помощью средства настройки политики управления доступом для кода (Caspol.exe). Дополнительные сведения о работе с Caspol.exe см. в разделах Средство настройки политики управления доступом для кода (Caspol.exe) и Настройка политики безопасности с помощью средства для настройки политики управления доступом для кода (Caspol.exe).

ms404838.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Чтобы завершить это руководство, выполните следующие шаги по настройке политики безопасности на основе свидетельства URL-адреса. Не используйте описываемый метод для предоставления полных прав сборкам в реальных решениях, если есть сомнения в том, что их расположение надежно и безопасно. Для реальных решений рекомендуется использовать политику безопасности, основанную на более значимых, чем URL-адрес сборки, свидетельствах. Дополнительные сведения см. в разделе Требования безопасности при выполнении решений Office (для системы 2003).

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

  1. Для создания новой группы кода, в которой предоставляется полное доверие сборке, введите в командной строке следующую команду:

    %windir%\Microsoft.NET\Framework\v2.0.50727\caspol -u -ag All_Code -url "full assembly path" FullTrust -n "Test_Deployment"
    

    Замените полный путь сборки на полный путь к сборке на компьютере разработчика, например, C:\TestDeployAssembly\WordDeployment.dll.

    Параметр -n задает имя новой группы кода. Этот параметр является необязательным и используется для упрощения идентификации и удаления новой группы кода по завершении этого пошагового руководства.

  2. В ответ на запрос о подтверждении выполнения операции введите yes и нажмите клавишу ВВОД.

  3. Откройте документ в папке %SystemDrive%\TestDeployDocument и убедитесь, что появляется ожидаемое сообщение.

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

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

См. также

Задачи

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

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

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

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

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

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

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

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

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