пятница, 29 апреля 2011 г.

WIndows installer - хождение по мукам

Windows installer (VS 2008):
1) создает некорректные ярлыки (на WinXP работает, на Windows 7 - нет)
2) с реестром работает из рук вон плохо и если дать ему возможность создавать и удалять ключи, то после удаления программы можно смело восстанавливать Windows через Recovery console. К примеру, если у вас есть ключ HKML\Software\Microsoft\your_app, то удаляя ключ your_app MSI может прибить еще и ключ Microsoft. Не повторяйте наших ошибок, тестируйте на виртуалках
3) общий инсталятор для x86 и x64 создать без граблей нельзя: надо вручную обходить File system redirection и Registry reflection в Windows 7. Первый нюанс отключается достаточно легко, а вот со вторым придется повозиться.

Копирование файлов, настроек реестра, создание ярлыков и запуск программ - это те функции, которые программа установки должна предоставлять без лишней возни со стороны пользователя.  В случае MSI и для обхода его многочисленных ошибок, приходиться писать custom actions, т.е исполняемые модули, которые и будут делать всю работу программы установки.
Самое веселое в том, что процентов 60 функциональности MSI не доступно напрямую и надо делать самопальные скрипты, которые будут лазить по готовому MSI и подправлять его.

Есть Wix, есть куча платных и бесплатных программ установки - я их еще не пробовал, но уже уверен, что хуже чем MSI сделать вряд ли возможно.

Комментариев нет:

Отправить комментарий