Hlavné menu stránky:

  



 Časopis >  Tipy, triky a návody >  Programovanie > 

Inno Setup – praktický príklad tvorby inštalačného programu

V predchádzajúcej časti seriálu o programe Inno Setup som písal trochu všeobecne o vlastnostiach a možnostiach tohoto užitočného programu pre tvorbu inštalačných súborov. Z vlastných skúseností viem, že oveľa užitočnejšie je prečítať si praktický príklad. Verím, že Vám tento článok pomôže vytvoriť inštalačku Vášho program v krátkom čase a bez zdĺhavého skúmania jednotlivých funkcií programu.

Ako príklad použijem inštaláciu databázového programu s názvom AgendaOBFZ. Keďže ide o program, ktorý pre svoju funkciu potrebuje doinštalovať aj databázové ovládače, ukážeme si trochu viac, ako iba základné funkcie. Po krátkom úvode začnem priamo s popisom jednotlivých sekcií skriptového súboru, ktorý som si pomenoval rovnako, ako pomenujem výsledný exe súbor AgendaOBFZv2_07.iss. Tento som umiestnil do adresára D:/WorkMy Installations/AgendaOBFZv2_07.
Otvorím ho teda v programe Inno Setup:

[Setup]
AppName=Agenda OBFZ
AppVerName=Agenda OBFZ 2.0.7
AppPublisher=Ing. Rene Chrenko
AppPublisherURL=https://www.itstudio.sk
AppSupportURL=https://www.itstudio.sk
AppUpdatesURL=https://www.itstudio.sk
DefaultDirName={pf}/ITStudio/Agenda OBFZ
DefaultGroupName=Agenda OBFZ
LicenseFile=D:/Work/My Installations/AgendaOBFZv2_07/Licence.txt
OutputBaseFilename=AgendaOBFZv2_07
Compression=lzma
SolidCompression=yes

V sekcií Setup som zadefinoval názov programu, jeho verziu, meno autora, internetovú stránku autora programu, cieľový adresár a názov programu, ktorý sa bude zobrazovať v ponuke Štart programy. Konštanta {pf} určuje cestu k adresáru "c:/Program files".
Potom nasleduje cesta k súboru Licence.txt s textom linečných podmienok programu. Na záver je to názov výsledného exe súboru AgendaOBFZv2_07 a typ kompresie výsledného súboru.

Keďže chcem, aby boli všetky sprievodné texty v slovenskom jazyku, v sekcii Languages nastavím cestu k súboru MySlovak.isl, kde sú tieto texty zadefinované:

[Languages]
Name: "sk"; MessagesFile: "D:/Work/My Installations/AgendaOBFZv2_07/MySlovak.isl"

Do sekcie Task umiestnim úlohu pre inštalátor, aby mi ponúkol požnosť umiestniť program aj na pracovnú plochu Windows:

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

V sekcii Files veľmi jednoducho určím odkiaľ a kam sa majú nakopírovať jednotlivé súbory programu:

[Files]
Source: "D:/WORK/visual/futbals/Release/obfz.exe"; DestDir: "{app}/bin"; Flags: ignoreversion
Source: "D:/WORK/visual/futbals/Drivers/DAO350.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/EXPSRV.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/MSJET35.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/MSVCIRT.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/MSVCRT40.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/VBAJET32.DLL"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/Drivers/Regsvr32.exe"; DestDir: "{app}/bin"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/s2003_2004.MDB"; DestDir: "{app}data"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/prazdna.MDB"; DestDir: "{app}data"; Flags: onlyifdoesntexist
Source: "D:/WORK/visual/futbals/help/OBFZobfz.HLP"; DestDir: "{app}/bin"; Flags: ignoreversion

Príznak ignorversion som použil všade tam, kde chcem prepísať súbory staršej verzie. Súbory, ktoré nechcem prepísať novšou verziou označím príznakom onlyifdoesntexist. Konštanta {app} určuje cestu do cieľového adresára programu: "c:Program filesITStudioAgenda OBFZ".

Po prekopírovaní súborov zadefinujem ešte jednotlivé odkazy pre spustenie programu:

[Icons]
Name: "{group}/Agenda OBFZ"; Filename: "{app}/bin/obfz.exe"
Name: "{group}/Manuál"; Filename: "{app}/bin/obfz.hlp"
Name: "{group}/Ukážka"; Filename: "{app}/bin/obfz.exe"; Parameters: """{app}/data/s2003_2004.MDB"""
Name: "{group}/Odinštalovať; Filename: "{app}unins000.exe";
Name: "{userdesktop}/Agenda OBFZ"; Filename: "{app}/bin/obfz.exe"; Tasks: desktopicon

Odkaz Agenda OBFZ spustí hlaný program obfz.exe. Manuál otvorí súbor nápovedy obfz.hlp. Odkaz Ukážka spustí hlavný program a zároveň otvorí ukážkový databázový súbor. Nezabudol som ani na možnosť rýchleho odinštalovania programu pomocou odkazu Odinštalovať. A nakoniec odkaz Agenda OBFZ umiestnený priamo na pracovnej ploche windows. Konštanta {group} určuje názov skupiny programov, ktorú sme zadefinovali v sekcii Setup zápisom “DefaultGroupName=Agenda OBFZ”.

Na záver celej inštalácie som ešte použil sekciu Run, ktorá umožnuje bezprostredne po inštalácii spustiť ľubovoľnú aplikáciu:

[Run]
Filename: "{app}/bin/Regsvr32.exe"; Parameters: "/s ""{app}/bin/DAO350.DLL"""; Flags: runhidden
Filename: "{app}/bin/Regsvr32.exe"; Parameters: "/s ""{app}/bin/MSJET35.DLL"""; Flags: runhidden
Filename: "{app}/bin/obfz.exe"; Parameters: """{app}/data/s2003_2004.MDB"""; Description: "{cm:LaunchProgram,AgendaOBFZ}"; Flags: postinstall skipifsilent

Program Regsvr32.exe zaregistruje databázové ovládače DAO350.DLL a MSJET35.DLL, a na záver sa otvorí program obfz.exe s úkažkovou databázou.

Záver

Verím, že po prečítaní mojej ukážky dokážte vytvoriť vlastnú inštaláciu. Ak ste čítali pozorne, viete ako upraviť tento súbor pre Váš program a želám Vám s programom Inno Setup veľa úspechov.



Copyright © 2003-2020, www.itstudio.sk | Mapa doményMapa domény