Съзвездие от инсталатори на Gentee

Продължение. Стартирайте CG # 16 (308)

съзвездие
Напредъкът на инсталацията може да бъде напълно контролиран чрез следните раздели. Скрипт - ето го - сърцето на всеки дистрибуционен пакет, създаден с CreateInstall 2000 - самият скрипт, отговорен за всичко, което инсталационната програма ще направи на машината на крайния потребител. Както видях тази отметка, тя е показана на фиг. 1. В колоната Команди - оператори на скриптове, в Параметри - техните параметри. За да бъда честен, първоначално имах лек шок от видяното - какво е това, друг език за разбиране?! А параметрите като цяло са нещо страшно. Въпреки че всичко, което е възможно, е подробно описано в помощта, там веднага тръгнах да търся начин да се възстановя; Аз обаче не вярвах, че толкова много програмата, която ме радваше, най-накрая успя да ме разстрои. И (не вярвайки) не сбърках! Не трябваше да пиша целия този ужас с ръце. Към скрипта се добавя нова команда, като натиснете един бутон и изберете името му от списъка, който се появява (Фиг. 2).

BOOL ExitWindowsEx (
UINT uFlags, // операция по изключване
DWORD dwReserved // запазено
);

Като цяло изгледът на фиг. 2. След като се справихте с параметрите на тази команда, щракнете върху бутона OK. Резултатът от нашата дейност ще бъде единственият нов ред в раздела Скрипт на главния прозорец CreateInstall 2000:

ci2000.exe projects \ myproject.crp "$ парола $ = qwerty"

(myproject.crp тук е вашият предварително запазен проект за инсталационен пакет). Този пример се основава на изпълнението на следната идея: ако програмата е малка, тогава е възможно да се генерира специален именен инсталационен пакет за всеки потребител, защитен с уникална парола, и да се изпрати паролата заедно с пакета до края потребител по имейл. Тъй като няма един потребител, трябва да има много пакети с различни пароли. Не ги предписвайте с ръце всеки път. Можете да поставите този урок на конвейера, да напишете партиден файл, генератор на пароли - и проблемът е решен. Като цяло CreateInstall 2000 е много гъвкав и лесен за работа с всякакви параметри на командния ред. Всички те ще бъдат достъпни за инсталационния скрипт като макрос # cmdparam1 #, # cmdparam2 # и т.н.
Езикът на скриптове също така позволява използването на IF THEN ELSE разклонения. Това е основна разлика от предишните два продукта, тъй като позволява процесът на инсталатора да се разклонява, а не просто да прекъсва или да продължава. По-конкретно, работата с тях изглежда така:

ВерсияOS = 1
Ако = "osif, 1, # osvplatform #, n =, 1"
RegValSet = "HKEY_LOCAL_MACHINE, Softawre \ Cradle Fields, Inc \ GraphSight \ 1.0 \ Лиценз, Потребителско име, 0, Александър Муравски, 0"
Elseif = "osif"
RegValSet = "HKEY_CURRENT_USER, Software \ Cradle Fields, Inc \ GraphSight \ 1.0 \ License, UserName, 0, Alexander Mouravsky, 0"
Endif = "osif"

Въпреки че изглежда доста страшно, но, повтарям, това е полученият скрипт и аз не положих никакви усилия да го напиша - всичко се прави чрез интуитивен интерфейс. Сега малко за това какво ще направи този код, когато инсталаторът се стартира. Първо се определя типът платформа. В макроса първата команда # osvplatform # чете число, ако е 1 - Widnows 95/98, 2 - Windows NT. Доста често разработчикът е принуден да внедри различни версии на програми или библиотеки за различни платформи на Windows поради значителни разлики в техния API. След това, в зависимост от стойността, записваме данните в регистъра. За различни платформи, за пример, написах стойностите в различни клонове на системния регистър (под Windows NT достъпът до HKEY_LOCAL_MACHINE може да бъде затворен за приложение, което няма съответните привилегии).