Vytvoření distribuce aplikací pro Windows v Inno Setup. Inno Setup Vytvoření instalačního programu

Napsali jste výborný program a stačí k němu vytvořit originální a slušný instalátor, aby si uživatel mohl snadno a jednoduše nainstalovat vaši aplikaci na svůj počítač na pár kliknutí? Jak vytvořit instalátor softwaru? Setkat - volný program, což pomáhá vytvořit vysoce kvalitní instalační program pro aplikaci běžící v prostředí operačního systému Okna. Výsledek práce Bude existovat jeden EXE instalační program. Utility má rozsáhlé možnosti pro vytváření instalačního souboru programu, v některých případech výrazně převyšující funkčnost než komerční produkty pro vytváření softwarových balíků. Program obsahuje průvodce pro vytvoření instalačního balíčku ( kouzelník), díky kterému můžete rychle a snadno vytvořit distribuční balíček programu.

Vytvoření distribuce

Inno Setup se snadno nastavuje, má jasnou strukturu skriptů, podporuje šifrování, skripty v jazyce Pascal, nastavení hesla, čtení a zápis do registru, nastavení úloh, které mají být provedeny po dokončení instalace. Volba typu instalace umožňuje vytvářet možnosti jako např plná, minimální nebo vlastní instalace s vlastní sadou. Inno Setup podporuje vytváření vícejazyčných softwarových distribucí. Veškeré vlastnosti a nastavení budoucího instalátoru programu jsou uloženy ve skriptu (instalačním skriptu), který je nutné po napsání zkompilovat. Součástí programu jsou hotové ukázky skriptů, zaměřené na různé úkoly, které bude vytvořená distribuce plnit.


Instalační skript

Instalační skript toto je běžný textový soubor s příponou INI rozděleny do sekcí (názvy sekcí jsou uzavřeny v hranatých závorkách: , , , atd.). Skript obsahuje všechny potřebné možnosti a nastavení pro vytvořenou distribuci, jako jsou informace o autorovi, názvu a verzi programu, soubory aplikace, instalační adresář a další. Pokud vám nestačí průvodce vytvořením distribuce nebo nemáte čas studovat parametry a konstanty sekcí, na internetu existuje velké množství připravených skriptů pro Inno Setup.


Instalační balíčky vytvořené programem Inno Setup fungují bez poruch, jsou dobře navrženy a splňují všechny potřebné požadavky pro instalaci softwaru. Inno Setup je profesionální, kompetentní, zdarma a spolehlivě jakýkoli programátorský nástroj. Archiv nabízený ke stažení obsahuje soubor nápovědy přeložený do ruštiny (help) programy

Oficiální webová stránka: http://www.jrsoftware.org
Operační systémy: Windows All
Podporované jazyky: angličtina
Verze: 5.4.2 (a)
Licence: freeware (zdarma)

Velikost souboru 1,79 MB

Inno Setup je program pro vytváření instalačních balíčků. Instalační soubor aplikace vytvořené obslužným programem umožňuje číst a zapisovat data do registru a konfiguračních souborů INI během její instalace. Je možné registrovat knihovny a komponenty ActiveX a také spouštět externí programy. Kromě toho má obslužný program možnost vytvářet typy instalací, například: plná instalace, minimální, vlastní atd. Inno Setup obsahuje nastavení, kde můžete určit, zda se při spuštění nainstalovaného programu zobrazí uvítací dialog. Pro snadné použití je zde funkce pro vytváření záložních kopií instalačních projektů při jejich změně. Systém nápovědy nástroje je docela dobře napsaný a podpořený příklady.

Vlastnosti programu:

Podporováno všemi moderními verzemi Windows: Windows 8, Windows Server 2012, 7, 2008 R2, Vista, XP, 2003, 2000, 9x, NT 4.0.
Podporuje instalaci 64bitových programů na 64bitové edice Windows Vista, Windows 7, Windows XP a Windows 2003 Server. Podporuje také x64bitové procesory. (Pokud používáte procesory Itanium, musí být nainstalována aktualizace Service Pack).
Podporuje vytváření jednotlivých EXE pro usnadnění instalace a distribuce programů přes internet.
Standardní rozhraní instalačního průvodce ve stylu Windows 2000/XP.
Možnost výběru typu instalace, například: Plná, Minimální, Vlastní.
Má vestavěnou podporu pro kompresi DEFLATE, bzip2 a 7-Zip LZMA/LZMA2. Instalační program může porovnávat verze souborů, nahrazovat vložené soubory, instalovat sdílené soubory, registrovat knihovny DLL/OCX a instalovat písma.
Umožňuje vytvářet zástupce v nabídce Start a na ploše.
Umožňuje vytvářet položky registru a soubory INI.
Má vestavěnou podporu pro skripty v Object Pascalu.
Podporuje vytváření vícejazyčných instalačních programů programů.
Podporuje Unicode a jazyky se zprava doleva.
Podporuje nastavení hesla a šifrování instalačních programů programu.
Zdrojové kódy dostupné pro Borland Delphi 2.0-5.0 a 2009.

[kolaps]

O Russifier:

Cracker je dodáván ve formě instalačního balíčku, který obsahuje plnou verzi Inno Setup v5.5.8 (ANSI, resp. Unicode), jejíž instalace nevyžaduje původní verzi na vašem PC. Pokud z nějakého důvodu chcete používat lokalizovanou verzi programu spolu s původní, nainstalujte ji do jiného adresáře.

Překlad byl proveden ve zdrojovém kódu, poté byl program zkompilován ve vývojovém prostředí Delphi. Kódování přeloženého dokumentu ICPP.chm pomocí příkazů preprocesoru bylo změněno na windows-1251 (kvůli kódování UTF-8 nebylo možné textové vyhledávání). Původní dokument ISetup.chm byl přestavěn v kódování windows-1251 (místo windows-1252). Nyní je připojený dokument ISPP.chm zobrazen správně v ISetup.chm (v obsahu).

[kolaps]

O generátoru IS GameScript:

