Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

Установка «В бой!»

ShadOS (shados@real.xakep.ru)

Хакер, номер #090, стр. 090-034-4


Легко или сложно — выбирай сам

Во всех этих возможностях NSIS можно запутаться, а можно умело пустить их в дело. Для тех, кто уже успел погрязнуть в пучине непоняток или слишком ленив, чтобы изучать новый язык, есть отличный помощник – Mihov NSIS Helper. Это — программа-оболочка для NSIS, которая позволяет создать инсталляционный пакет, не вникая в подробности написания скриптов. От тебя требуется указать пару-тройку параметров – что и куда ставить. А все остальное NSIS Helper сделает за тебя: тебе останется лишь скомпилировать полученный скрипт.

И все-таки я рекомендую, хотя и более геморройный, но зато более эффективный путь — разработку скриптов вручную. В процессе написания статьи я настолько втянулся, что ненароком наколбасил на скриптах NSIS вирус. Он, правда, пока кривой, но очень злобный. Дерзай :).

Ответ Microsoft’а

Естественно, компания Microsoft оставить не могла без внимания поле деятельности подобного продукта и тоже сделала свой вклад в развитие бесплатных инсталляционных пакетов. Исходник Windows Installer XML (WiX), который по многим параметрам не уступает NSIS, давно доступен на sourceforge.net. Единственный минус в том, что пакет в обязательном порядке требует наличия на компьютере .NET Framework, который установлен пока не у всех. В качестве базового формата скриптов для инсталлятора WiX использует язык XML. Может это и плюс, но, по-моему, писать скрипты для NSIS намного удобнее. Вот простейший скрипт WiX, который создаст инсталлятор с возможностью установки/удаления, копирующий файл readme.txt в папку “C:\Program Files\Test Program”:

<?xml version='1.0'?>

<Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi'>

<Product Id='12345678-1234-1234-1234-123456789012' Name='Test Package' Language='1033'

Version='1.0.0.0' Manufacturer='Microsoft Corporation'>

<Package Id='12345678-1234-1234-1234-123456789012'

Description='My first Windows Installer package'

Comments='This is my first attempt at creating a Windows Installer database'

Manufacturer='Microsoft Corporation' InstallerVersion='200' Compressed='yes' />

<Media Id='1' Cabinet='product.cab' EmbedCab='yes' />

<Directory Id='TARGETDIR' Name='SourceDir'>

<Directory Id='ProgramFilesFolder' Name='PFiles'>

<Directory Id='MyDir' Name='TestProg' LongName='Test Program'>

<Component Id='MyComponent' Guid='12345678-1234-1234-1234-123456789012'>

<File Id='readme' Name='readme.txt' DiskId='1' src='readme.txt' />

</Component>

</Directory>

</Directory>

</Directory>

<Feature Id='MyFeature' Title='My 1st Feature' Level='1'>

Назад на стр. 090-034-3  Содержание  Вперед на стр. 090-034-5