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


Практическое руководство. Добавление и удаление записей списка включения (система 2007)

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

Применение

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

Тип проекта

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

  • Проекты уровня приложения

Версия Microsoft Office

  • Выпуск 2007 системы Microsoft Office

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

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

Дополнительные сведения о списках включения см. в разделе Доверие решениям Office при использовании списков включения (система 2007).

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

ссылка на видео Демонстрационные видеоролики см. в разделе Практическое руководство (видео). Добавление и удаление записей списка включения (система 2007).

Добавление записей в список включения

Добавьте элементы AddInSecurityEntry в список UserInclusionList с помощью метода Add.

Добавление решения в список включения

  1. Создайте консольное приложение Visual Basic или Visual C# в Visual Studio.

  2. Добавьте ссылку на Microsoft.VisualStudio.Tools.Office.Runtime.v9.0.

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

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. Откройте манифест развертывания для решения Office, которое добавляется в список включения, и найдите в узле StrongNameSignature элемент RSAKeyValue.

  5. Скопируйте в буфер обмена элемент RSAKeyValue, включая все его дочерние элементы и теги.

  6. Добавьте следующий код в метод Main, замените строку PublicKey на скопированный из манифеста развертывания текст, а также замените образец строки универсального кода ресурса (URI) на путь к нужному манифесту развертывания.

    Dim publicKey As String = "<RSAKeyValue><Modulus>mUl8MhOil1fKLKYpHItsyCGNXxGJW74L8d4zOVwSvLDP1qoXF0lLqf/Ql8yO+31zuFbx8Aer3eQz9tcb/pz0NJREdbeOvxYa+nHTnR3j7rRUkmE8AKzvcG8BmTlgbprXaY0QTln8syHTC7yY5AA+xibwatFMpEpEBRqF5MmsGkE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"
    Dim solutionLocation As New _
        Uri("http://DeploymentServer/MySolution/MySolution.vsto")
    Dim entry As AddInSecurityEntry
    
    Try
        entry = New AddInSecurityEntry(solutionLocation, publicKey)
        UserInclusionList.Add(entry)
    
    Catch e As ArgumentNullException
        Console.WriteLine(("Exception: " + e.Message))
    End Try
    
    string publicKey = "<RSAKeyValue><Modulus></Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
    Uri solutionLocation = new Uri(@"http://DeploymentServer/MySolution/MySolution.vsto");
    
    AddInSecurityEntry entry;
    
    try
    {
        entry = new AddInSecurityEntry(solutionLocation, publicKey);
        UserInclusionList.Add(entry);
    }
    
    catch (ArgumentNullException e)
    {
        Console.WriteLine("Exception: " + e.Message);
    }
    
  7. Постройте приложение.

  8. Запустите приложение на компьютере, на котором выполняется решение Visual Studio Tools for Office. Решение с манифестом развертывания, который представлен универсальным кодом ресурса (URI) solutionLocation, будет добавлено в список включения.

Удаление записей из списка включения

Удалите записи с помощью метода Remove класса UserInclusionList.

Удаление решения из списка включения

  1. Создайте консольное приложение Visual Basic или Visual C# в Visual Studio.

  2. Добавьте ссылку на Microsoft.VisualStudio.Tools.Office.Runtime.v9.0.

  3. Откройте для редактирования файл с кодом и добавьте в его начало инструкцию Imports или using.

    Imports Microsoft.VisualStudio.Tools.Office.Runtime.Security
    
    using Microsoft.VisualStudio.Tools.Office.Runtime.Security;
    
  4. Добавьте следующий код в метод Main и замените образец строки универсального кода ресурса (URI) на путь к нужному манифесту развертывания.

    Dim solutionLocation As New _
        Uri("http://DeploymentServer/MySolution/MySolution.vsto")
    Try
        UserInclusionList.Remove(solutionLocation)
    
    Catch e As ArgumentNullException
        Console.WriteLine(("Exception: " + e.Message))
    End Try
    
    Uri solutionLocation = new Uri("http://DeploymentServer/MySolution/MySolution.vsto");
    
    try
    {
        UserInclusionList.Remove(solutionLocation);
    }
    
    catch (ArgumentNullException e)
    {
       Console.WriteLine("Exception: " + e.Message);
    }
    
  5. Постройте приложение.

  6. Запустите приложение на компьютере, на котором выполняется решение Visual Studio Tools for Office. Решение с манифестом развертывания, который представлен универсальным кодом ресурса (URI) solutionLocation, будет удален из списка включения.

См. также

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

Доверие решениям Office при использовании списков включения (система 2007)

Безопасность в решениях Office (система 2007)