Jednoduchý průvodce vytvořením skriptu pro instalaci jedné nebo více her. Do instalačního programu můžete vložit hudbu, prezentace a tapety. Pro specialisty může být vytvořený scénář dobrou přípravou na další modernizaci.

[kolaps]

Jak vytvořit jednoduchý instalátor/RePack her/programů

Chcete-li usnadnit instalaci vašich programů do počítačů uživatelů, budete muset vytvořit distribuční sadu. Dnes chci mluvit o velmi silném a bezplatném nástroji pro vytváření distribucí pro OS Windows - Inno Setup.

O Inno Setup

Inno Setup, který se objevil v roce 1997, dnes konkuruje placeným instalátorům a mnohé z nich dokonce předčí co do počtu funkcí a stability. Nachází se domovská stránka projektu.

Zde jsou klíčové funkce instalátoru:

      • Podporuje všechny verze Windows od Windows 2000, včetně: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003 a Windows 2000. V tomto případě nejsou vyžadovány žádné aktualizační balíčky.
      • Rozsáhlá podpora pro instalaci 64bitových aplikací v 64bitových verzích Windows. Podpora architektur x64 a Itanium (pokud používáte Windows Server 2003 na architektuře Itanium, je k instalaci 64bitového režimu vyžadována aktualizace Service Pack 1 nebo novější).
      • Možnost vytvořit distribuční sadu skládající se z jednoho jediného EXE souboru pro snadnou distribuci na internetu. Podporováno je také rozdělení disku.
      • Standardní rozhraní instalačního průvodce ve stylu Windows 2000/XP.
      • Přizpůsobitelné typy instalace, jako je Plná, Kompaktní, Vlastní.
      • Široká škála možností odinstalace.
      • Instalace souboru: Obsahuje integrovanou podporu pro kompresi deflate, bzip2 a 7-Zip LZMA/LZMA2. Instalační program může porovnávat verze souborů, nahrazovat použité soubory, používat počítání sdílení souborů, registrovat DLL/OCX a knihovny typů a instalovat písma.
      • Vytvářejte zástupce kdekoli, včetně nabídky Start a plochy.
      • Vytváření položek registru a souborů INI.
      • Před, během a po instalaci spusťte další programy.
      • Vytváření vícejazyčných distribucí, včetně jazyků zleva doprava.
      • Vytváření heslem chráněných a šifrovaných distribucí.
      • Podpora digitálního podpisu během instalace a odinstalace.
      • Skrytá instalace a odstranění.
      • Podpora Unicode.
      • Vestavěný preprocesor pro dodatečné přizpůsobení během kompilace.
      • Vestavěný skriptovací stroj Pascal pro provádění dalších akcí během instalace a odinstalace.
      • Zdrojový kód zdarma (Borland Delphi 2.0-5.0 a 2009).

Velkou výhodou Inno Setup je, že je zcela zdarma k použití, a to i pro komerční použití. I když jako poděkování nebo na podporu instalátoru můžete přispět. K dispozici je také seznam všech, kteří přispěli 100 $ nebo více.

Takto vypadá úvodní stránka standardního průvodce instalací distribuce vytvořeného pomocí Inno Setup.

O vytvoření distribuce v Inno Setup

Vytvoření distribuce pomocí Inno Setup probíhá následovně:

1. Nejprve vytvořte skript Inno Setup. Skript Inno Setup je textový soubor s příponou .iss, který obsahuje vlastnosti distribuce a sadu akcí prováděných během instalace a odebrání. Skript lze vytvořit pomocí standardního editoru Inno Setup (viz obrázek) nebo pomocí některého z editorů třetích stran, jako je Inno Script Studio nebo ISTool. V tomto článku se budu zabývat pouze použitím standardního editoru Inno Setup.

2. Poté zkompilujete skript, jehož výsledkem je distribuce.
3. Po kompilaci můžete otestovat a ladit výslednou distribuci, provést instalaci a odinstalaci.

Instalace Inno Setup

Chcete-li vytvořit distribuce pomocí Inno Setup, stačí nainstalovat kompilátor Inno Setup na váš počítač. Distribuce je ke stažení. Odkaz ke stažení nejnovější stabilní verze naleznete v sekci Stable Release. V době psaní tohoto článku byla nejnovější verze Inno Setup 5.5.5, viz obrázek. Pro stažení distribuce klikněte na odkaz „Náhodný web“ vedle verze s podporou Unicode (soubor isetup-5.5.5-unicode.exe) nebo bez ní (verze ANSI - soubor isetup-5.5.5.exe). Abyste se vyhnuli problémům se zobrazením azbuky, je lepší okamžitě použít volbu Unicode Inno Setup.

Pokud budete šifrovat svou budoucí distribuci, pak je potřeba si v sekci Šifrovací modul samostatně stáhnout šifrovací modul ISCrypt.dll, viz obrázek (níže vidíte odkaz na zdrojové kódy tohoto modulu - ISCrypt.zip).

Na stejné stránce v sekci QuickStart Pack najdete odkaz na distribuční sady ispack-5.5.5.exe a ispack-5.5.5-unicode.exe pro instalaci Inno Setup spolu s Inno Script Studio, viz obrázek. Inno Script Studio je vývoj od třetí strany (Kymoto Solutions), který vám nabízí své uživatelsky přívětivé rozhraní a možnost ladit váš instalační program za běhu. Tato distribuce také nabídne automatické stažení a instalaci šifrovacího modulu ISCrypt.dll.

Kromě všeho výše uvedeného jsou na stránce stahování sekce Beta Release, pro stahování beta verzí Inno Setup a pro stahování zdrojových kódů, kterým se nebudu věnovat.

