Umíme to s Delphi: 86. díl – tvorba instalačních balíků, dokončení

Před týdnem jsme společně začali vytvářet instalační balík naší Delphi aplikace. Dnes budeme pokračovat popisem dalších kroků. Výsledkem našeho snažení bude funkční instalační balík, jehož spuštění způsobí kompletní, bezproblémovou a příjemnou instalaci aplikace.

Před týdnem jsme společně začali krok za krokem procházet nástroj Install Shield Express, který je určen k tvorbě instalačních balíků. Dostali jsme se zhruba do poloviny – skončili jsme krokem ODBC Resources, který je součástí fáze Configure the Target System. Dnes pokračujeme – dalším krokem v téže fázi je konfigurace souborů *.INI.

INI File Changes

Inicializačními (*.INI) soubory jsme se zabývali v 68. dílu tohoto seriálu. Jedná se o soubory, v nichž si aplikace uchovávají svá nejrůznější nastavení, hodnoty vlastností, uživatelem zadané/zvolené údaje, pozice oken apod.

Pokud aplikace, kterou hodláme šířit, využívá těchto inicializačních souborů, je vhodné na to pamatovat už při vytváření instalačního balíku. Sekce INI File Changes je přímo k tomu určena.

Připomeňme, že formát inicializačních souborů je následující:

[section name]
keyword1=value1
keyword2=value2
keyword3=value3
… atd.

Podíváte-li se na vzhled Install Shield Expresu, zjistíte, že standardně není vytvořen žádný soubor INI. Chcete-li jej používat, klepněte pravým tlačítkem na ikonu INI Files, která je zobrazena v této sekci zhruba uprostřed obrazovky. Z kontextové nabídky zvolte „Add Ini File“. Vytvoří se první inicializační soubor nazvaný IniFile1.ini (přejmenujte jej podle potřeb vaší aplikace). Stejným postupem (tedy klepnutím pravým tlačítkem) se vytváří i všechny další soubory a také všechny jejich prvky: sekce a klíčová slova.

V případě naší jednoduché ukázky ovšem žádné inicializační soubory nepotřebujeme, proto ponecháme tuto sekci beze změn.

File Extensions

Sekce “File Extensions” je určena k vytvoření asociací mezi instalovanou aplikací a zvolenými typy souborů. Jistě nikoho nepřekvapí, že po poklepání na soubor *.txt otevře systém Windows Poznámkový blok (Notepad). Chcete-li, aby např. poklepání na soubor *.APL způsobilo spuštění vaší aplikace, použijte sekci File Extensions.

Vytvoření nové asociace se opět prování klepnutím pravým tlačítkem a vybráním „New Extension“. Po vytvoření nezapomeňte novou příponu přejmenovat. Klepnete-li na vytvořenou příponu levým tlačítkem, můžete v pravé části obrazovky nastavovat některé vlastnosti dané přípony; důležitá je zejména položka File, pomocí níž udáváme, jaký spustitelný soubor se má otevřít při poklepání na soubor dané přípony. Spustitelný soubor vyberte z rozbalovacího seznamu, který se u vlastnosti File objevuje. Je snad zbytečné zdůrazňovat, že v době vytváření přípony již musí být „cílový“ spustitelný soubor přidán do projektu. Další zajímavou vlastností je Icon File, pomocí níž můžete říci, jakou ikonu mají mít soubory dané přípony.

Naše ukázková aplikace opět nepotřebuje asociovat žádné přípony, proto v tomto případě ponecháme i sekci File Extensions beze změn.

Environment Variables

Tato sekce je k dispozici pouze v plné verzi programu Install Shield Express, nemusíte si s ní tedy zatěžovat hlavu.

Pokud si ji přesto chcete zatížit, stručně vysvětlím, že tento krok znamená vytvoření proměnných daného prostředí, tedy proměnných přístupných více aplikacemi na cílovém počítači. V rámci kroku Environment Variables můžete vytvářet, odstraňovat nebo modifikovat proměnné prostředí, přičemž provedené akce se na cílovém počítači provedou v okamžiku instalace.

Pokud si stále nejste jisti, co se myslí označením proměnná daného prostředí, naznačím, že v systémech Windows 95 a 98 jsou tyto proměnné vytvářeny a nastavovány souborem autoexec.bat.

Customize Setup Appearance

Dostáváme se ke čtvrté fázi tvorby instalačního balíku – k nastavování vzhledu instalace. V rámci této fáze se nastavují tři položky. Dvě z nich však lze modifikovat pouze v případě, máme-li k dispozici plnou verzi programu Install Shield Express.

Dialogs

