Настройка развертывания для Office

Я разработал плагин для Outlook с помощью NetOffice, Он отлично работает на моем ПК для разработки, но я изо всех сил пытаюсь создать настройку развертывания. Я много гуглил, но все учебники, похоже, нацелены на разработчиков, у которых установлена ​​профессиональная версия Visual Studio. Я разработчик хобби, работающий с Visual Studio Community 2015. Поэтому я использую NetOffice и у меня нет доступных инструментов VSTO. Этот сайт был самым полезным на данный момент: установщик WiX для проектов VSTO

Я установил WiX и использовал пример на этом сайте в качестве шаблона. Но этот кусок кода не работает для меня:

<Component Id="CMP_DllManifest">
  <File Id="FILE_DllManifest" Source="$(var.NoReplyAll.TargetPath).manifest" KeyPath="yes" />
</Component>
<Component Id="CMP_VstoManifest">
  <File Id="FILE_VstoManifest" Source="$(var.NoReplyAll.TargetDir)$(var.NoReplyAll.TargetName).vsto" KeyPath="yes" />
     <RegistryKey Root="HKLM" Key="Software\Microsoft\Office\Outlook\Addins\NoReply">
        <RegistryValue Name="Description" Value="NoReplyAll Add-In" Type="string" Action="write" />
        <RegistryValue Name="FriendlyName" Value="NoReplyAll" Type="string" Action="write" />
        <RegistryValue Name="LoadBehavior" Value="3" Type="integer" Action="write" />
        <RegistryValue Name="Manifest" Value="[#FILE_VstoManifest]|vstolocal" Type="string" Action="write" />
     </RegistryKey>
 </Component>

Причина в том, что файлы.manifest и.vsto не существуют в выходной папке моей сборки. Я гуглил, чтобы узнать, как их генерировать, но ответ заключается в том, чтобы перейти на вкладку "Linker" в свойствах проекта и выполнить необходимые настройки. Только в моей версии Visual Studio эта вкладка не существует. Так что сейчас я снова застрял.

Есть ли решение для дешевого хобби-разработчика, который использует бесплатные инструменты?

1 ответ

Когда я разработал плагин для Excel с NetOffice, я создал установщик с WiX#. Надеемся, что вы можете изменить его для своих целей: https://gitlab.com/jbjurstam/ExcelAnimationRecorder/tree/master/Installer

Вам нужно создать отдельные установщики для 64 и 32 бит, иначе regasm не будет работать правильно. С другой стороны, ваша dll может быть построена с использованием AnyCPU (однако, если вы хотите отладить ее для 64-битного Excel, вам нужно собрать для 64-битной и установить цель отладки в Excel.exe). Установщик вызывает regasm, который, в свою очередь, вызывает метод register в вашей dll (который NetOffice генерирует для вас). Это достигается с помощью CustomAction.

Другие вопросы по тегам