Pokud se chystáte používat pokročilejší editory skriptů Inno Setup, pak vás bude také zajímat stránka Inno Setup Third-Party Files se seznamem vývoje třetích stran. Zde jsou vývojové trendy třetích stran, které můžeme použít ve spojení s Inno Setup:

      • Inno Script Studio - uživatelské rozhraní a debugger. Instaluje se pomocí distribuce QuickStart Pack (viz výše) nebo samostatné distribuce, kterou si můžete stáhnout z webu vývojáře. Existuje rusifikace.

      • Visual & Installer je placený plugin pro Visual Studio (jsou podporovány Visual Studio 2005, 2008, 2010, 2012 a 2013) pro vytváření distribucí pomocí Inno Setup. Visual & Installer obsahuje také Průvodce grafickým instalačním programem, který umožňuje vytvářet tematicky navržené distribuce (viz příklady).

    • Inno Download Plugin – knihovna a skript Inno Setup, který umožňuje stahovat soubory během instalace vaší distribuce. Existuje podpora pro ruský jazyk. Podporovány jsou protokoly FTP, HTTP a HTTPS.

      • InnoTools Downloader je další možností, podobně jako Inno Download Plugin, také pro stahování souborů během instalace. Zde ale není lokalizace a podporovány jsou pouze FTP a HTTP.
      • Styly VCL pro Inno Setup / ISSkin / Graphical Installer (poslední jmenovaný je placený) - nástroje pro změnu designu instalačního průvodce vaší distribuce.

      • InnoScript – automaticky vytvoří soubor skriptu Inno Setup (.iss) ze souboru projektu Visual Basic (.vbp nebo .vbproj). Existuje rusifikace.

      • – vytvoří distribuční sadu pro projekt Visual Basic z vývojového prostředí Visual Basic 6.0.

      • – umožňuje použít soubor projektu Delphi (.dpr) nebo soubor projektu knihovny Delphi (.dpk) k vytvoření seznamu závislostí nezbytných pro vytvoření distribuce. Tento nástroj mi odmítl pracovat s projektem Delphi XE3.
      • Inno Setup Script #Includes je knihovna funkcí, které můžete použít během instalace. Lze zobrazit seznam funkcí.
      • Inno Setup Easy Translator je editor jazykových souborů Inno Setup (.isl). Tyto stránky jsou mimo provoz od roku 2013, ale není třeba se obávat, protože jazykové soubory můžete snadno vytvářet a upravovat v libovolném textovém editoru.
      • UninsHs je rozšíření, které vám umožňuje přidat do aplikací podporu Opravit/Upravit/Odebrat.

Také v tomto seznamu z nějakého důvodu stále existují některé dobře známé události (seznam aktualizován 13.4.2015):

      • – uživatelské rozhraní pro práci se skriptem Inno Setup. Tento program je velmi podobný Inno Script Studiu. Když budete hledat, najdete Russification, viz obrázek.

      • InnoIDE je další uživatelské rozhraní pro práci se skriptem Inno Setup. Web InnoIDE zanikl kolem srpna 2012 (www.innoide.org), takže nemá smysl tento vývoj používat. Zachoval se ale archiv stránek, do kterého je možné nahlížet. Distribuci si můžete také stáhnout tam. Russification pro InnoIDE lze nalézt na internetu.

      • InnoSetup Script Joiner je nástroj, který kombinuje několik skriptů Inno Setup do jednoho.
      • (Inno Setup Unpacker) - rozbalovač distribucí vytvořených pomocí Inno Setup. Konzolová aplikace.
      • InnoExtractor je další unpacker, ale má uživatelské rozhraní. Existuje rusifikace. S mojí šifrovanou testovací distribucí to fungovalo perfektně (viz obrázek). Jak můžete vidět, získá naprosto všechny soubory, včetně souborů používaných instalačním programem, a dokonce i soubor skriptu Inno Setup.

Ve skutečnosti, až se rozhodnete pro potřebnou funkci, můžete zahájit instalaci. Zde se podívám pouze na instalaci Inno Setup + Inno Script Studio pomocí QuickStart Packu (soubor ispack-5.5.5-unicode.exe). Přestože nemá cenu všechny kroky podrobně popisovat, zaměřím se jen na některé. Zaškrtávací políčko "Stáhnout a nainstalovat Inno Script Studio" by mělo být zaškrtnuté, pokud chcete nainstalovat Inno Script Studio, zaškrtávací políčko "Instalovat Inno Setup Preprocessor" - pro instalaci preprocesoru, zaškrtávací políčko "Stáhnout a nainstalovat podporu šifrování" - pro instalaci ISCrypt .dll pro šifrování distribuce.

První spuštění Inno Setup Compiler

Jediným oknem programu Inno Setup je okno kompilátoru. Kompilátor se spouští z nabídky Start. Při prvním spuštění se zobrazí výzva k vytvoření prázdného skriptu, spuštění Průvodce vytvořením skriptu nebo otevření příkladů nebo nedávno použitých souborů.

Pokud nemáte s Inno Setup žádné zkušenosti, pak se vám budou hodit příklady. Otevřeme příklad, klikneme na tlačítko "OK" a vybereme jeden z příkladů. Po otevření příkladu můžete vyhodnotit, jak vypadá jednoduchý skript Inno Setup. Všimněte si také, že rozhraní kompilátoru je velmi jednoduché a celý skript budete muset napsat ručně. Zde budete mít k dispozici pouze reference a příklady.

Použití průvodce k vytvoření instalačního skriptu Inno

Můžete vytvořit nový skript Inno Setup od začátku nebo můžete použít Průvodce skriptem. Vyrobím například distribuční kit pro instalaci programu MyProg.exe, který se nachází ve složce s příklady (nainstalovaný pomocí Inno Setup). Po spuštění program zobrazí dvě okna a ukončí se.

Chcete-li otevřít okno průvodce vytvořením skriptu, klikněte na položku nabídky „Soubor -> Nový“ Nebo v uvítacím okně vyberte možnost „Vytvořit nový soubor skriptu pomocí průvodce Scrip“ a klikněte na „OK“. První obrazovka průvodce bude uvítací zprávou. Klikněte zde "Další >".

Na druhé obrazovce zadejte Název aplikace, Verzi aplikace, Vydavatel aplikace a Web aplikace. Povinná pole jsou v průvodci označena tučně, zatímco ostatní mohou zůstat prázdná.

