Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 3956|Svar: 6

NSIS (1) Lav en simpel installatør

[Kopier link]
Opslået på 28/01/2024 09.42.28 | | | |
Krav: Udviklede en applikation med Winform og ønskede at lave en installer til at installere og køre denne applikation, hvilket viser, at produktet er mere formelt.

Introduktion til NSIS

NSIS (Nullsoft Scriptable Install System) er et professionelt open source-system til oprettelse af Windows-installationsfiler. Den er designet til at være så lille og fleksibel som muligt, hvilket gør den ideel til internetdistribution.

Som brugerens første oplevelse med et produkt er en stabil og pålidelig installatør en vigtig del af succesfuld software. Med NSIS kan du oprette en sådan installatør, der kan udføre alle de nødvendige operationer for at installere software.

NSIS er scriptbaseret, hvilket gør det muligt at skabe logik til at håndtere de mest komplekse installationsopgaver. Mange plugins og scripts er allerede tilgængelige: du kan oprette webinstallationsprogrammer, kommunikere med Windows og andre softwarekomponenter, installere eller opdatere delte komponenter og mere.


NSIS Download:

Hyperlink-login er synlig.
Hyperlink-login er synlig.

NSIS-plugins:Hyperlink-login er synlig.

HM NIS REDIGER download:

Hyperlink-login er synlig.
Hyperlink-login er synlig.

HM NIS EDIT: Gratis NSIS Editor/IDE: HM NIS Edit er den bedste editor/IDE til Nullsoft Script Installation System (NSIS). Det er meget nyttigt for både eksperter og begyndere, der bruger NSIS til at lave installatører. Dens script-guide hjælper dig med at lave en standard installer med blot få klik, og dens InstallOptions-designer hjælper dig med at lave dine egne brugerdefinerede sider med en brugervenlig drag-and-drop-grænseflade.

Download og installer

Download NSIS- og HM NIS EDIT-softwaren, installer først NSIS, og installer derefter HM NIS EDIT, som vist nedenfor:



Lav en installationspakke

Opret en ny Winform-applikation, brug IDE-værktøjet til at oprette en ny Winform-applikation af .NET framework 4.7.2 (udeladt), kompiler den og brug NSIS til at oprette en installationspakke.

Åbn HM NIS EDIT-værktøjet og vælg File-> New Script: Wizard, som vist nedenfor:



Tilpas ansøgningsoplysningerne efter din faktiske situation, som vist i figuren nedenfor:



Fjern markeringen i "Engelsk" og vælg "Forenklet kinesisk" som vist i følgende figur:



Indstil autorisationsfilens sti som vist i følgende figur:



Angiv applikationsfilen, slet den eksisterende konfiguration, og tilføj derefter vores applikationsmappe som vist i figuren nedenfor:




Klik på Næste, som vist nedenfor:



Udfyld venligst programmet, parametrene og selvrapporteringen efter din egen situation, som vist i figuren nedenfor:



Afinstaller programkonfigurationen som vist i følgende figur:



Det sidste trin er at gemme det som et test.nsi-script til næste kompilering, som vist nedenfor:



Kompil scriptet og generer installationspakken som vist i figuren nedenfor:



Vedhæft test.nsi-koden:

(Slut)





Tidligere:Udforsk emner i .Net Reactive Responsive Extension
Næste:NSIS (ii) mutex garanterer, at kun én installer kører
 Udlejer| Opslået på 28/01/2024 10.09.14 |

funktionbetydning
AfsnitDen mest grundlæggende funktion repræsenterer en afdeling, der bruges til at repræsentere en komponent, der skal installeres; indholdet af sektionen er den sidste del af programmet, der skal køres, bortset fra afinstallation, men den vil være den første, der tjekkes ved kompilering; hvis der ikke er nogen sektion eller funktion i programmet, vil kompileringen blive afsluttet, og kodeblokken i sektionen skal indrykkes til 2 mellemrum
FunktionDen udførte funktion skal også indrykkes, dens funktionsnavn vil blive genkendt, hvis den genkendes som et særligt navn, vil det blive udført under specifikke omstændigheder, hvilket vil blive forklaret nedenfor
SectionEndAngiver afdelingens ende, ikke indrykket i sektionen
FunktionSlutAngiver slutningen af funktionen, samme som ovenfor
SetCompressorSæt komprimeringsalgoritmen, følgende parametre er komprimeringsalgoritmen i guiden, solid, brug /SOLID som præfiks, f.eks. skrives solid lzma-algoritmen som /SOLID lzma
SetCompressorSæt den komprimerede volumenstørrelse, efterfulgt af et tal, og det er som regel ligegyldigt, hvis du ikke skriver det
OutFileBeslut stien for den kompilerede installationspakke (stien for fremtidige installationspakker, ikke hvilken mappe den skal lægges i)
NavnIndstil produktets navn, som regel applikationsnavnet + appversionen, der er skrevet i det første trin af guiden
InstallDirRepræsenterer standardinstallationsstien, som udfyldes i den første linje i wizardens fjerde trin, hvilket bestemmer værdien af $INSTDIR
ShowInstDetaljerParametrene er ikke blot true and false, men show, hide and nevershow, som indikerer, at detaljerne automatisk vises, brugerknappen viser detaljerne, og installationsdetaljerne ikke må ses
ShowUnInstDetaljerAngiver om afinstallationsdetaljerne vises, og om parametrene er de samme som ovenfor
BrandingTextViser informationen nederst i installationspakken, altså den sidste linje med brugerdefineret tekst i første trin af guiden, som kan acceptere to parametre: den ene er teksten, der skal vises, og den valgfrie parameter er /TRIM, som kan bestemme retningen for tekstjustering (VENSTRE, HØJRE eller CENTER, standarden er VENSTRE, /TRIMLEFT, /TRIMRIGHT eller /TRIMCENTER skal skrives uden nogen adskillelse imellem)
SetOutPathDen kan kun skrives på den første linje i sektionen, som bestemmer installationsplaceringen af komponenten, der repræsenteres af sektionen, forskellig fra InstallDir, SetOutPath tillader installation af forskellige komponenter i forskellige undermapper i hele installationsmappen, det anbefales at sætte den til $INSTDIR\-mappen med komponentnavnet (eller hvis komponenterne er indbyrdes afhængige, kan du justere komponentstien separat)
SetOverWriteDen kan kun skrives i Section, som bruges til at vælge, om der skal overskrives, når den er installeret, og parametrene kan sættes til altid at overskrive (til), aldrig overskrive (fra), overskrive når nyere (ifnewer), overskrive når filindholdet er anderledes (ifdiff) og forsøge at overskrive (try), svarende til det femte trin i guiden > redigering af mappeelementer
FilDen kan kun skrives i Sektion, hvilket betyder, at Sektionen indeholder og pakkede filer, og /r escape-parameteren repræsenterer filer og mapper, der indeholder undermapper, og de tilsvarende wizard-trin er de samme som ovenfor. /x-parameteren bruges til at udelukke filer, du kan skrive /x "*.ico" "xxx\*", hvilket betyder at udelukke ICO-filer og alle filer i xxx-undermappen, svarende til trin 5 i guiden
CreateDictionaryOpret en mappe efterfulgt af den fulde eller relative sti for mappen
CreateShortcutOpret en genvej, den første er stien for genvejen (suffiks .lnk), og den anden er stien for genvejen til filen, svarende til den nederste del af trin 6 i guiden
WriteUninstallerOpret en afinstallerer efterfulgt af stinavnet på afinstallationsprogrammet
WriteRegStrSkriv til registret, som som regel ikke behøver at ændres, følg blot guiden for at generere
SletteNormalt i afinstallationssektionen sletter man en enkelt fil, efterfulgt af stien for den slettede fil, fordi det er en enkelt fil, kan du ikke tilføje /r
RMDirNormalt i afinstallationssektionen sletter man mappen og alle filer i mappen, efterfulgt af stien til den slettede mappe, den første skal som regel manuelt tilføje /r, guiden tilføjede det ikke til dig, hvis du ikke tilføjer det, vil resterne blive afinstalleret, det er bedst at skrive denne kommando én gang for hver undermappe, du skal tilføje /r og til sidst fjerne den generelle mappe RMDir "$INSTDIR"
DeleteRegKeyFor at slette registreringsdatabasens oplysninger kan du som regel følge guiden til at generere dem
SetAutoCloseDen kan kun skrives i sektionen, hvor den angiver, om den automatisk hopper til fuldførelsesgrænsefladen efter installationen er færdig, med parametrene true og false
AutoCloseWindowDet ser ikke ud til at have nogen effekt, funktionen ser ud til at være den samme som den forrige, men den kan skrives uden for sektionen, og parametrene er de samme som ovenfor
BeskedboksBeskedboksen kan kun skrives i Sektion eller Funktion, der er mange parametre, herunder visningsinformation, displayadvarsel, ask ja nej, ask okcancelretry osv., indtast Messagebox i VNISEdit for at få en liste over alle parametre, og forbind derefter indholdet i meddelelsesboksen
AfbrydeBlokering, venter på at brugeren svarer
HideWindowSkjult vindue, som normalt bruges til at afinstallere Section, afinstallereren sletter sig selv først, derefter sletter den andre filer (ja, programmet kører stadig), og lukker automatisk vinduet efter sletning


 Udlejer| Opslået på 28/01/2024 11.07.28 |
Callback-funktion

Callback-funktion ved installation

.onGUIInit
.onInit
.onGUIEnd
.onRebootFailed
.onSelChange
.onUserAbort
.onVerifyInstDir

Callback-funktion ved afinstallation

un.onGUIInit
un.onInit
un.onUninstFailed
u.påUinstSucces
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Detaljerne er som følger:

onGUIInit:
Callback-opkaldet kaldes, før den første side indlæses, og installationsdialogen vises, så du kan justere brugergrænsefladen.

onInit:
Dette callback kaldes, når installatøren er tæt på at færdiggøre initialiseringen. Hvis .onInit-funktionen kalder Abort, lukker installationsprogrammet straks.

onInstFailed:
Denne callback-funktion kaldes, når brugeren klikker på "annuller"-knappen efter en installationsfejl (hvis installationsprogrammet ikke kan frigive nogen filer, eller hvis installationsscriptet bruger kommandoen Afbryd).

onInstSuccess:
Callbacket kaldes, før installationen lykkes, og installationsvinduet lukker (hvis AutoCloseWindow eller SetAutoClose er sat til falsk, kan det være efter brugeren klikker på "Luk").

onGUIEnd:
Callback-opkaldet kaldes lige efter, at installationsvinduet er lukket. Brug den til at frigive plugins relateret til brugergrænsefladen, når det er nødvendigt.

onMouseOverSection:
Callbacken aktiveres, hver gang musen bevæger sig over træsektionsvalgboksen. Dette giver dig mulighed for at sætte en eksempelbeskrivelse for hvert segment. ID'et for det nuværende segment, hvor musemusen er placeret, er midlertidigt gemt til $0.

onRebootFailed:
Denne callback-funktion kaldes, når genstartsinstruktionen fejler. WriteUninstaller, plug-ins, File og WriteRegBin kan ikke bruges til denne callback-funktion.

onSelChange:
Kaldes når valgmulighederne for komponentvalg ændres. Bruges ofte til at bruge SectionSetFlags og SectionGetFlags.

onUserAbort:
Dette callback kaldes, når brugeren klikker på "annuller"-knappen, og installationen endnu ikke er mislykket. Hvis funktionen kalder Afbryd, vil installationen ikke afsluttes.

onVerifyInstDir:
Denne callback giver din installatør mulighed for at styre, om installationsstien er gyldig eller ej. Denne kode kaldes én gang hver gang brugeren ændrer installationsstien. Hvis funktionen kalder Abort, betragtes stien til $INSTDIR som ugyldig.

FN. GUIInit:
Callback-opkaldet kaldes, før den første side indlæses, og afinstallationsdialogen vises, så du kan justere afinstallationsgrænsefladen.

un.onInit:
Dette callback kaldes, når afinstallationsprogrammet er tæt på at færdiggøre initialiseringen. Hvis un.onInit-funktionen bruger Abort, afslutter afinstallationsprogrammet straks. Bemærk: Funktionen kan validere og/eller ændre $INSTDIR om nødvendigt.

un.onUninstFailed:
Denne callback-funktion kaldes, når brugeren klikker på "Annuller"-knappen efter en afinstallation fejler (hvis Afbryd-kommandoen eller en anden fejlet kommando bruges).

un.onUninstSuccess:
Callback-opkaldet kaldes, før afinstallationen lykkes, og lukker med rette afinstallationsvinduet (muligvis efter brugeren klikker på "luk", hvis SetAutoClose er sat til falsk).

un.onGUIEnd:
Callback-opkaldet kaldes lige efter, at afinstallationsvinduet er lukket. Brug den til at frigive plugins relateret til brugergrænsefladen, når det er nødvendigt.

un.onRebootFailed:
Denne callback-funktion kaldes, når genstartsinstruktionen fejler. WriteUninstaller, plug-ins, File og WriteRegBin kan ikke bruges til denne callback-funktion.

un.onUserAbort:
Denne tilbagekaldelse kaldes, når brugeren klikker på "Annuller"-knappen, og afinstallationen ikke er mislykket. Hvis funktionen kalder Afbryd, vil afinstallationsprogrammet ikke afsluttes.

 Udlejer| Opslået på 28/01/2024 12.07.23 |
Kaldet skal bruges med funktionsnavne, der starter med "un." i afsnittet for afinstallation.
Usage: Call function_name | [:label_name]


NSIS har navngivningsbetingelser – funktioner, der kaldes fra afinstallationsfilen, skal have et præfiks i "un"-navnet.

Løsningen er som følger:

Henvisning:

Hyperlink-login er synlig.
Hyperlink-login er synlig.

 Udlejer| Opslået på 28/01/2024 15.10.07 |
 Udlejer| Opslået på 09/05/2024 09.46.16 |
Advanced Installer er en kraftfuld MSI-installationspakkeproducent, der genererer MS Windows-certificerede Windows-installationsprogrammer med en brugervenlig grafisk brugerflade, intuitiv og meget enkel grænseflade, hvilket gør den til en god Windows-installationsforfatter.
 Udlejer| Opslået på 21/02/2025 17.36.44 |
Inno Setup er en gratis Windows-programinstaller udviklet af Jordan Russell og Martijn Laan. Inno Setup blev først lanceret i 1997 og konkurrerer i dag med og overgår endda mange kommercielle installatører med hensyn til funktionssæt og stabilitet.

Hjemmeside:Hyperlink-login er synlig.

Case: Ollama Windows-applikation,Hyperlink-login er synlig.
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com