Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:telepito

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:programozas:telepito [2019/08/22 12:23] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​programozás|<​ Programozás]]
 +
 +
 +====== Telepítőkészítés ======
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2014, 2015
 +  * Licenc: GNU Free Documentation License 1.3
 +  * Web: http://​szit.hu
 +===== Bevezetés =====
 +
 +Az elkészült szoftvereinkhez készíthetünk telepítőt. De mi is voltaképpen a telepítő. A telepítő hagyományos
 +értelemben egy újabb program, ami gondoskodik a célszoftver felmásolásáról adott gépre, szükséges
 +beállításokkal,​ felhasználói tájékoztatóval,​ könyvtárválasztással,​ licencfeltételek elfogadásának
 +felkínálásával.
 +
 +
 +Telepítő minden operációs rendszerre készíthető. A Windows rendszereken ez egy szokásos szoftverterjesztési ​
 +eljárás. A Unix alapú rendszerek azonban tartalmaznak egy csomagkezelő rendszert. A telepítendő csomag tartalmazza a telepíteni kívánt szoftvert. A csomagkezelőre úgyis tekinthetünk,​ mint az operációs rendszerbe beépített telepítő. A csomagkezelők működnek parancssorból (dpkg, rpm, apt-get, aptitude) és grafikus felületről (Synaptic).
 +
 +A programok terjesztése nem csak telepítő vagy csomag formájában történik. A futtatható programot, függőségekkel együtt egy egyszerű tömörített fájlban is elhelyezhetjük. Ezt nevezzük telepítést nem igénylő formátumnak is. Ha a programunk egyetlen kicsomagolt könyvtárból is működik, akkor beszélünk "​portable"​ verzióról.
 +
 +===== Telepítő készítés =====
 +
 +A telepítőkészítés mindig valamilyen telepítőkészítő programmal történik.
 +Ilyen program, például a **[[http://​nsis.sourceforge.net/​|NSIS]]**. Az NSIS használható Windows és Linux rendszereken egyaránt.
 +
 +A másik elterjedt telepítőkészítő az **[[http://​www.jrsoftware.org/​isinfo.php|Inno Setup]]**. Az alap telepítő egy varázslóval könnyen összeállítható. ​
 +
 +A telepítő elkészítéséhez minimális követelmény a lefordított programon kívül egy licenc állomány elkészítése. Mielőtt nekifogunk a telepítő elkészítéséhez,​ hozzuk létre egy licenc.txt állományt.
 +
 +El kell döntenünk,​ hogy a programunk függőségeit -- ezek Windows alatt rendszerint valamilyen .dll kiterjesztésű állományok -- beletesszük-e a telepítőbe,​ vagy csak figyelmeztetjük a felhasználót,​ hogy azt külön telepítse.
 +
 +===== Csomagkészítés =====
 +
 +A Mac OS X, a BSD és a Linux rendszerek mindig saját csomagformátummal rendelkeznek. ​
 +
 +A jelentősebb Linux rendszerek két alapvető csomagformátummal rendelkeznek. Ezek:
 +  * RPM
 +  * DEB
 +
 +Az RPM a jellemzően RedHat vagy SUSE Linux alapú rendszerekre jellemző. A DEB csomag a Debian
 +alapú rendszerekre jellemző, mint Ubuntu, LinuxMint, stb.
 +
 +
 +===== Egyszerű tömörített fájl =====
 +
 +A telepítő lehet egy egyszerű tömörített állomány is. 
 +Például egy ZIP állomány. ​
 +
 +Nézzük meg miket szoktunk tenni egy ilyen ZIP fájlba.
 +
 +  * futtatható állomány - //​program.exe//​
 +  * függőségek - //​konyvtar.dll//​
 +  * licencfájl - //​licence.txt//​
 +  * leírófájl - //​olvasd.txt//​ - readme.txt
 +  * telepítési útmutató //​install.txt//​
 +  * felhasználói dokumentáció - //​felhasznaloknak.txt//​
 +  * fejlesztői dokumentáció - //​fejlesztoknek.txt//​
 +
 +
 +===== Inno Setup =====
 +
 +Az Inno Setup program egy telepítőkészítő. ​
 +A telepítő leírásához egy scriptet kell készítenünk,​ amelynek a kiterjesztése:​ .iss
 +
 +A telepítő elkészítése előtt készítsük a licenc.txt állományt,​ ANSI kódolással.
 +Az állományban írjuk le milyen feltételek alapján használható a program.
 +
 +
 +
 +{{:​oktatas:​programozás:​telepitokeszites.png?​400|}}
 +
 +
 +A program indítása után egy üdvözlő párbeszédablak fogad minket. ​
 +Az üdvözlő párbeszédablakban lehetőség van választani egy új 
 +fájl készítése és egy meglévő szerkesztése között. ​
 +
 +Az új fájl esetén is két lehetőségünk van. Egy üres script fájl
 +készítése,​ vagy varászlóval készített script fájl. ​
 +
 +Ha most használjuk először a telepítőkészítőt,​ akkor jó választás a
 +varázsló. A varázsló választásához a következő feliratú rádiógombot
 +kell választania:​
 +  * Create a new script file using the Script Wizard
 +
 +
 +Menjünk végig a varázslón,​ értelemszerűen kitöltve azt. 
 +
 +
 +{{:​oktatas:​programozás:​innosetup_01_welcomeablak.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_02_alkalmazasinfo.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_03_alkalmazaskonyvtar.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_04_alkalmazasallomany.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_05_alkalmazasikon.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_06_alkalmazasdokumentumok.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_07_setupnyelve.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_08_forditobeallitasok.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_09_innosetupelofeldolgozo.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_10_befejezes.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_11_forditasparbeszedablak.png|}}
 +
 +{{:​oktatas:​programozás:​innosetup_12_elkeszultscript.png|}}
 +
 +
 +A varászló a végén ehhez hasonló scriptet készít:
 +
 +<​code>​
 +; Script generated by the Inno Setup Script Wizard.
 +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 +
 +#define MyAppName "​Kero"​
 +#define MyAppVersion "​1.0"​
 +#define MyAppPublisher "Nagy József"​
 +#define MyAppURL "​http://​www.zold.and"​
 +#define MyAppExeName "​Kero.exe"​
 +
 +[Setup]
 +; NOTE: The value of AppId uniquely identifies this application.
 +; Do not use the same AppId value in installers for other applications.
 +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
 +AppId={{99BC5003-A6D8-43FA-8A38-C3AA0BE8B001}
 +AppName={#​MyAppName}
 +AppVersion={#​MyAppVersion}
 +;​AppVerName={#​MyAppName} {#​MyAppVersion}
 +AppPublisher={#​MyAppPublisher}
 +AppPublisherURL={#​MyAppURL}
 +AppSupportURL={#​MyAppURL}
 +AppUpdatesURL={#​MyAppURL}
 +DefaultDirName=c:​\{#​MyAppName}
 +DefaultGroupName={#​MyAppName}
 +LicenseFile=Z:​\mnt\serverhome\Oraimunka_2014-2015\NyariGyak\publicMake\Kero_Setup\licenc.txt
 +InfoBeforeFile=Z:​\mnt\serverhome\Oraimunka_2014-2015\NyariGyak\publicMake\Kero_Setup\olvasd.txt
 +OutputDir=Z:​\mnt\serverhome\Oraimunka_2014-2015\NyariGyak\public
 +OutputBaseFilename=Kero_Setup
 +Compression=lzma
 +SolidCompression=yes
 +
 +[Languages]
 +Name: "​english";​ MessagesFile:​ "​compiler:​Default.isl"​
 +Name: "​hungarian";​ MessagesFile:​ "​compiler:​Languages\Hungarian.isl"​
 +
 +[Tasks]
 +Name: "​desktopicon";​ Description:​ "​{cm:​CreateDesktopIcon}";​ GroupDescription:​ "​{cm:​AdditionalIcons}";​ Flags: unchecked
 +
 +[Files]
 +Source: "​Z:​\mnt\serverhome\Oraimunka_2014-2015\NyariGyak\publicMake\Kero_Setup\Kero.exe";​ DestDir: "​{app}";​ Flags: ignoreversion
 +; NOTE: Don't use "​Flags:​ ignoreversion"​ on any shared system files
 +
 +[Icons]
 +Name: "​{group}\{#​MyAppName}";​ Filename: "​{app}\{#​MyAppExeName}"​
 +Name: "​{commondesktop}\{#​MyAppName}";​ Filename: "​{app}\{#​MyAppExeName}";​ Tasks: desktopicon
 +
 +[Run]
 +Filename: "​{app}\{#​MyAppExeName}";​ Description:​ "​{cm:​LaunchProgram,​{#​StringChange(MyAppName,​ '&',​ '&&'​)}}";​ Flags: nowait postinstall skipifsilent
 +
 +
 +</​code>​
 +
 +A scriptet a későbbiekben átírhatjuk,​ újrafordíthatjuk.
 +
 +===== Linkek =====
 +
 +  * [[oktatas:​programozás:​programok:​nsis|NSIS]] (Másik névtér)
 +  * http://​www.jrsoftware.org/​
 +
  
oktatas/programozas/telepito.txt · Utolsó módosítás: 2019/08/22 12:23 szerkesztette: admin