V dalším kroku vyberete složku pro vaši aplikaci. Ve výchozím nastavení, jak můžete vidět z obrázku, se jedná o složku se stejným názvem jako název aplikace a bude vytvořena ve složce Program Files. Zaškrtávací políčko „Povolit uživateli změnit složku aplikace“ umožní uživateli změnit složku během procesu instalace. A když zaškrtnete políčko „Aplikace nepotřebuje složku“, složka aplikace se vůbec nevytvoří.

Pokud vyberete „(Vlastní)“ z rozevíracího seznamu „Základní cílová složka aplikace“, pak v poli těsně pod můžete nastavit libovolnou cestu. Například, aby složka aplikace byla na systémové jednotce, musíte zadat „(sd)“.

Jak vidíte, pro označení systémové jednotky jsem zadal „(sd)“ místo „C:“, protože systémová jednotka se může na různých počítačích lišit. Obecně platí, že v Inno Setup budete konstanty jako „(sd)“ používat velmi často. Všechny konstanty jsou obklopeny složenými závorkami a je jich hodně. Zde je úplný seznam konstant se stručným popisem (úplný popis naleznete v nápovědě v části "Konstanty"):

Konstanty adresáře:

      • (app) – adresář aplikace, například „C:\Porgram Files\My Program“.
      • (win) – Adresář Windows, například „C:\WINDOWS“.
      • (sys) – Adresář System32, například „C:\WINDOWS\SYSTEM“.
      • (src) – adresář, ve kterém jsou umístěny distribuční soubory (jedná se o dočasnou složku s rozbalenými distribučními soubory).
      • (sd) – systémová jednotka, například „C:“.
      • (pf) – adresář aplikace, například „C:\Program Files (x86)“ (v 64bitovém režimu to bude složka pro 64bitové aplikace). V 32bitovém režimu je tato konstanta ekvivalentní konstantě (pf32) a v 64bitovém režimu je ekvivalentní (pf64) .
      • (cf) – složka běžných souborů, například „C:\Program Files (x86)\Common Files“. V 32bitovém režimu je tato konstanta ekvivalentní konstantě (cf32) a v 64bitovém režimu je ekvivalentní (cf64) .
      • (tmp) – dočasná složka používaná při instalaci nebo odinstalaci (název složky bude ve formátu „C:\WINDOWS\TEMP\IS-xxxxx.tmp“).
      • (fonts) – složka písem.
      • (dotnet11) – kořenová složka .NET Framework 1.0.
      • (dotnet20) – kořenová složka .NET Framework 2.0. V 32bitovém režimu je tato konstanta ekvivalentní konstantě (dotnet2032) a v 64bitovém režimu je ekvivalentní (dotnet2064) .
      • (dotnet40) – kořenová složka .NET Framework 4.0. V 32bitovém režimu je tato konstanta ekvivalentní konstantě (dotnet4032) a v 64bitovém režimu je ekvivalentní (dotnet4064) .

Konstanty složky prostředí:

      • (skupina) – cesta ke složce nabídky Start, přístupná všem uživatelům.
      • (localappdata) – cesta k místní složce Application Data (bez roamingu).
      • (sendto) – cesta ke složce uživatele Odeslat do.
      • (userappdata) a (commonappdata) – cesta ke složce Application Data.
      • (usercf) – cesta ke složce Common Files uživatele (funguje pouze pro Windows 7 a novější verze; pro starší verze Windows bude tato konstanta rovna (localappdata)\Programy\Common).
      • (userdesktop) a (commondesktop) * - cesta ke složce plochy.
      • (userdocs) a (commondocs) – cesta ke složce Moje dokumenty.
      • (userfavorites) a (commonfavorites) * - cesta ke složce Oblíbené.
      • (userpf) – cesta ke složce Program Files uživatele (funguje pouze pro Windows 7 a novější verze; pro starší verze Windows bude tato konstanta rovna (localappdata)\Programy).
      • (userprograms) a (commonprograms) * - cesta ke složce „All Programs“ v nabídce „Start“.
      • (userstartmenu) a (commonstartmenu) * - cesta k nejvyšší úrovni nabídky Start.
      • (userstartup) a (commonstartup) * - cesta ke složce Startup v nabídce Start.
      • (usertemplates) a (commontemplates) * - cesta ke složce „Templates“.

* = "běžné" konstanty se rovnají "uživatelským" konstantám, pokud uživatel nemá oprávnění správce nebo je příkaz PrivilegesRequired nastaven na nejnižší hodnotu.

