Instalace aplikací je jako zrození. Uživatel dostanete nový program zabalený v lůně instalačního programu a je na něm, aby jej dostal ven. Uživatel-porodník ovšem nemusí být zkušený, naopak, může to být naprostý začátečník. O tom, zda proběhne porod bez komplikací nebo zda bude nutné použít císařský řez, rozhoduje nejvíce instalační program. Aby každá instalace vašich aplikací byla bezproblémová vám může z velké části zajistit recenzovaný produkt.
Instalace
Když jsem si Wise Installation System (dále jen WIS) přinesl, ihned jsem
jej bez sebemenších potíží nainstaloval. Během kopírování souborů na
pevný disk jsem si prohlížel krabici, kde jsem kromě jiného našel
minimální požadavek na operační systém. Měly to být Windows NT 4.0 a
vyšší. Trochu jsem znejistěl, protože „mým“ operačním systémem byly
Windows 95 OSR 2. Ale již teď mohu říct, že veškeré testy, které jsem
prováděl, obstály i na tomto operačním systému.
Kromě instalace pod
Windows 95 OSR 2 jsem WIS nainstaloval na Windows 2000 RC 2 pod uživatelem
Administrátor. Veškerý běh programu pod tímto uživatelem byl ekvivalentní
běhu pod Windows 95. Drobný problém nastal až v případě, když jsem
chtěl program nainstalovat nebo následně spustit pod běžným uživatelem
Windows 2000. Nejprve se zobrazil „upovídaný“ a vše říkající dialog
(viz obrázek 1), ale pak vše probíhalo bezproblémově.
Instalační technologie Windows 2000
Windows 2000 přicházejí s novou technologií instalace nazývanou
Windows Installer. Místo toho, aby každý produkt měl vlastní instalační
program, je instalace prováděna pomocí tzv. instalační databáze (soubor
s příponou .MSI). Tato databáze obsahuje informace o tom, kam se má
produkt instalovat, jaké přípony se mají registrovat a mnohé další.
Windows Installer aplikaci rozděluje do tří úrovní – produkt, rysy či
možnosti (anglicky Features – zde jsem na rozpacích, jak to vlastně
přeložit; jde o to, že v konečném důsledku jednotlivé rysy umožňují
uživateli vybrat si, co vše si může nainstalovat) a komponenty. Na vrcholu
stojí produkt. Je to něco, co uživatel může instalovat. Produkt se skládá
z několika rysů a ty jsou složené z komponent (komponenta může obsahovat
soubory, klíče registrů, zástupce apod.).
WIS vám tvorbu instalační databáze výrazně ulehčuje. A nejen to.
Kromě toho, že můžete vytvořit instalační databázi, je možné tutéž
instalaci převést pro ostatní 32-bitová Windows, které ještě novou
instalační technologií neoplývají – vytvořením klasického .EXE
souboru můžete váš produkt instalovat třeba na Windows 95. Pojďme se
nyní blíže podívat, jak takovou instalaci vytvoříme.
Vytváříme instalaci
Celý postup je rozdělen do pěti částí (viz obrázek 2), kde každá
část obsahuje ještě dílčí kroky. Nejprve si definujeme jednotlivé rysy,
které určují položky instalace. Jako příklad lze uvést základní soubory
vaší aplikace, nápovědu a třeba demonstrační data. Základní soubory je
potřeba instalovat vždy, kdežto nápovědu nebo demonstrační data jen pokud
si to uživatel přeje. Tento požadavek lze nastavit instalační úrovní
daného rysu. Chcete-li další omezující podmínky (např. soubory určené
pouze pro Windows NT), lze definovat podmínky pro jednotlivé rysy, kterých
lze samozřejmě zadat více (sestavení podmínky viz obrázek 3).
Následuje zadávání souborů, které chcete nainstalovat. Zde si dejte
pozor, protože přidané soubory se vztahují k aktuálnímu rysu, který se
zobrazuje vpravo nahoře. Podobně jako soubory lze modifikovat položky
registru nebo přidávat či editovat INI soubory. Vytváříte-li program pro
Windows NT, pak máte možnost definovat si spouštění služeb (Services),
databázovým aplikacím můžete nainstalovat ODBC. Pokud chcete vytvořit
instalační soubor pro databázovou aplikaci vytvořenou v Delphi nebo C++
Builderu, která používá BDE, pak máte bohužel smůlu. K tomu, abyste
mohli instalovat BDE, potřebuje instalační program, který je k tomu
licencován (například InstallShield). Na druhou stranu BDE díky nové
technologii OLE DB a ADO pomalu, ale jistě, končí.
Po zadání všech souborů, registrů a dalších přichází na řadu
ovlivňování vlastní instalace. První je typ cílového operačního
systému a vlastnosti monitoru. Pokud například vyžadujete rozlišení
alespoň 1024×768 s 24-bitovou hloubkou, pak stačí nastavit podmínku a
varovnou hlášku, která se zobrazí v případě, že uživatelův monitor
požadavky nesplňuje. Zde pozor. Pokud máte takovou aplikaci, která na
každý druh operačního systému (NT nebo 9×) instaluje něco jiného,
můžete sice vytvořit dvě instalace, ale byla by to škoda práce. Povolte
všechny operační systémy a akorát dejte tu správnou podmínku k rysům
(viz znovu obrázek 3).
Nyní přichází ta pravá lahůdka – dialogy. Kromě toho, že si
zvolíte které dialogy se budou zobrazovat (což je samozřejmost), můžete si
je libovolně upravit. Nelíbí se vám pozadí? Nevadí, vyměňte si jej za
jiné. Vadí vám umístění tlačítek? Nevadí, umístěte je jinam. Chcete
přidat další ovládací prvek? Ale prosím, jak je libo – chcete vstupní
řádku, tlačítko nebo jen popisku? Vyberte si. Pokud vaši zákazníci neumí
anglicky, opět žádný problém. Program je dotažen tak daleko, že
umožňuje veškeré texty z dialogů „vytáhnout“ a uložit do textového
souboru, který můžete poslat překladatelské firmě a až jej přeloží,
můžete texty vložit zpět. Zde bych se ještě vrátil k podmínkám,
o kterých jsem psal u rysů. Podmínky lze zadávat téměř všude.
Například obrázky v dialozích jsou vždy dva – jeden pro nastavení
barev do 256 a druhý nad 256 (viz obrázek 4).
Závěr tvorby instalace je ve znamení zadávání údajů o instalaci,
aplikaci, autorovi a podobně. Pokud připravujete svoji instalaci pro Windows
2000, je vhodné zadat ještě údaje, které jsou specifické právě pro
zmíněný operační systém.
Poslední, co zbývá, je otestování instalace. Je to další příjemná
vlastnost, kterou WIS oplývá. Instalaci si můžete spustit a provést ji od
začátku až dokonce, aniž by byl nainstalován jediný soubor či byl
proveden zápis jediné položky do registru. Pokud je instalace odladěna a
vše funguje tak, jak má, můžete nechat vygenerovat instalační databázi
nebo EXE soubor.
Vylaďování instalace
To, že jste absolvovali pět částí tvorby instalace, ještě neznamená,
že je vše tak, jak byste si přáli. K jemnějšímu nastavení slouží
Setup Editor. A o co jde? Jedná se o jiný pohled na vaši instalaci. Je
rozdělen do šesti částí – produkt, rysy, dialogy, tabulky, komponenty a
akce. Produkty a rysy jsou souhrnem toho, co jste zadali v první části
vaší instalace. Dialogy již přinášejí něco nového. Ačkoliv jsem
nadšeně o pár řádek výše popisoval, co všechno lze s nimi dělat,
nebyl to konečný výčet. V tomto pohledu máte všechny dialogy jako na
dlani – včetně těch, které se běžně při instalaci nemusí objevit
(například chybové hlášení). Lze sledovat závislost jednotlivých
dialogů na sobě (jaký dialog je kterým volán), lze měnit jejich pořadí,
lze zvolit jiné dialogy a jiné pořadí pro administrátora nebo pro
běžného uživatele. Třešničkou na dortu úprav dialogů je možnost
přidávat si dialogy nové. Jejich vyvolání z jiného dialogu je pak
otázkou jedné události přiřazené třeba k tlačítku.
Pokud jste postupovali v tvorbě instalace opravdu postupně, pak
k tabulkám jste se ještě nedostali. Jak již bylo řečeno, výsledkem je
(pro Windows 2000) instalační databáze a v této části si můžete
prohlížet obsahy jednotlivých tabulek. Ovšem zápis do nich bych
doporučoval pouze zkušeným uživatelům, kteří jsou seznámeni
s technologií Windows Installer. Pohled na jednotlivé komponenty vaší
instalace naleznete ve stejnojmenné části. V poslední částí Akce
naleznete jednotlivé sekvence instalace a můžete, stejně jako v dialozích,
měnit pořadí prováděných akcí.
Specifikace Windows 2000
Co dělá WIS ještě více zajímavým, je podpora tvorby instalace
produktů, které mají zájem získat logo Certified for Windows na
základě specifikace (viz článek zde). Průvodce kontroly, zda vaše
instalace odpovídá specifikaci, vám nabídne, jaké položky se mají
zkontrolovat. Standardně jsou zaškrtnuté všechny. Nechal jsem je tedy tak a
spustil kontrolu. Jenže ouha. Jeden kontrolní test vyžadoval knihovnu
DARICE.CUB. Na mém disku nebyla (ani u Windows 95, ani u Windows 2000), tak
jsem využil stáhnout si Windows Installer SDK a ihned jsem jej nainstaloval.
Bohužel, ani po této akci vyžadovaný soubor na mém disku nebyl a tak jsem
musel jeden z dílčích testů vynechat. Ostatní testy již proběhly
v pořádku a na závěr byly ohlášeny případné nedostatky, které byly
v rozporu se specifikací.
Kam se to instaluje?
Při tvorbě instalace jsem potřeboval určit adresář, kam se mají
soubory instalovat. Asi po hodině zkoušení a laborování jsem zjistil
zajímavou vlastnost programu. K tomu, abyste mohli určit standardní
adresář, vede docela složitá a nelogická cesta. Nejprve si rozdělte
instalaci (aplikaci, kterou chcete instalovat) na několik rysů. Pak pro
každý rys si v oblasti Soubory vytvořte adresář, který budete mít jako
primární, tedy ten, kam budete aplikaci instalovat. Tím se vám v databázi
v části Directory vytvoří položka INSTALLDIR. Pokud byste vytvořili tuto
položku v databázi sami, práci si neušetříte. Jinou cestu jsem bohužel
nenašel.
Tak si to zrekapitulujeme…
Nejenže je produkt připraven na nástup Windows 2000, ale i Internet pro
něj není neznáme slovo. Pokud budete chtít, program se v pravidelných
intervalech může dívat na svou domovskou stránku, zda náhodou není hotova
další verze.
Produkt po celou dobu, kdy jsem jej testoval, ani jednou nehavaroval, ani se
nedostal do situace, ze které by nevedla cesta zpět. Pominu-li problém s
„upovídaným“ dialogem, mohu říct, že produkt je velmi stabilní.
Připomínku bych měl k neustálému ukládání práce na disk – před
každým spuštěním například testovací instalace si program vše uloží
na disk, ač jsem to třeba udělal ručně sám pár desítek milisekund
předtím. Pokud nechcete instalovat vaši aplikaci s BDE, mohu vám WSI jen a
jen doporučit – který program na tvorbu instalací vám dovolí mít plnou
kontrolu nad každou maličkostí?
Plusy
- Možnost navrhovat dialogy,
- přehledné prostředí,
- manuál,
- update po Internetu.
Mínusy
- Mlhavé definování cílového adresáře,
- stálé ukládání,
- chybějící knihovna.
Závěr
- Výtečný program pro tvorbu instalací včetně podpory technologií
Windows 2000.
Tento článek byl napsán pro časopis Softwarové noviny 2/2000.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.