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

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 може да бъде затворен за приложение, което няма съответните привилегии).