Pomocí kroku Dialogs můžeme zvolit, jaká dialogová okna se budou zobrazovat v průběhu instalace. Kromě toho je možné nastavovat i jejich vzhled, například vkládáním obrázků a bannerů.. Tato položka je naštěstí přítomna i edici Borland Limited Edition, s níž pracujeme.

V rámci kroku Dialogs můžeme zapínat a nastavovat zobrazování velkého množství dialogů. Důležitý je například Splash Dialog, což je dialog, který se zobrazí jako první po spuštění instalačního balíku. Obecně lze říci, že tento dialog zobrazuje nějaký obrázek nebo ikonu; cestu k tomuto obrázku nastavíme pomocí Install Shield Expresu. Tento dialog je samozřejmě volitelný a pokud se rozhodnete pro jeho použití, měl by asi obsahovat nějaké logo vaší společnosti, značku či název aplikace. Dávejte jen pozor na to, že bitmapa musí mít rozměry 497 na 312 pixelů.

Podobným způsobem můžete „zapínat“ a nastavovat i jiné druhy dialogů, například uvítací dialog instalace, dialog zobrazující licenční ujednání, dialog zobrazující soubor readme, dialog získávající informace o uživateli (jistě znáte „Tento produkt je licencován pro ... – vaše jméno), dialog pro volbu cílového adresáře, dialog pro volbu typu instalace (v závislosti na typech vytvořených dříve – viz předchozí část seriálu), dialog zobrazující průběh instalace a několik dalších dialogů.

Zajímavý je pro nás také dialog nazvaný „Database Folder“, který slouží k zobrazení/změně cesty ke všem databázovým souborům, které naše aplikace využívá.

Billboards

Sekce Billboards využijeme v okamžiku, kdy chceme v průběhu instalačního procesu uživatele „zabavit“ zobrazováním reklamních obrázků, které typicky informují o vlastnostech instalovaného produktu, případně upozorňují na další aplikace příslušné firmy. Zejména u aplikací, jejichž instalace trvá delší dobu, je tato možnost užitečná. Většina uživatelů sice od déletrvající instalace uteče, případně se přepne jinam, ale stále existuje dost těch, kteří si nabízené instalace přečtou (zejména pokud dali za program několik tisíc).

Možnost přidávat tyto „billboardy“ (ve formě bitmap) a nastavovat dobu zobrazení každého z nich mají ovšem pouze uživatelé plné verze Install Shield Expressu.

Text and Messages

Tento krok je opět možné provádět pouze při zakoupené plné verzi Install Shield Expressu. V tom případě ovšem získáváme možnost plně modifikovat vzhled veškerých textů, které se v průběhu instalace objevují, a to třeba včetně popisků tlačítek (Next apod.).

V plné verzi instalátoru je také možné exportovat a importovat tabulky řetězců a vytvářet tak např. lokalizované verze instalačních balíků.

Define Setup Requirements and Actions

Tolik ke čtvrtému kroku. Na řadě je pátá fáze – nastavování požadavků a akcí instalace. Zde je možné například zakázat instalaci produktu na počítače, které nesplňují potřebné hardwarové nároky apod. Některé kroky této fáze jsou opět bohužel přítomné pouze v plné verzi.

Requirements

V tomto kroku nastavujeme veškeré požadavky, které naše aplikace má na cílový systém. Můžeme též zajistit, že v případě nesplnění těchto požadavků nebude aplikace nainstalována.

Volit můžeme tyto požadavky:

  • operační systém: lze určit, pro které systémy má instalace proběhnout a pro které nikoliv. V případě, že bude následně instalační balík spuštěn na počítači s nepodporovaným systémem, instalace neproběhne a instalátor se uhlazeně ukončí.
  • procesor
  • operační paměť: můžete nastavit minimální množství operační paměti, která stačí pro bezproblémový běh aplikace.
  • rozlišení obrazovky
  • barevná hloubka.

Jen bych rád podotkl, že i když vypadá možnost klást si minimální požadavky poměrně lákavě, nevyužívejte jí, pokud to není nezbytně nutné. Připravujete se tak zbytečně o uživatele. Má-li někdo doma počítač 486, počítá automaticky s tím, že mu nové aplikace poběží pomalu. Je na to připraven a pokud mu aplikaci znemožníte nainstalovat, pořídí si jinou od konkurence, která mu poběží stejně pomalu jako ta vaše, ale bude si ji moci nainstalovat.

Custom Actions

Tento krok umožňuje rozšířit funkčnost instalace o prvky, které nejsou automaticky součástí Windows Installeru. Tyto akce mohou zahrnovat jakékoliv činnosti od zobrazení souboru readme až třeba k modifikaci systémového registru.

Zajistit provedení nějaké takové funkčnosti se provede spuštěním externího spustitelného souboru nebo zavoláním funkce z knihovny DLL.

