Gyakorlati alapok II.

A szoftverfejlesztés

 

Telepítés

 

Az alábbi fejezet Sallay András informatikatanár oktatási anyagára támaszkodik (www.szit.hu)

 

Bevezetés

Telepítőkészítés

Csomagkészítés

Egyszerű tömörített fájl

Inno Setup

 

Bevezetés


Az elkészült szoftvereinkhez készíthetünk telepítőt. De mi is voltaképpen a telepítő?

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Egy újabb program, amely gondoskodik a célszoftver felmásolásáról az adott gépre a szükséges beállításokkal, a felhasználói tájékoztatóval, a könyvtárválasztással, a liszencfelté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 nemcsak telepítő vagy csomag formájában történik. A futtatható programot, függőségeivel 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 programunk egyetlen kicsomagolt könyvtárból is működik, akkor beszélünk portable (hordozható) verzióról.
 

Telepítőkészítés


A telepítő készítése mindig valamilyen telepítőkészítő programmal történik. Ilyen program például a NSIS. Az NSIS egyaránt használható Windows-, és Linux- rendszereken.

A másik elterjedt telepítőkészítő az 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 liszencállomány előzetes elkészítése, e célból tehát  hozzunk létre egy liszenc.txt állományt.
 

www.informatika-programozas.hu - Ezt most meg kell tanulni!


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 MacOS X, a BSD és a Linux-rendszerek mindig saját csomagformátummal rendelkeznek. A jelentősebb Linux-rendszerek 2 alapvető csomagformátummal rendelkeznek:

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, hogy milyen állományokat szoktunk tenni egy ilyen ZIP fájlba:

Inno Setup


Az Inno Setup egy telepítő-generáló program. A telepítő leírásához egy scriptet kell készítenünk, amelynek a kiterjesztése .iss. Ám ezelőtt készítsünk a licenc.txt állományt is, ANSI-kódolással. Az állományban írjuk le, hogy milyen feltételek mellett használható a program.

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

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 új fájl készítése vagy egy meglévő szerkesztése között.

Az új fájl esetén is 2 lehetőségünk van:

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:

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

www.informatika-programozas.hu

Forrás - Source: www.szit.hu

 

A varázsló a végén ehhez hasonló scriptet készít:

 

; 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

 

A scriptet a későbbiekben átírhatjuk, újrafordíthatjuk.