Další konstanty:

      • (\) – používá se v případech, kdy potřebujete nainstalovat lomítko na konec cesty, například (app)(\). Jinak Inno Setup odstraní poslední lomítko.
      • (%NAME|DefaultValue) – hodnota proměnné prostředí, kde NAME je název proměnné, DefaultValue je řetězec, který se použije, pokud proměnná neexistuje. DefaultValue – volitelné. Příklady: (%COMSPEC) nebo (%PROMPT|$P$G). Pokud řádek používá znaky ",", "|", "")" nebo "%", pak místo nich musíte napsat "%2c", "%7c", "%7d" a "%25", respektive.
      • (cmd) – úplná cesta ke konzole, například Windows\System32\cmd.exe (proměnná prostředí COMSPEC se nepoužívá k rozšíření této konstanty).
      • (název počítače) – název počítače, na kterém se provádí instalace nebo odinstalace (hodnota vrácená funkcí GetComputerName).
      • (drive:Path) – Získá písmeno jednotky následované dvojtečkou z libovolné cesty. Pokud je zadána cesta UNC, vrátí server a složku, například \\SERVER\SHARE. I zde, abyste mohli napsat znaky „,“, „|“, „“) nebo „%“, musíte napsat „%2c“, „%7c“, „%7d“ a „%25“. Zde jsou příklady: (jednotka:(src)), (jednotka:c:\cesta\soubor) nebo (jednotka:\\server\sdílená_položka\cesta\soubor).
      • (název skupiny) – název složky v nabídce Start pro položky nabídky, kterou uživatel vybral během instalace. Na rozdíl od konstanty (skupiny) vrací pouze název, nikoli úplnou cestu.
      • (hwnd) – identifikátor okna pozadí instalačního programu.
      • (wizardhwnd) – identifikátor okna instalačního průvodce nebo 0, pokud identifikátor není k dispozici.
      • (ini:Filename,Section,Key|DefaultValue) – hodnota ze souboru INI, kde Filename je název souboru INI, Section je název sekce v souboru INI, Key je název klíče v INI soubor, DefaultValue je řetězec, který musíte použít, pokud zadaný klíč není nalezen. I zde, abyste mohli napsat znaky „,“, „|“, „“) nebo „%“, musíte napsat „%2c“, „%7c“, „%7d“ a „%25“. Příklad: (ini:(win)\MyProg.ini,Settings,Path|(pf)\My Program).
      • (jazyk) – interní název zvoleného jazyka.
      • (cm:MessageName) a (cm:MessageName,Arguments) – zpráva v aktuálním jazyce, kde MessageName – název zprávy, Arguments – argumenty pro zprávu oddělené čárkami. I zde, abyste mohli napsat znaky „,“, „|“, „“) nebo „%“, musíte napsat „%2c“, „%7c“, „%7d“ a „%25“. Příklad: (cm:LaunchProgram,Inno Setup).
      • (reg:HKxx\SubkeyName,ValueName|DefaultValue) – řetězec z registru, kde HKxx je kořenový klíč registru, SubkeyName – cesta k požadovanému klíči, ValueName – název hodnoty (nebo prázdné, pokud chcete číst výchozí hodnota klíče), DefaultValue – řetězec, který se má použít, pokud není zadána žádná hodnota nebo hodnota není řetězec (REG_SZ nebo REG_EXPAND_SZ). I zde, abyste mohli napsat znaky „,“, „|“, „“) nebo „%“, musíte napsat „%2c“, „%7c“, „%7d“ a „%25“. Příklad: (reg:HKLM\Software\Můj program,Cesta|(pf)\Můj program).
      • (param:ParamName|DefaultValue) – parametr předaný instalačnímu programu na příkazovém řádku, kde ParamName je název parametru, DefaultValue je řetězec, který se použije, pokud nebude zadaný parametr nalezen. Zde, chcete-li napsat znaky ",", "|", "")" nebo "%", musíte napsat "%2c", "%7c", "%7d" a "%25". Příklad: (param:Cesta|(pf)\Můj program).
      • (srcexe) – úplná cesta k instalačnímu programu, například C:\SETUP.EXE.
      • (uninstallexe) – úplná cesta k odinstalačnímu programu vytvořenému instalačním programem, například C:\Program Files\My Program\unins000.exe. Tato konstanta se obvykle používá k vytvoření zástupce pro odinstalaci programu v části Inoo Setup skript. Konstanta je platná pouze v případě, že je příkaz Uninstallable nastaven na hodnotu yes.
      • (sysuserinfoname), (sysuserinfoorg) – název a organizace, pod kterými je systém Windows registrován. Tyto informace jsou načteny z registru.
      • (userinfoname) , (userinfoorg) , (userinfoserial) – jméno, organizace a sériové číslo zadané uživatelem na stránce „User Information“ v instalačním průvodci (který lze povolit pomocí instrukce UserInfoPage). Tyto informace se obvykle používají k zápisu do registru nebo INI pro pozdější použití.
      • (uživatelské jméno) – jméno uživatele, který spustil instalátor nebo odinstalátor (používá se funkce GetUserName).
      • (log) – název souboru protokolu nebo prázdný řetězec, pokud protokolování není povoleno.

Další krok průvodce Inno Setup Script Wizard vám umožní přidat soubory vaší aplikace.