Dodejme, že Custom Actions jsou bohužel přítomny pouze v plné verzi Install Shield Expressu.

Support Files

Totéž – tedy přítomnost jen v plné verzi – platí i o kroku Support Files. Někdy potřebujeme, aby v průběhu instalace byly na cílovém počítači přítomny nějaké podpůrné soubory. Přesně k tomu slouží tento krok: zvolíte, které soubory budou potřeba a instalátor se následně postará o jejich nahrání do dočasného adresáře a o jejich odstranění na konci instalace.

Prepare for Release

Dostáváme se k poslední fázi tvorby instalačního balíku – k jeho finálnímu vytvoření. V této fázi se zkompiluje, vytvoří a otestuje instalační balík  vzniklý na základě údajů uvedených v předchozích fázích.

Build Your Release

Tento krok umožňuje vybrat, jeké médium bude pro balík použito a nastavit některé další parametry.

Krok se skládá ze tří základních činností:

  • volba typu média: nejprve je nutné zvolit typ média, na němž budete svou aplikaci distribuovat. K dispozici je šest předdefinovaných typů (CD ROM, DVD apod.), kromě toho je možné definovat úplně nové médium. Pokud je aplikace tak veliká, že vyžaduje použití většího počtu zvolených médií, postará se Install Shield Express automaticky o rozdělení balíku na potřený počet částí. V tom případě se jen musíte postarat o to, aby druhý (a případné další disky) měly správné názvy (Volume Labels): druhý disk se musí jmenovat DISK2, třetí DISK3 apod.
  • nastavení vlastností balíku: jedná se o vlastnosti související například s komprimací instalačních souborů do balíků *.CAB, s přítomností programu SETUP.EXE v instalaci (což znamená, že instalace úspěšně proběhne i na počítačích, které nemají Windows Installer), s vygenerováním souboru Autorun.inf apod.
  • sestavení balíku: závěrečný krok, v jehož průběhu dojde k vytvoření instalačního balíku. Průběh vytváření můžete sledovat na obrazovce; po skončení si můžete prohlédnout vytvořený log.

Proces provedete tak, že vyberete požadované médium, klepnete na něj levým tlačítkem, nastavíte požadované vlastnosti, pak klepnete na totéž médium pravým tlačítkem a zvolíte Build.

Instalační balík je vytvořen. Podíváte-li se do adresáře, v němž je projekt uložen, spatříte všechny potřebné soubory rozdělené do adresářů podle zvolených médií.

Test Your Release

Otestování vytvořeného balíku lze provést dvěma způsoby: spuštěním instalace a jejím otestováním. Rozdíl spočívá v tom, že spuštěním instalace provedete kompletní instalační proces přesně tak, jak jej budou provádět uživatelé na svých cílových počítačích. Všechny soubory budou zkopírovány, všechny zástupce a ikony budou vytvořeny, budou vytvořeny i záznamy v registrech apod. Je však důležité tento test provést na několika „čistých“ počítačích: pokud omezíte test na váš počítač (na němž typicky probíhala implementace), nemusíte se dozvědět o všech chybách (o chybějících potřebných knihovnách apod.).

Druhý způsob (Test Your Setup) spočívá v pouhé „simulaci“ instalace – ve skutečnosti nebudou zkopírovány žádné soubory a provedeny žádné změny. V podstatě jen ukáže, jak bude instalace vypadat – zobrazí dialogy apod.

Doporučuji nejprve provést otestování, následně pak „ostrou“ instalaci. Obojí lze provést přímo z Install Shield Expressu – klepnete na médium, pro které jste vytvořili instalační balík, a zvolíte požadovanou možnost.

Distribute Your Release

Úplně posledním krokem celého procesu je distribuce balíku na zadané médium. Je možné nahrát instalaci na jakékoliv umístění ležící na lokálním počítači, nebo lze použít třeba FTP přenos pro distribuci na vzdálený stroj. V příslušném dialogu pouze vyberete umístění a stisknete tlačítko pro provedení přenosu.

Instalační balík je na svém místě, stačí jej pouze vypálit na CD a můžete prodávat. Přeji vám hodně spokojených zákazníků :-)

Na závěr

Předchozí a dnešní díl seriálu přinesl odpověď na otázku, jak vytvořit instalační balík a jak šířit vytvořenou aplikaci. Přestože nástroj Install Shield Express není určitě jedinou volbou, je snadno k dispozici a přesto, že v jeho ořezané verzi (Borland Limited Edition) chybí některé zajímavé a dobré funkce, stále zajišťuje bezproblémové vytvoření instalačních balíků všech běžných aplikací.

Určitě si přečtěte

Články odjinud