суббота, 27 апреля 2013 г.

WiX. Минимальный набор диалоговых окон

На днях у меня возникла задача написать простейший инсталятор к простенькой програмульке. Решил использовать WiX - благо, со студией интегрируется и, вроде как, все должно быть легко. Почесав затылок, подумал, что не плохо было бы прикрутить стандартные окошки - "приветствие" и "выбор папки". Больше, в принципе, ничего не надо. Добавил в References WixUIExtension.dll, начал разбираться со стандартными наборами диалогов и с ходу напоролся на неприятный момент - в классический набор запихнули диалог с лицензий. Так уж сложилось, что авторы WiX-а убеждены, что лицензия вещь офигенно важная и без нее ну никак. Для моей же задачки лицензия была, как бельмо на причинном месте. Пришлось "лечить". Как ни странно, простого решения не нашлось - никаких настроек и/или флажков. Пришлось лезть в исходники и править ручками файлик WixUI_InstallDir.wxs. Дабы не было конфликтов, предварительно переименовал его в WixUI_Simple.wxs. Затем вычистил все, что касается лицензии и аккуратненько перекинул ссылочки. Получилось вполне прилично. Для использования достаточно добавить в проект WixUI_Simple.wxs и добавить пару строчек в Product.wxs:
...
<property id="WIXUI_INSTALLDIR" value="INSTALLFOLDER"></property>
<uiref id="WixUI_Simple"/>
INSTALLFOLDER - это идентификатор конечной директории. Т. е. он прописывается в теге Directory
...
<Directory Id="INSTALLFOLDER" Name="ProductName">

Скачать WixUI_Simple.wxs

пятница, 26 апреля 2013 г.

Первое знакомство с VS2012

Время летит и прогресс не стоит на месте. Технологии развиваются с бешеной скоростью. Пытаюсь угнаться. Пару месяцев назад дошли руки до Visual Studio 2012. Установил. Запускаю. С замиранием сердца жду чуда. Супер-новый интерфейс, новые возможности, новый дизайн.. Но, что это? Все такое серенькое и невзрачное. Но почему? Ок. Наверное, яркий дизайн просто вышел из моды. Будем знать - надо будет учесть в своих проектах это "ноу-хау".

CAPS в меню

Тут мой взгляд остановился на главном меню. Тут определенно было что-то не так. Меню резало глаз. После десяти секунд одупления до меня дошло - большие буквы. Ужас! Ок. Я спокоен и гугл мне поможет. Пара минут поиска выдала пару статей и проблема решилась простенькой настройкой реестра.

Для возврата старого меню внесите следующие изменения в реестр Windows:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General\SuppressUppercaseConversion REG_DWORD value: 1
(если лень копаться в реестре вручную, то можно скачать файлик  SuppressUppercaseConversion.reg и просто запустить его)
Хорошо. Менюшку привели в "божеский" вид. Начинаем работать.

Макросы

Но что это? Не работают горячие клавиши? Да нет - некоторые работают. Не перенеслись настройки из предыдущей студии? Тоже как-то странно. Еще пара минут плясок с бубном и до меня доходит - ПЕРЕСТАЛИ РАБОТАТЬ МАКРОСЫ!!! Т. е. совсем перестали - даже редактор макросов из меню исчез. Активно гуглю и выясняю, что макросы реально убрали. Убрали совсем, безвозвратно и надежды на сервиспаки нет никакой. Печально.

Скорость

А вот скорость порадовала - тупить стало меньше. Я, по-началу, по своей наивности даже подумал, что "мелкомягкие" научились оптимизировать код. Однако, после пары дней более пристального изучения, понял, что нет - оптимизации как таковой нет. Просто тяжелые задачи распараллелили по потокам. Т. е. теперь, пока грузится дизайнер, основной поток не висит и можно что-то делать. Ну хоть так - все же, лучше, чем было.

Инсталяшки

Итак, я написал свой первый проект. К этому времени я уже успел привыкнуть к новому дизайну и он мне даже стал нравиться. Пора собирать дистрибутив. Проект простенький, без заморочек, поэтому на дистрибутив я выделил 1.5 часа - как мне тогда казалось "с приличным запасом". Но тут меня ждал новый сюрприз - старого доброго конструктора дистрибутивов больше нет. Снова лезу в гугл, листаю статьи, курю форумы. Выясняю, что теперь для сбора инсталяшки народ использует волшебный бубен сторонний продукт под названием "WiX". Полноценную документацию на родном языке найти не удалось.. как, впрочем и удобного UI. Пришлось снова курить форумы и лазить по буржуйским сайтам. Через 2 дня дистрибутив таки был собран. Не могу сказать, что WiX мне не понравился. Но все его возможности можно вкуривать ни один месяц.

Итог

А зори здесь тихие...