V horním poli je vybrán hlavní spustitelný soubor. Pokud zaškrtnete políčko „Povolit uživateli spuštění aplikace po dokončení instalace“, uživateli se po instalaci zobrazí návrh na spuštění aplikace. Pokud vaše distribuce nemá spustitelný soubor, můžete zaškrtnout políčko „Aplikace nemá hlavní spustitelný soubor“. Níže je uveden seznam souborů pro vaši distribuci. Zde můžete přidávat jednotlivé soubory (tlačítko "Přidat soubor(y)..." nebo celé složky (tlačítko "Přidat složku..."). Když přidáte složku, zobrazí se další otázka, zda zahrnout podsložky nebo ne.

Po přidání složek a souborů do seznamu budete moci každou položku upravit (tlačítko "Upravit...") nebo ji odstranit (tlačítko "Odebrat"). V editačním okně můžete změnit mnoho parametrů: zda potřebujete rekurzivně zahrnout podsložky (zaškrtávací políčko „ Rekurzovat podsložky“), zda potřebujete zahrnout prázdné složky ( zaškrtávací políčko „ Zahrnout prázdné podsložky“), cílovou základní složku (pole „ Cíl základní složka") a složku v základní cílové složce („cílová podsložka").

Soubor nápovědy přidáme pouze jako příklad.

Dalším krokem průvodce je výběr ikon, které mají být vytvořeny. V poli „Název složky nabídky Start aplikace“ nastavte název skupiny v nabídce „Start“. Pokud zaškrtnete políčko „Povolit uživateli změnit název složky v nabídce Start“, uživatel bude moci změnit název složky během instalace, a pokud zaškrtnete políčko „Povolit uživateli zakázat vytváření složky v nabídce Start“, pak bude moci uživatel vytvoření této složky zcela zakázat v nabídce Start. Zaškrtněte políčko „Vytvořit zástupce Internetu ve složce Nabídka Start“ a „Vytvořit ikonu odinstalace ve složce Nabídka Start“, aby instalační program vytvořil zástupce v rámci skupiny pro otevření vašeho webu a pro odinstalaci vaší aplikace. Zaškrtávací políčka „Povolit uživateli vytvořit ikonu na ploše“ a „Povolit uživateli vytvořit ikonu Rychlého spuštění“ umožní uživateli vytvářet zástupce na ploše a ve skupině Rychlé spuštění. Zkontroluji všechna políčka.

Dalším krokem je nastavení licenčních souborů a informačních souborů, které se budou zobrazovat před a po instalaci. Pokud jste zadali licenční soubor, pak během instalace bude muset uživatel souhlasit s licencí. Podporovány jsou soubory .txt a .rtf. Uvedu soubory license.txt a Readme.txt ze složky příkladů.

V dalším kroku vyberte podporované jazyky. Nechám angličtinu a přidám ruštinu.

Dalším krokem je nastavení parametrů pro kompilátor Inno Setup. V poli „Vlastní výstupní složka kompilátoru“ zadejte cestu ke složce, do které kompilátor Inno Setup uloží vytvořenou distribuci. Pokud je toto pole prázdné, bude distribuce vytvořena ve stejné složce jako soubor .iss. Pole „Název základního výstupního souboru kompilátoru“ uvádí základní název distribučního souboru nebo souborů. Pokud například nastavíte název na „setup“, pak při vytváření distribuce skládající se z jednoho souboru obdržíte soubor setup.exe. V poli „Soubor ikony vlastního nastavení“ můžete zadat název souboru ikony pro budoucí distribuci. Pokud zde není nic uvedeno, použije se standardní ikona. V posledním poli „Setup Password“ můžete zadat heslo, které bude muset uživatel zadat během instalace. Pokud je zaškrtnuto políčko „Použít heslo k šifrování souborů aplikace“, budou soubory v distribuci šifrovány pomocí zadaného hesla. Například všechna pole vyplním po svém.

Další krok vás upozorní, že byl detekován preprocesor Inno Setup, a vyzve vás, abyste ke zjednodušení skriptu použili #defines. Pokud chcete použít direktivu #define, ponechte zaškrtávací políčko „Ano, použít direktivy kompilátoru #define“. Pokud zaškrtávací políčko není zaškrtnuté, můžete v budoucnu do skriptu přidat direktivy #define ručně.

A konečně se objevil poslední krok, kdy jednoduše klikneme na tlačítko „Dokončit“.

Poté chce kompilátor okamžitě zkompilovat náš skript. Souhlasíme a klikneme na tlačítko „Ano“.

Poté nás kompilátor upozorní, že skript nebyl uložen a nabídne to udělat.

Souhlasíme (klikneme na „Ano“) a skript uložíme. Po uložení byl skript zkompilován a hotová distribuce, v příkladu je to soubor my-setup.exe, byla vytvořena ve složce, kterou jsem zadal v průvodci v kroku „Nastavení kompilátoru“. Po kompilaci se můžete podívat, jak to probíhalo v panelu „ Compiler Output“ ve spodní části okna kompilátoru, viz obrázek.

Jak vidíte, vše je jednoduché. Nyní rovnou otestujeme hotovou distribuci. Kliknutím na položku nabídky „Spustit -> Spustit“ zahájíte instalaci programu.

Po vytvoření šablony skriptu můžete začít přidávat různé pokročilé akce.

Ladění distribuce v Inno Setup

Chcete-li ladit svou distribuci, otevřete skript .iss a kliknutím na položku nabídky „Spustit -> Spustit“ spusťte instalaci programu. Poté budete moci v okně „Debug Output“ sledovat interní procesy během instalace, budete moci nastavit breakpointy na potřebných řádcích, viz obrázek.

Chcete-li zkontrolovat hodnotu konstanty během ladění, klikněte na položku nabídky „Spustit -> Vyhodnotit konstantu...“ a v zobrazeném dialogu zadejte název konstanty (viz obrázek) a klikněte na „OK“.

Poté se objeví následující okno s výsledkem vráceným konstantou.

Chcete-li odinstalovat odladění, klikněte na položku nabídky „Spustit -> Cílová odinstalace“ a poté na „Spustit -> Spustit“. A pro návrat zpět k instalaci klikněte na položku „Spustit -> Target Setup“.

Struktura skriptu Inno Setup

Skripty v Inno Setup jsou rozděleny do sekcí. Název každé sekce je uzavřen v hranatých závorkách. Každá sekce obsahuje prvky specifické pro danou sekci. Pro usnadnění můžete vytvořit několik sekcí se stejným názvem. Takové úseky budou vnímány jako jeden. Zde je příklad:

[ Setup ] AppName = Můj program [ Soubory ] Zdroj: "MYPROG.EXE" ; DestDir: "(aplikace)"

Řádky můžete okomentovat tak, že je kompilátor ignoruje, a to tak, že je uvedete středníkem.

Skript podporuje C-like direktivu #include, která nutí kompilátor stahovat řádky ze zadaného libovolného textového souboru do místa, kde se tato direktiva vyskytuje. Zde je syntaxe:

#include "název souboru.txt"

Pomocí direktivy #preproc můžete určit, který preprocesor použít: vestavěný preprocesor, který podporuje pouze direktivu #include, nebo Inno Setup Preprocessor (ISPP), který podporuje velké množství direktiv a funkcí. Ve výchozím nastavení používají skripty preprocesor ISPP, pokud je nainstalován, a soubory .isl používají vestavěný preprocesor. Zde je syntaxe:

#preproc vestavěný #preproc ispp

Sekce skriptu Inno Setup

Poskytnu zde kompletní seznam všech sekcí Inno Setup se stručným popisem. Úplný popis sekcí a seznam prvků sekcí lze nalézt v nápovědě v sekci „Sekce instalačního skriptu“.

– tato sekce obsahuje globální nastavení používaná při instalaci a odinstalaci. Příklad:

[ Setup ] AppName =Můj program AppVersion =1.5 DefaultDirName =( pf ) \My Program DefaultGroupName =Můj program

– volitelná sekce, která definuje možnosti instalace (Full/Compact/Custom), které se zobrazí na stránce pro výběr komponent pro instalaci. Příklad:

[Typy] Jméno: "plné"; Popis : "Plná instalace" Název : "kompaktní" ; Popis : "Kompaktní instalace" Název : "vlastní" ; Popis : "Vlastní instalace" ; Příznaky: iscustom

– volitelná část, která definuje součásti, které se zobrazí na stránce pro výběr součástí pro instalaci. Příklad:

[ Komponenty ] Název : "hlavní" ; Popis : "Hlavní soubory" ; Typy: plně kompaktní vlastní; Příznaky: opraveno Název: "help"; Popis : "Soubory nápovědy" ; Typy : celé Jméno : "help\english" ; Popis : "Angličtina" ; Typy : celé Jméno : "help\holandština" ; Popis : "holandský" ; Typy: plné

– volitelná část pro vytváření dalších úloh, které mají být provedeny během instalace. Uživatel uvidí úkoly ve formě přepínačů a bude si moci vybrat, zda bude provádět ten či onen úkol či nikoliv. Příklad:

[Úkoly] Název: desktopicon; Popis : "Vytvořit ikonu &desktop" ; GroupDescription : "Další ikony:" ; Komponenty : main Název : desktopicon\common; Popis : "Pro všechny uživatele" ; GroupDescription : "Další ikony:" ; Komponenty: hlavní; Příznaky: exkluzivní Jméno: desktopicon\user; Popis : "Pouze pro aktuálního uživatele" ; GroupDescription : "Další ikony:" ; Komponenty: hlavní; Příznaky: exkluzivní nezaškrtnuté Jméno: quicklaunchicon; Popis : "Vytvořit ikonu &Rychlé spuštění" ; GroupDescription : "Další ikony:" ; Komponenty: hlavní; Příznaky: nezaškrtnuto Název: přidružený; Popis : "&Přiřadit soubory" ; GroupDescription : "Další úkoly:" ; Příznaky: nezaškrtnuté

– tato volitelná část určuje, jaké další složky kromě složky aplikace je třeba vytvořit.

[ Dirs ] Name : "(app)\data" Name : "(app)\bin"

– volitelná část, která určuje, které soubory budou nainstalovány do počítače.

[Soubory] Zdroj: "CTL3DV2.DLL"; DestDir: "(sys)" ; Příznaky: pouze pokud neexistuje uninsneveruninstall Zdroj: "MYPROG.EXE" ; DestDir : "(app)" Zdroj: "MYPROG.CHM" ; DestDir : "(app)" Zdroj: "README.TXT" ; DestDir: "(aplikace)" ; Příznaky: isreadme

– volitelná část, která určuje, jaké zástupce se vytvoří v nabídce Start, na ploše atd.

[ Ikony ] Název : "(skupina)\Můj program" ; Název souboru: "(app)\MYPROG.EXE" ; WorkingDir : "(app)" Name: "(group)\Uninstall My Program" ; Název souboru: "(uninstallexe)"

– volitelná část, která určuje, které položky budou přidány do souboru INI.

[INI] Název souboru: "MyProg.ini"; Sekce : "InstallSettings" ; Příznaky: uninsdeletesection Název souboru: "MyProg.ini" ; Sekce : "Nastavení instalace" ; Klíč: "InstallPath" ; Řetězec: "(aplikace)"

a - tyto volitelné části určují, které soubory nebo složky je třeba odstranit při první instalaci nebo odinstalaci. Příklad:

[UninstallDelete] Typ: soubory; Jméno: "(výhra)\MYPROG.INI"

– sekce definuje jazyky, které budou dostupné během instalace. Když spustíte instalační program, bude vybrán jazyk, který odpovídá jazyku systému. V opačném případě bude ve výchozím nastavení použit jazyk, který se v sekci nachází jako první. Příklad:

[Jazyky] Jméno: "en"; MessagesFile : "compiler:Default.isl" Název : "nl" ; MessagesFile: "compiler:Languages\Dutch.isl"

– sekce pro nahrazování zpráv popsaných v jazykových souborech .isl. Příklad nahrazení standardního textu „&Další >“ na tlačítku pro přechod na další krok pouze pro angličtinu:

[ Zprávy ] en.ButtonNext =&Přeposlat >

– sekce pro definování hodnot konstanty (cm:...), viz popis konstant výše. Příklad použití:

[ CustomMessages] CreateDesktopIcon=Vytvořit &ikonu na ploše [ Úkoly ] Název : desktopicon; Popis: "(cm:CreateDesktopIcon)"

– sekce obsahuje nastavení jazyka, jako je font. Příklad:

[ LangOptions ] LanguageName=angličtina LanguageID=$0409 LanguageCodePage=0 DialogFontName= DialogFontSize=8 WelcomeFontName=Verdana WelcomeFontSize=12 TitleFontName=Arial TitleFontSize=29Left CopyrightFontName=SArial RightTo=SArial CopyrightnoFon

– Tato volitelná část určuje, které klíče a hodnoty je třeba v registru vytvořit, upravit nebo odstranit. Příklady použití:

[Registr] Kořen: HKCU; Podklíč : "Software\Moje společnost" ; Příznaky: uninsdeletekeyifempty Kořen: HKCU; Podklíč: ; Příznaky: uninsdeletekey Kořen: HKLM; Podklíč : "Software\Moje společnost" ; Příznaky: uninsdeletekeyifempty Kořen: HKLM; Podklíč : "Software\Moje společnost\Můj program" ; Příznaky: uninsdeletekey Kořen: HKLM; Podklíč : "Software\Moje společnost\Můj program\Nastavení" ; ValueType: string; ValueName : "InstallPath" ; ValueData: "(aplikace)"

– tato volitelná část určuje, které programy je třeba spustit po úspěšné instalaci, ale předtím, než se v okně průvodce instalací objeví poslední krok. Příklady:

[ Spustit ] Název souboru : "(app)\INIT.EXE" ; Parametry : "/x" Název souboru : "(app)\README.TXT" ; Popis: "Zobrazit soubor README" ; Příznaky: postinstall shellexec skipifsilent Název souboru: "(app)\MYPROG.EXE" ; Popis : "Spustit aplikaci" ; Příznaky: postinstall nowait skipifsilent nezaškrtnuté

– tato volitelná část určuje, které programy je třeba spustit na samém začátku odinstalace.

– do této volitelné části můžete umístit svůj skript Pascal. Stroj RemObjects Pascal Script se používá ke zpracování skriptu Pascal. Tento engine je stejně bezplatný jako Inno Setup. Oficiální stránka skriptovacího stroje RemObjects Pascal - . Příklady použití lze nalézt v souborech "Code*.iss" a "UninstallCode*.iss" ve složce "Examples" v umístění instalace Inno Setup.

Postup instalace a odinstalace

Velmi důležitým bodem během instalace je pochopení pořadí, ve kterém je skript spouštěn. Kroky instalačního programu jsou uvedeny níže v pořadí, v jakém budou provedeny během instalace:

      • Provedení sekce.
      • Prvky sekce jsou uloženy v protokolu odinstalace (který je v této fázi uložen v paměti).
      • V případě potřeby se vytvoří adresář aplikace.
      • Sekce běží.
      • Název souboru protokolu odinstalace je v případě potřeby vyhrazen.
      • Sekce běží (soubory se zatím neregistrují).
      • Sekce běží.
      • Sekce běží.
      • Sekce běží.
      • Soubory, které by měly být protokolovány, jsou protokolovány, pokud není nutné restartovat systém. V případech, kdy je vyžadován restart, dojde k registraci až po restartu systému.
      • V případě potřeby přidejte do seznamu nainstalovaných programů (Ovládací panely\Programy\Programy a funkce).
      • Prvky sekce se ukládají do protokolu odinstalace.
      • Soubor EXE a protokol odinstalace se uloží na disk. Po tomto okamžiku je uživateli zakázáno instalaci zrušit a jakékoli následné chyby nebudou mít za následek vrácení instalace zpět.
      • Spustit sekci, kromě prvků sekce s nastaveným příznakem „postinstall“, který bude proveden po zobrazení posledního kroku instalačního průvodce.
      • Aktualizujte přidružení souborů, pokud je příznak "ChangesAssociations" nastaven na "ano".
      • Upozorňuje spuštěné aplikace na změnu proměnných prostředí, pokud je příznak ChangesEnvironment nastaven na hodnotu yes.
      • Pokud jde o prvky sekce, budou provedeny v pořadí, v jakém jsou umístěny v sekci.

Odinstalace probíhá v opačném pořadí. To se ale netýká sekcí a, které budou provedeny v pořadí, v jakém se objeví ve skriptu (nikoli v opačném pořadí).

Preprocessor Inno Setup

Rád bych napsal pár slov o preprocesoru Inno Setup (ISPP). Hlavním účelem preprocesoru je automatizovat úlohy během kompilace a snížit pravděpodobnost překlepů ve vašich skriptech. Můžete například deklarovat proměnnou ISPP (proměnná v době kompilace) obsahující název vaší aplikace a poté použít hodnotu této proměnné na více místech ve skriptu. Pokud později z nějakého důvodu potřebujete změnit název své aplikace, můžete to udělat na jednom místě ve skriptu. Bez ISPP budete muset najít a opravit všechny části skriptu, kde používáte název aplikace, jako je AppName, AppVerName, DefaultGroupName atd.

Dalším příkladem použití ISPP je stažení informací o verzi aplikace ze souboru EXE a jejich použití v příkazu AppVerName v sekci. Bez ISPP budete muset změnit skript pokaždé, když se změní verze aplikace.

Rozdělení skriptu na části navíc umožňuje vytvořit jeden skript pro různé verze vaší aplikace (například zkušební a plnohodnotné verze).

Při použití preprocesoru je důležité si uvědomit, že preprocesor funguje pouze v době kompilace.

Volání kompilátoru Inno Setup z příkazového řádku

Také by bylo užitečné vědět o možnosti kompilace distribuce z příkazové řádky. Volání kompilace vypadá takto:

kompil 32/cc

Zde je příklad:

compil32 /cc "c:\isetup\samples\my script.iss"

Volání kompilace z příkazové řádky v tomto případě neskryje zobrazení průběhu nebo chybové zprávy. Kompilátor vrátí 0, pokud byla kompilace úspěšná, 1, pokud byly parametry příkazového řádku předány nesprávně, nebo 2, pokud kompilace selhala.

Alternativní metodou kompilace je použití konzolového kompilátoru ISCC.exe. Zde je schéma, jak používat kompilátor:

iscc [možnosti]

Zde je příklad:

iscc "c:\isetup\samples\my script.iss"

Zde jsou hlavní možnosti:

/DO – zakáže vytváření distribuce (změní všechny výstupní parametry ve skriptu).
/EO – povolí vytváření distribuce (změní všechny výstupní parametry ve skriptu).
/O – nastavuje cestu, kde bude distribuce vytvořena (změní všechny parametry OutputDir ve skriptu).
/F – nastavuje název distribučního souboru (změní všechny parametry OutputBaseFilename ve skriptu).
/S – nastavení parametru SignTool.
/Q[p] – pro skrytou kompilaci (zobrazují se pouze chybová hlášení, „p“ zobrazuje průběh).
/? – pro zobrazení nápovědy.

Zde je příklad použití možností:

iscc /Qp /O"Můj výstup" /F"MůjProgram-1.0 " /Sbyparam=$p "c:\isetup\samples\my script.iss"

ISCC vrátí 0, pokud byla kompilace úspěšná, 1, pokud byly parametry nesprávné nebo došlo k vnitřní chybě, nebo 2, pokud se kompilace nezdařila.

Na závěr o Inno Setup

O všech možnostech Inno Setup nebude možné mluvit v jednom článku, jedná se o velmi velké množství informací, proto jsem zde popsal pouze hlavní body. Po přečtení tohoto úžasného nástroje můžete začít používat tento úžasný nástroj k vytváření vlastních distribucí. V budoucnu budu mluvit o alternativních uživatelských rozhraních. Nyní napište své komentáře k článku a já se pokusím odpovědět na všechny vaše otázky.




Horní