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

Друг интересен момент, който прави възможно разширяването на функционалността на инсталационния пакет е, че можете да свържете свои собствени формуляри (прозорци) и да ги покажете на потребителя. Освен това резултатите и работата могат да бъдат обработвани от скриптовете на самия CreateInstall 2000. Допълнителните формуляри могат да имат бутони Предишен, Напред, Изход, Добре, Отказ. CreateInstall 2000 е в състояние (не без известни усилия на програмиста от тази форма, или по-скоро функцията dll) да различава това, което е било натиснато и да действа по съответния начин. Е, ако има формуляр, това е напълно работеща програма, с която можете да правите каквото искате на машината на потребителя, например да поискате ключове за регистрация, да събирате необходимата информация от потребителя и да я изпращате в Интернет на уебсайт на разработчика за анализ, проверете дали по време на инсталационния процес е пусната нова версия на продукта, който ще се инсталира. Можете да направите същото с настройката на езика на програмния интерфейс. Не е необходимо да копирате файлове, поддържащи всички езици, на твърдия диск, по-добре е да дадете възможност на потребителя да избере сам. Можете също така да приложите определени условия за използване на продукта за вашите съграждани. Например, ако потребителят е избрал руски, а след това за руски, можете веднага да регистрирате регистрационния ключ в регистъра или файла, така че програмата да е регистрирана за него. Мисля, че сме виждали този подход към рускоезичен потребител неведнъж.
Ето показалец на скрипт, ако го опишете на човешки език.

Нека да преминем към раздела Преди. Ето и скрипт. Но той ще бъде изпълнен още преди създаването на пакета - точно на машината на разработчика. Попитайте защо? Представете си ситуация, когато инсталационният пакет включва много различни файлове от различни директории и също така трябва да ги обработите предварително (например, компресирайте exe файла с някакъв пакет, пакетирайте примерни документи в отделен архив, прекомпилирайте HTML файла за помощ) . Всеки път, копирайки цялата икономика на проекта в отделен татко, ако има повече от три файла, това е скъпо и ще се объркате във версиите точно там (там readme.txt е стар, има нов, вие няма да разбере. Но той е само на едно място и при необходимост се копира в инсталационната папка.).

gentee
Е, целта на раздела След е ясна без обяснение. Пример - обичайно е да допълвате инсталационните програми с всякакви видове лиценз.txt и readme.txt и да ги опаковате в zip отгоре, за да можете да разберете за тяхното предназначение и условия на разпространение още преди инсталирането.
Разбира се, би било погрешно да се предположи (и това би било много силен недостатък), че CreateInstall 2000 няма автоматизма, присъщ на предишните описани програми. Той остана - просто програмата съдържа предишните версии. Те са проектирани като съветници (това може да се види и на фиг. 1 - раздел съветници). Няма да се спирам на всеки по-подробно, но все пак трябва да кажа няколко думи за тях. И така, първият - Basic [1], щракнете върху този елемент - и ние имаме нещо, което прилича на генератора за настройка (фиг. 3.), може би с малко по-малък брой настройки, което не е важно. Техниката на работа с този съветник е абсолютно същата като в генератора за настройка - минимум настройки и напълно професионален комплект за разпространение ще бъдат готови след три минути. CreateInstall v 3.41 - малко повече настройки. Този съветник е копие на отделен стар, ако някой знае, продукт на Gentee със същото име. Wizard с повече от очевидното име Professional [1] е почти и вероятно точно копие на Setup Generator Pro. Само за "културно" архивиране на данни, Simple SFX Archive живее в семейството на съветниците CreateInstall2000. Неговите възможности са ограничени само чрез задаване на името на изходния файл, размера на томовете (без ограничение или 1,44 MB) и съобщението, което ще се покаже в началото на инсталацията. За транспортирането на алфа-версията на програмата до приятел за работа на две дискети е много полезно.