Lag installatører med Inno Setup

Inno Setup lar deg konfigurere installasjonsprosessen som programvaren må følge, ved hjelp av en assistent eller veiviser og i mer avansert modus med programmering av et skript, som er tekstfiler med et sekvensielt format som lar deg bestemme hvilke trinn som skal følges .

Inno Setup -skript er tekstfiler med en .iss -forlengelse. Skriptet kontrollerer alle aspekter av installasjonen. Den spesifiserer hvilke filer som skal installeres og hvor, hvilke menyer og mapper som må opprettes og hvilke ressurser programmet vi installerer krever.
Skriptfiler er tekstfiler som kan opprettes og redigeres fra Inno Setup eller fra en hvilken som helst tekstredigerer. Programvaren lar oss kompilere iss -skriptfilen, og som standard vil den tildele navnet Setup.exe når den er kompilert, derfor vil vi ha et komplett program, klart til å distribuere og utføre installasjonen.
For å starte et enkelt eksempel starter vi, i dette tilfellet vil vi gjøre det fra Linux med Vin og assistenten.

Nedenfor beskriver vi applikasjonsdata, applikasjonsnavn, versjon, selskap som utviklet det, nettsted.

Det neste trinnet vil være å konfigurere i hvilken mappe programmet skal installeres, som standard vil det være Programmappe eller Programfiler, både i Windows og i Linux med Wine ligger denne mappen, hvis installasjonsmappen ikke eksisterer, vil programvaren vil lage den.

Deretter må vi tilordne vår kjørbare fil og dens avhengigheter eller biblioteker, her tar vi som et eksempel en programvare som vi hadde utviklet med Java og konverterte til exe med Launch4j i opplæring Netbeans og Sqlite i tre lag - Del II

Det neste trinnet vil være å konfigurere hvilken meny programmet skal integreres i og hvilke ikoner det vil vise, deretter på neste skjermbilde vil det be oss legge til txt- eller html -filer med lisensinformasjon, hjelp og tekst før og etter installasjon .

Inno Setup -skriptene er ordnet i seksjoner. Hver seksjon styrer et annet aspekt av installasjonen. En seksjon startes med å spesifisere seksjonsnavnet i parentes []. I hver seksjon vil vi spesifisere handlingene som skal utføres.
Til slutt legger vi til ikonene og konfigurerer oppsettet til menyene. På slutten vil vi lage skriptet, og vi må kompilere det fra menyen Bygg> Kompil. Dette vil generere en Output -mappe med filen setup.exe, som er installasjonsprogrammet.
Her kan vi se installasjonsprogrammet kjørt i Linux på Wine, derfor fungerer det på både Windows og Linux.

La oss analysere det genererte skriptet


I definere konfigurerer vi applikasjonsdataene ved hjelp av #define -direktivene
 #define MyAppName "Opplæringsprogrammer" #define MyAppVersion "2.0" #define MyAppPublisher "Myempresa" #define MyAppURL "http://www.mycompany.com/" #define MyAppExeName "mycompany.exe" 
