Моей средой является VS2005 C #, ориентированная на Excel 2003. Я немного доверял установщику этой надстройки, когда увидел, что проект .msi создан специально для меня в рамках решения. Излишне говорить, что это была самая сложная часть всего проекта, и я полностью застрял в том, как развернуть и установить Full Trust для моей надстройки в процессе установки.
Я последовал очень полезному примеру из http://msdn.microsoft.com/en-us/library/aa537179(office.11).aspx - «Развертывание инструментов Visual Studio 2005 для решений Office с помощью установщика Windows: пошаговые руководства (часть 2 из 2)».
Кажется, в этом документе были некоторые неточности, но в действительности они были незначительными. Я использую пример проекта инструментов VSTO 2005 для настройки безопасности .net в качестве настраиваемого действия MSI. Кажется, это работает, но в настоящее время не позволяет загружать мой плагин, если я вручную не изменю некоторые вещи с помощью инструмента настройки .Net Framework. После завершения установки я вижу соответствующие записи реестра для надстроек Excel и соответствующее значение LoadBehavior 0x03. В апплете Конфигурация .Net 2.0 Framework на Панели управления я вижу 2 узла, добавленных в мою Политику безопасности времени выполнения.
Политика безопасности времени выполнения -> Пользователь -> Группы кодов -> All_Code -> MyCodeGroup -> MyCodeGroupChild.
Настройки MyCodeGroup установлены на валидацию URL-адреса и политический уровень NONE.
Дочерними настройками MyCodeGroup являются STRONG NAME и они соответствуют тому, что я установил для своей dll надстройки.
В этой настройке плагин не будет загружаться. ЕСЛИ я меняю политику «MyCodeGroup» с None на Full Trust, она работает. (после того, как я сбросил свое поведение загрузки реестра с 0x02 до 0x03).
Есть идеи по этому поводу? Я не нашел много в Интернете, чтобы указать, где я иду не так.