Улучшенный шаблон проекта для создания инсталлятора для Visio на WiX — теперь с WiX Extension

Значительно улучшил шаблон проекта WiX для создания интсаллятора для установки шаблонов и трафаретов. Для этого сделал специальный WiX Extension. Теперь, чтобы зарегистрировать файл шаблона или трафаретов для Visio, достаточно одной строчки:

 <Component>
 <File Name="Stencil_1_M.vss">
 <visio:Publish MenuPath="Group\Stencil 1" />
 </File>
 </Component>
 

Обновленная версия доступна на Visual Studio Galery. Ее можно установить прямо из Visual Studio, Tools -> Extension Manager. Ссылка на страницу Visual Studio Gallery:
http://visualstudiogallery.msdn.microsoft.com/68d12e2d-eb42-4847-808a-7d80863bb90d

Если вы видели предыдущую версию, то она пестрила всякими не совсем очевидными вещами типа странных GUID-ов. Сейчас для использования все просто — все сложности завернуты в WiX Extension  DLL, которая преобразует <visio:Publish> в записи регистрации внутри инсталлятора, и делает все прочие вещи описанные  в предыдущих постах. Написание самого расширения оказалось не совсем тривиальной задачей поскольку примеров — кот наплакал. Ну в любом случае, вроде бы все получилось и работает как надо. Может быть если будет время сделаю статью как писать WiX Compiler Extension. Пока что в этом качестве только исходный код проекта на github. Ну в любом случае, это лирика.

Итак, вот элемент <visio:Publish>, который регистрирует шаблон или трафарет в Visio со всеми возможными параметрами (только «MenuPath» — название в меню — является обязательным, все остальные опциональны).

 <File Name="Stencil_1_M.vss"><visio:Publish
 MenuPath="VisioSetupProject4\Stencil 1"
 Language="en-us"
 Visio2003="yes"
 Visio2007="yes"
 Visio2010="yes"
 Visio2013="yes"
 VisioEdition="x86"
 AltNames="stn1.vss;stencil1.vss"
 QuickShapeCount="2"
 />

</File>
 

Поскольку шаблон предоставляет схему, для всех параметров нормально работаете автокомплит и подсказки, так что не нужно эти опции запоминать, и ошибиться в значении довольно трудно:

14-05-2013 7-19-07

Сам проект также был изменен, и теперь включает крошечную DLL вместо vb-скрипта для сброса кэша шаблонов в Visio, и это не нужно больше делать в коде явно, как это было в начальной версии.

Также почистил шаблон от всего что относится к x64 — это только его усложняло. Сейчас все выглядит нисколько не сложнее стандартного проекта WiX.

Пока все.. Предложения — пожелания приветствуются =)

Добавить комментарий