[Oppsett] -delen inneholder globale parametere som brukes av installasjonsprogrammet og avinstalleringsprogrammet. Retningslinjer kan tilpasses som en programvareoppdatering eller lenke til teknisk støtte.
 [Setup] AppId = {{3502D097-DF67-49DD-B98B-59F0866126BB} AppName = {# MyAppName} AppVersion = {# MyAppVersion}; AppVerName = {# MyAppName} {#MyAppVersion} AppPublisher = {# MyAppPublisher} = App# MyAppPublisher} = App# AppSupportURL = {# MyAppURL} AppUpdatesURL = {# MyAppURL} DefaultDirName = {pf} \ {# MyAppName} DefaultGroupName = {# MyAppName} OutputBaseFilename = setup Compression = lzma SolidCompression = ja 
I [Språk] -delen definerer vi installasjonsspråk, her ser vi at vi bruker engelsk og spansk, hentet direkte fra Språk -mappen i InnoSetup:
 [Språk] Navn: "engelsk"; MessagesFile: "compiler: Default.isl" Navn: "spanish"; MessagesFile: "compiler: Languages ​​\ Spanish.isl" 
Delen [Oppgaver] er valgfri. Definerer alle tilpassbare konfigurasjonsoppgaver brukeren skal utføre under installasjonen. Lag meny, ikoner, knytt filutvidelser til applikasjonen vår.
 [Oppgaver] Navn: "desktopicon"; Beskrivelse: "{cm: CreateDesktopIcon}"; GroupDescription: "{cm: AdditionalIcons}"; Flagg: ukontrollert 
Parameteren Flagg eller Flagg er et sett med ekstra alternativer atskilt med mellomrom. Følgende alternativer støttes.
sjekkbart en: indikerer at hvis en komponent ikke er merket av, vil alle avhengighetene bli fjernet.
sjekket en gang: indikerer at installasjonen av en komponent ikke bør merkes når installasjonsprogrammet finner en tidligere versjon av det samme programmet som allerede er installert, slik at brukeren kan bestemme om den skal byttes ut eller ikke.
omstart: Indikerer at brukeren blir bedt om å starte systemet på nytt etter at en oppgave er utført. Eksempel hvis en server eller database er installert og vi krever en omstart for å ha den tilgjengelig.
ukontrollert: indikerer at alternativet må destilleres og må velges av brukeren.
[Filer] -delen definerer innstillinger og spesifikasjoner for hver fil i applikasjonen vår. Isreadme-flagget indikerer at filen er skrivebeskyttet, mens onlyifdoesntexist vil indikere at filen vil bli kopiert så lenge den ikke eksisterer.
 [Filer] Kilde: "Z: \ mycompany \ dist \ mycompany.exe"; DestDir: "{app}"; Flagg: Kilde: "Z: \ mycompany \ dist \ help.txt"; DestDir: "{app}"; Flagg: isreadme Kilde: "Z: \ mycompany \ dist \ dbecompany.sqlite"; DestDir: "{app}"; Flagg: onlyifdoesntexist 
Delen [Ikoner] angir ikonene for hver meny, skrivebord eller snarvei
 [Ikoner] Navn: "{group} \ {# MyAppName}"; Filnavn: "{app} \ {# MyAppExeName}" Navn: "{commondesktop} \ {# MyAppName}"; Filnavn: "{app} \ {# MyAppExeName}"; Oppgaver: desktopicon 
[Kjør] -delen er valgfri og angir hvilke programmer som skal kjøres etter at programvaren er installert, men før installasjonsprogrammet er ferdig. Her kan vi installere avhengigheter hvis noen, for eksempel Net framework eller Java SE Runtime Environment
 [Kjør] Filnavn: "{app} \ {# MyAppExeName}"; Beskrivelse: "{cm: LaunchProgram, {# StringChange (MyAppName, '&', '&&')}}"; Flagg: nowait postinstall 
Noen flagg som denne delen støtter er:
Nei vent: angir at installasjonsprogrammet ikke vil vente på at prosessen er ferdig med utførelsen før den fortsetter til neste oppgave [Kjør] eller for å fullføre installasjonen.
etterinstallere: instruerer installatøren om å opprette en avkrysningsboks for å informere om at installasjonen av programmet eller en bestemt komponent er fullført. Brukeren kan fjerne eller merke av i denne avmerkingsboksen og derfor velge om denne oppgaven skal behandles eller ikke. Dette er for hvis vi allerede har en komponent installert og vi ikke vil at den skal installere den igjen.
Andre seksjoner som vi kan konfigurere fra Inno Setup Script -kode er:
Delen [Typer] Denne delen er valgfri. Her definerer vi installasjonen av visse komponenter i henhold til konfigurasjonstyper, så vil den bli vist på siden Velg komponenter i veiviseren. Under kompilering opprettes et sett med standardkonfigurasjonstyper hvis du definerer komponenter i en [Komponenter] -del, og deretter tildeles hver komponent en type.
Delen [Typer] er skrevet under [Oppsett] -delen. En fordel er at vi kan lage tilpassede typer for installasjonsalternativer, den mest kjente er hele eller fullstendige og tilpassede installasjoner.

Gjennom typene oppretter vi en parameter med navnet og tilordner den en beskrivelse, så lager vi etiketter for komponenter, vi tildeler en beskrivelse eller et navn og det som vil være typen installasjon som tilsvarer, for eksempel vil programvaren bli installert i hvilken som helst type installasjon, men ikke hjelp, dette kan brukes til å installere forskjellige komponenter avhengig av installasjonstype.
 [Typer] Navn: "pro"; Beskrivelse: "Profesjonell installasjon" Navn: "SMB"; Beskrivelse: "SME -installasjon" Navn: "win"; Beskrivelse: "Windows -installasjon" Navn: "lin"; Beskrivelse: "Linux -installasjon" Navn: "personlig"; Beskrivelse: "Egendefinert installasjon"; Flagg: iscustom [Components] Navn: "program"; Beskrivelse: "Tutorials"; Typer: pro SMB personlige; Navn: "sqlitewin"; Beskrivelse: "Sqlite db"; Typer: pro win Navn: "sqlitelin"; Beskrivelse: "Sqlite db"; Typer: pro lin Navn: "help.htm"; Beskrivelse: "Hjelp"; Typer: pro [Filer] Kilde: "Z: \ mycompany \ dist \ mycompanya.exe"; DestDir: "{app}"; Komponenter: Kildeprogram: "Z: \ mycompany \ dist \ sqlite.dllt; DestDir:" {app} "; Komponenter: sqlitewin Kilde:" Z: \ mycompany \ dist \ sqlite.so "; DestDir:" {app} " Komponenter: sqlitelin 

Så vi kan tilpasse installasjonen av applikasjonen vår. Skriptet kan programmeres med mer kompleksitet etter hvert som vi trenger det.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave