Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3956|Răspunde: 6

NSIS (1) Fă un instalator simplu

[Copiază linkul]
Postat pe 28.01.2024 09:42:28 | | | |
Cerințe: Am dezvoltat o aplicație folosind Winform și am dorit să creez un instalator pentru a instala și executa această aplicație, arătând că produsul este mai formal.

Introducere în NSIS

NSIS (Nullsoft Scriptable Install System) este un sistem open-source profesional pentru crearea instalatoarelor Windows. Este proiectat să fie cât mai mic și flexibil posibil, fiind ideal pentru distribuția pe internet.

Ca prima experiență a unui utilizator cu un produs, un instalator stabil și de încredere este o parte importantă a unui software de succes. Cu NSIS, poți crea un astfel de instalator capabil să efectueze toate operațiunile necesare instalării software-ului.

NSIS este bazat pe scripturi, permițându-ți să creezi logică pentru a gestiona cele mai complexe sarcini de instalare. Multe pluginuri și scripturi sunt deja disponibile: poți crea instalatoare web, poți comunica cu Windows și alte componente software, poți instala sau actualiza componente partajate și multe altele.


Descarcă NSIS:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

Pluginuri NSIS:Autentificarea cu hyperlink este vizibilă.

HM NIS EDIT descărcare:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

HM NIS EDIT: Editor/IDE gratuit NSIS: HM NIS Edit este cel mai bun editor/IDE pentru Nullsoft Script Installation System (NSIS). Este foarte util pentru experți și începători care folosesc NSIS pentru a crea instalatori. Wizard-ul său de script te va ajuta să creezi un instalator standard cu doar câteva click-uri, iar designerul InstallOptions te va ajuta să creezi propriile pagini personalizate cu o interfață prietenoasă drag-and-drop.

Descarcă și instalează

Descarcă software-ul NSIS și HM NIS EDIT, instalează mai întâi NSIS, apoi instalează HM NIS EDIT, așa cum se arată mai jos:



Creează un pachet de instalare

Creează o nouă aplicație Winform, folosește instrumentul IDE pentru a crea o nouă aplicație Winform a .NET framework 4.7.2 (omisă), compila-o și folosește NSIS pentru a crea un pachet de instalare.

Deschide instrumentul HM NIS EDIT și selectează File-> New Script: Wizard, așa cum se arată mai jos:



Personalizați informațiile aplicației în funcție de situația dumneavoastră reală, așa cum este prezentat în figura de mai jos:



Debifează "Engleză" și selectează "Chineză simplificată", așa cum se arată în figura următoare:



Setați calea fișierului de autorizare așa cum este prezentat în figura următoare:



Specifică fișierul aplicației, șterge configurația existentă și apoi adaugă directorul nostru de aplicații, așa cum este prezentat în figura de mai jos:




Apasă Următorul, așa cum se arată mai jos:



Vă rugăm să completați programul, parametrii și să vă raportați în funcție de situația dumneavoastră, așa cum este prezentat în figura de mai jos:



Desinstalează configurația programului așa cum este arătat în figura următoare:



Ultimul pas este să îl salvezi ca script test.nsi pentru următoarea compilație, așa cum este prezentat mai jos:



Compilați scriptul și generați pachetul de instalare, așa cum este arătat în figura de mai jos:



Atașează codul test.nsi:

(Sfârșit)





Precedent:Explorează subiecte din extensia .Net Reactive Responsive
Următor:NSIS (ii) mutex garantează că doar un singur instalator rulează
 Proprietarul| Postat pe 28.01.2024 10:09:14 |

funcționaimportanță
SecțiuneFuncția cea mai de bază reprezintă un departament, folosită pentru a reprezenta o componentă care trebuie instalată, conținutul secțiunii este ultima parte a programului care trebuie executată, cu excepția dezinstalării, dar va fi prima care va verifica la compilare; dacă nu există o secțiune sau funcție în program, compilarea va fi oprită, iar blocul de cod din secțiune trebuie indentat la 2 spații
FuncționaFuncția executată trebuie de asemenea indentată, numele funcției sale va fi recunoscut, iar dacă este recunoscută ca un nume special, va fi realizată în circumstanțe specifice, care vor fi explicate mai jos
SectionEndIndică sfârșitul departamentului, nu este indentat în interiorul secțiunii
FunctionEndIndică sfârșitul funcției, la fel ca mai sus
SetCompressorSetează algoritmul de compresie, următorii parametri sunt algoritmul de compresie din wizard, solid folosește /SOLID ca prefix, de exemplu, algoritmul solid lzma este scris ca /SOLID lzma
SetCompressorSetează dimensiunea volumului comprimat, urmată de un număr, și de obicei nu contează dacă nu o scrii
Fișier de ieșireDecideți calea pachetului de instalare compilat (calea pachetelor de instalare viitoare, nu în ce folder să-l puneți)
NumeSetează numele produsului, de obicei numele aplicației + versiunea aplicației scrisă în primul pas al asistentului
InstallDirReprezintă calea implicită de instalare, care este completată în prima linie a celui de-al patrulea pas al vrăjitorului, care determină valoarea $INSTDIR
ShowInstDetailsParametrii nu sunt simpli adevărat și fals, ci afișează, ascunde și nu arată niciodată, ceea ce indică faptul că detaliile sunt afișate automat, butonul utilizatorului afișează detaliile, iar detaliile de instalare nu pot fi văzute
ShowUnInstDetailsIndică dacă detaliile de dezinstalare sunt afișate și parametrii sunt aceiași ca mai sus
BrandingTextAfișează informațiile din partea de jos a pachetului de instalare, adică ultima linie de text personalizat din primul pas al asistentului, care poate accepta doi parametri, unul este textul ce urmează a fi afișat, iar parametrul opțional este /TRIM, care poate determina direcția alinierii textului (STÂNGA, DREAPTA sau CENTRU, implicit este STÂNGA, /TRIMLEFT, /TRIMRIGHT sau /TRIMCENTER trebuie scrise, fără separare între ele)
SetOutPathPoate fi scris doar pe prima linie a Secțiunii, care determină locația de instalare a componentei reprezentate de Secțiune, diferit de InstallDir, SetOutPath permite instalarea diferitelor componente în subdirectoare diferite ale directorului total de instalare, se recomandă setarea ca $INSTDIR\ folder cu numele componentei (sau, dacă componentele sunt interdependente, poți ajusta separat calea componentei)
SetOverWritePoate fi scris doar în Section, care este folosit pentru a seta dacă trebuie suprascris la instalare, iar parametrii pot fi setați să suprascrie întotdeauna (on), să nu suprascrie niciodată (off), să suprascrie când este mai nou (ifnewer), să suprascrii când conținutul fișierului este diferit (ifdiff) și să încerci să suprascrii (try), corespunzând celui de-al cincilea pas al wizardului > editarea elementelor din director
FișierPoate fi scris doar în Section, ceea ce înseamnă că Section conține și ambalează fișiere, iar parametrul de escape /r reprezintă fișiere și foldere care conțin subdirectoare, iar pașii wizard corespunzători sunt aceiași ca mai sus. parametrul /x este folosit pentru a exclude fișierele, poți scrie /x "*.ico" "xxx\*", ceea ce înseamnă să excluzi fișierele ICO și să excluzi toate fișierele din subdirectorul xxx, corespunzător pasului 5 al asistentului
CreateDictionaryCreează un folder urmat de calea completă sau relativă a folderului
CreateShortcutCreează o scurtătură, prima este calea scurtăturii (sufix .lnk), iar a doua este calea scurtăturii către fișier, corespunzătoare părții inferioare a pasului 6 al vrăjitorului
WriteUninstallerCreează un dezinstalator urmat de numele de cale al dezinstalatorului
WriteRegStrScrie în registru, care de obicei nu trebuie modificat, doar urmează asistentul pentru a genera
ȘtergeDe obicei, în secțiunea de dezinstalare, ștergi un singur fișier, urmat de calea fișierului șters, pentru că este un singur fișier, nu poți adăuga /r
RMDirDe obicei, în secțiunea de dezinstalare, ștergi directorul și toate fișierele din director, urmat de calea directorului șters, primul trebuie să adauge manual /r, vrăjitorul nu ți-a adăugat, dacă nu îl adaugi, va dezinstala reziduul, cel mai bine este să scrii această comandă o dată pentru fiecare subdirector, trebuie să adaugi /r și, în final, să elimini directorul general RMDir "$INSTDIR"
DeleteRegKeyPentru a șterge informațiile din registru, în general poți urma asistentul pentru a le genera
SetAutoClosePoate fi scris doar în Secțiune, indicând dacă va sări automat la interfața de finalizare după finalizarea instalării, cu parametrii true și false
AutoCloseWindowNu pare să aibă niciun efect, funcția pare să fie aceeași ca cea anterioară, dar poate fi scrisă în afara secțiunii, iar parametrii sunt aceiași ca mai sus
Casetă de mesajeCaseta de mesaj poate fi scrisă doar în Section sau Function, există mulți parametri, inclusiv informații de afișare, afișare avertisment, întrebare da, okcancelretry etc., introduceți Messagebox în VNISEdit pentru a obține o listă cu toți parametrii și apoi conectați conținutul afișat în caseta de mesaj
Abandonablocare, așteptând răspunsul utilizatorului
HideWindowFereastra ascunsă, folosită de obicei pentru dezinstalarea Section, dezinstalatorul se șterge singur mai întâi, apoi șterge alte fișiere (da, programul încă rulează) și închide automat fereastra după ștergere


 Proprietarul| Postat pe 28.01.2024 11:07:28 |
Funcție de callback

Funcția de apel înapoi la instalare

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

Funcția de callback la dezinstalare

un.onGUIInit
un.onInit
un.onUninstFailed
un.onUninstSuccess
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Detaliile sunt următoarele:

onGUIInit:
Apelul va fi apelat înainte ca prima pagină să se încarce și să fie afișat dialogul de instalare, permițându-ți ajustarea interfeței utilizatorului.

onInit:
Acest callback va fi apelat când instalatorul este aproape de finalizarea inițializării. Dacă funcția .onInit apelează Abort, instalatorul iese imediat.

onInstFailed:
Această funcție de callback este apelată când utilizatorul apasă butonul "anulare" după un eșec de instalare (dacă instalatorul nu poate elibera fișiere sau dacă scriptul de instalare folosește comanda Abort).

onInstSuccess:
Apelul este apelat înainte ca instalarea să fie reușită și fereastra de instalare să se închidă (dacă AutoCloseWindow sau SetAutoClose este setat pe false, poate fi după ce utilizatorul apasă pe "Close").

onGUIEnd:
Apelul este chemat imediat după ce fereastra de instalare este închisă. Folosesc pentru a lansa orice pluginuri legate de interfața utilizatorului atunci când este nevoie.

onMouseOverSection:
Callback-ul este invocat ori de câte ori mouse-ul se deplasează peste caseta de selecție a secțiunii arborelui. Aceasta îți permite să setezi o descriere de probă pentru fiecare segment. ID-ul segmentului curent în care se află șoricul a fost salvat temporar la $0.

onRebootFailed:
Această funcție de callback este apelată atunci când instrucțiunea Reboot eșuează. WriteUninstaller, plug-in-urile, File și WriteRegBin nu pot fi folosite pentru această funcție de callback.

onSelChange:
Este chemat când opțiunile paginii de selecție a componentelor sunt schimbate. Este folosit frecvent pentru a folosi SectionSetFlags și SectionGetFlags.

onUserAbort:
Acest callback este apelat când utilizatorul apasă butonul "anulare" și instalarea nu a eșuat încă. Dacă funcția apelează Abort, instalarea nu se va închide.

onVerifyInstDir:
Acest callback îi permite instalatorilor să controleze dacă calea de instalare este validă sau nu. Acest cod este apelat o singură dată de fiecare dată când utilizatorul schimbă calea de instalare. Dacă funcția apelează Abort, calea către $INSTDIR este considerată invalidă.

ONU. GUIInit:
Apelul va fi apelat înainte ca prima pagină să se încarce și să se afișeze dialogul Uninstaller, permițându-ți să ajustezi interfața de dezinstalare.

un.onInit:
Acest callback va fi apelat când dezinstalatorul este aproape de finalizarea inițializării. Dacă funcția un.onInit folosește Abort, dezinstalatorul se închide imediat. Notă: Funcția poate valida și/sau modifica $INSTDIR dacă este necesar.

un.onUninstFailed:
Această funcție de callback este apelată atunci când utilizatorul apasă butonul "Anulare" după ce o dezinstalare eșuează (dacă se folosește comanda Abort sau altă comandă eșuată).

un.onUninstSuccess:
Apelul este apelat înainte ca dezinstalarea să aibă succes și închide pe bună dreptate fereastra de dezinstalare (posibil după ce utilizatorul apasă pe "închide" dacă SetAutoClose este setat pe fals).

un.onGUIEnd:
Apelul este chemat imediat după ce fereastra de dezinstalare este închisă. Folosesc pentru a lansa orice pluginuri legate de interfața utilizatorului atunci când este nevoie.

un.onRebootFailed:
Această funcție de callback este apelată atunci când instrucțiunea Reboot eșuează. WriteUninstaller, plug-in-urile, File și WriteRegBin nu pot fi folosite pentru această funcție de callback.

un.onUserAbort:
Acest callback este apelat atunci când utilizatorul apasă butonul "Anulează" și dezinstalarea nu a eșuat. Dacă funcția apelează Abort, dezinstalatorul nu va ieși.

 Proprietarul| Postat pe 28.01.2024 12:07:23 |
Apelul trebuie folosit cu nume de funcții care încep cu "un." în secțiunea de dezinstalare.
Usage: Call function_name | [:label_name]


NSIS are condiții de denumire – funcțiile apelate de la uninstaller trebuie să aibă un prefix în numele "un".

Soluția este următoarea:

Referință:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

 Proprietarul| Postat pe 28.01.2024 15:10:07 |
 Proprietarul| Postat pe 09.05.2024 09:46:16 |
Advanced Installer este un creator puternic de pachete de instalare MSI care generează instalatori Windows certificați MS Windows cu o interfață grafică prietenoasă, intuitivă și foarte simplă, ceea ce îl face un bun scriitor de instalatori Windows.
 Proprietarul| Postat pe 21.02.2025 17:36:44 |
Inno Setup este un instalator gratuit de program pentru Windows, dezvoltat de Jordan Russell și Martijn Laan. Inno Setup a fost lansat pentru prima dată în 1997 și astăzi rivalizează și chiar depășește mulți instalatori comerciali în ceea ce privește setul de funcții și stabilitatea.

Site:Autentificarea cu hyperlink este vizibilă.

Cazul: aplicația Ollama pentru Windows,Autentificarea cu hyperlink este vizibilă.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com