Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 3956|Atsakyti: 6

NSIS (1) Padaryti paprastą diegimo programą

[Kopijuoti nuorodą]
Paskelbta 2024-01-28 09:42:28 | | | |
Reikalavimai: Sukūriau programą naudodamas "Winform" ir norėjau sukurti diegimo programą, kuri įdiegtų ir vykdytų šią programą, parodydama, kad produktas yra formalesnis.

Įvadas į NSIS

NSIS (Nullsoft Scriptable Install System) yra profesionali atvirojo kodo sistema, skirta Windows diegimo programoms kurti. Jis sukurtas taip, kad būtų kuo mažesnis ir lankstesnis, todėl idealiai tinka platinti internetu.

Kaip pirmoji vartotojo patirtis su produktu, stabili ir patikima diegimo programa yra svarbi sėkmingos programinės įrangos dalis. Naudodami NSIS galite sukurti tokią diegimo programą, galinčią atlikti visas programinės įrangos diegimo operacijas.

NSIS yra pagrįstas scenarijumi, todėl galite sukurti logiką, kad galėtumėte atlikti sudėtingiausias diegimo užduotis. Jau yra daug papildinių ir scenarijų: galite kurti žiniatinklio diegimo programas, bendrauti su "Windows" ir kitais programinės įrangos komponentais, įdiegti arba atnaujinti bendrinamus komponentus ir kt.


NSIS parsisiųsti:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.

NSIS įskiepiai:Hipersaito prisijungimas matomas.

HM NIS EDIT atsisiųsti:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.

HM NIS EDIT: Nemokamas NSIS redaktorius / IDE: HM NIS Edit yra geriausias redaktorius / IDE Nullsoft Script Installation System (NSIS). Tai labai naudinga ekspertams ir pradedantiesiems, kurie naudoja NSIS diegimo programoms kurti. Jo scenarijaus vedlys padės vos keliais paspaudimais sukurti standartinę diegimo programą, o "InstallOptions" dizaineris padės sukurti savo pasirinktinius puslapius su draugiška nuvilkimo sąsaja.

Atsisiųsti ir įdiegti

Atsisiųskite NSIS ir HM NIS EDIT programinę įrangą, pirmiausia įdiekite NSIS, tada įdiekite HM NIS EDIT, kaip parodyta toliau:



Sukurkite diegimo paketą

Sukurkite naują Winform programą, naudokite IDE įrankį, kad sukurtumėte naują Winform programą .NET framework 4.7.2 (praleista), sukompiliuokite ją ir naudokite NSIS diegimo paketui sukurti.

Atidarykite HM NIS EDIT įrankį ir pasirinkite File-> New Script: Wizard, kaip parodyta toliau:



Pritaikykite programos informaciją pagal savo faktinę situaciją, kaip parodyta paveikslėlyje žemiau:



Panaikinkite žymėjimą "Anglų kalba" ir pasirinkite "Supaprastinta kinų kalba", kaip parodyta šiame paveikslėlyje:



Nustatykite autorizacijos failo kelią, kaip parodyta šiame paveikslėlyje:



Nurodykite programos failą, ištrinkite esamą konfigūraciją ir pridėkite programos katalogą, kaip parodyta paveikslėlyje žemiau:




Spustelėkite Pirmyn, kaip parodyta toliau:



Užpildykite programą, parametrus ir savęs ataskaitą pagal savo situaciją, kaip parodyta paveikslėlyje žemiau:



Pašalinkite programos konfigūraciją, kaip parodyta šiame paveikslėlyje:



Paskutinis žingsnis yra išsaugoti jį kaip test.nsi scenarijų kitam kompiliavimui, kaip parodyta toliau:



Sukompiliuokite scenarijų ir sugeneruokite diegimo paketą, kaip parodyta paveikslėlyje žemiau:



Pridėkite test.nsi kodą:

(Pabaiga)





Ankstesnis:Temų tyrinėjimas ".Net Reactive Responsive" plėtinyje
Kitą:NSIS (ii) mutex garantuoja, kad veikia tik viena diegimo programa
 Savininkas| Paskelbta 2024-01-28 10:09:14 |

funkcijareikšmė
SekcijaPagrindinė funkcija reiškia skyrių, naudojamą komponentui, kurį reikia įdiegti, pavaizduoti, skyriaus turinys yra paskutinė programos dalis, kurią reikia vykdyti, išskyrus pašalinimą, tačiau kompiliuojant ji bus pirmoji, kuri patikrins, jei programoje nėra skyriaus ar funkcijos, kompiliacija bus nutraukta, o skyriaus kodo blokas turi būti įtrauktas į 2 tarpus
FunkcijaVykdomą funkciją taip pat reikia įtraukti, jos funkcijos pavadinimas bus atpažintas, jei jis bus pripažintas specialiu pavadinimu, jis bus atliekamas konkrečiomis aplinkybėmis, kurios bus paaiškintos toliau
Sekcijos pabaigaNurodo skyriaus pabaigą, neįtrauktą sekcijos viduje
Funkcijos pabaigaNurodo funkcijos pabaigą, kaip nurodyta aukščiau
RinkinysKompresoriusNustatykite glaudinimo algoritmą, šie parametrai yra suspaudimo algoritmas vedlyje, kietas naudojimas /SOLID kaip priešdėlis, pvz., kietas lzma algoritmas parašytas kaip /SOLID lzma
RinkinysKompresoriusNustatykite suspausto tomo dydį, po kurio seka skaičius, ir paprastai nesvarbu, jei jo nerašote
OutFileNuspręskite dėl sukompiliuoto diegimo paketo kelio (būsimų diegimo paketų kelio, o ne į kurį aplanką jį įdėti)
Vardas, pavadinimasNustatykite produkto pavadinimą, paprastai programos pavadinimą + programos versiją, parašytą pirmame vedlio veiksme
InstallDirNurodo numatytąjį diegimo kelią, kuris užpildomas pirmoje vedlio ketvirtojo veiksmo eilutėje, kuri nustato $INSTDIR reikšmę
ShowInstIšsami informacijaParametrai nėra paprasti teisingi ir klaidingi, bet rodo, slepia ir niekada nerodo, o tai rodo, kad išsami informacija rodoma automatiškai, vartotojo mygtukas rodo išsamią informaciją, o diegimo informacijos neleidžiama matyti
ShowUnInstDetailsNurodo, ar rodoma pašalinimo informacija, o parametrai yra tokie patys kaip aukščiau
Prekės ženklo tekstasRodo informaciją diegimo paketo apačioje, tai yra, paskutinę pasirinktinio teksto eilutę pirmajame vedlio žingsnyje, kuris gali priimti du parametrus, vienas yra rodomas tekstas, o pasirenkamas parametras yra /TRIM, kuris gali nustatyti teksto lygiavimo kryptį (LEFT, RIGHT arba CENTER, numatytasis yra LEFT, /TRIMLEFT, /TRIMRIGHT arba /TRIMCENTER turi būti parašytas, be jokio atskyrimo tarp jų)
SetOutPathJis gali būti parašytas tik pirmoje skyriaus eilutėje, kuri nustato skyriaus atstovaujamo komponento diegimo vietą, skiriasi nuo "InstallDir", "SetOutPath" leidžia skirtingus komponentus įdiegti skirtinguose viso diegimo katalogo pakatalogiuose, rekomenduojama jį nustatyti į aplanką $INSTDIR\ su komponento pavadinimu (arba, jei komponentai yra tarpusavyje susiję, komponento kelią galite reguliuoti atskirai)
SetOverWriteJis gali būti parašytas tik skyriuje, kuris naudojamas nustatyti, ar perrašyti, kai įdiegta, ir parametrus galima nustatyti visada perrašyti (įjungta), niekada perrašyti (išjungta), perrašyti, kai naujesnis (ifnewer), perrašyti, kai failo turinys yra kitoks (ifdiff) ir bandyti perrašyti (pabandyti), atitinkantį penktąjį vedlio žingsnį > redaguoti katalogo elementus
FailasJis gali būti parašytas tik skyriuje, o tai reiškia, kad skyriuje yra ir supakuoti failai, o /r pabėgimo parametras reiškia failus ir aplankus, kuriuose yra pakatalogiai, o atitinkami vedlio veiksmai yra tokie patys kaip aukščiau. /x parametras naudojamas failams išskirti, galite parašyti /x "*.ico" "xxx\*", o tai reiškia, kad reikia neįtraukti ICO failų ir neįtraukti visų failų xxx pakatalogyje, atitinkančio vedlio 5 veiksmą
KurtiŽodynasSukurkite aplanką, po kurio bus nurodytas visas arba santykinis aplanko kelias
Sukurti nuorodąSukurkite nuorodą, pirmasis yra nuorodos kelias (priesaga .lnk), o antrasis yra nuorodos į failą kelias, atitinkantis apatinę vedlio 6 veiksmo dalį
WriteUninstallerSukurkite pašalinimo programą ir pašalinimo programos kelio pavadinimą
RašytiRegStrRašykite į registrą, kurio paprastai nereikia keisti, tiesiog vadovaukitės vedliu, kad sugeneruotumėte
NaikintiPaprastai pašalinimo skiltyje ištrinkite vieną failą, o po to ištrinto failo kelią, nes tai yra vienas failas, negalite pridėti /r
RMDirPaprastai pašalinimo skiltyje ištrinkite katalogą ir visus kataloge esančius failus, po to ištrinto katalogo kelią, pirmasis paprastai turi rankiniu būdu pridėti /r, vedlys jo jums nepridėjo, jei jo nepridėsite, jis pašalins likutį, geriausia šią komandą parašyti vieną kartą kiekvienam pakatalogiui, turite pridėti /r ir galiausiai pašalinti bendrąjį katalogą RMDir "$INSTDIR"
DeleteRegKeyNorėdami panaikinti registro informaciją, paprastai galite vadovautis vedliu, kad ją sugeneruotumėte
Nustatyti automatinį uždarymąJis gali būti parašytas tik skyriuje, nurodant, ar baigus diegimą jis automatiškai pereis į užbaigimo sąsają, su parametrais teisinga ir klaidinga
Automatinio uždarymo langasAtrodo, kad tai neturi jokio efekto, funkcija atrodo tokia pati kaip ir ankstesnė, bet ją galima parašyti už skyriaus ribų, o parametrai yra tokie patys kaip aukščiau
Pranešimų laukelisPranešimo laukelį galima parašyti tik skyriuje arba funkcijoje, yra daug parametrų, įskaitant ekrano informaciją, ekrano įspėjimą, klausti taip ne, klausti okcancelretry ir kt., įveskite pranešimų laukelį VNISEdit, kad gautumėte visų parametrų sąrašą, tada prijunkite pranešimo laukelyje rodomą turinį
Nutrauktiblokavimas, laukimas, kol vartotojas atsakys
Slėpti langąPaslėptas langas, paprastai naudojamas sekcijai pašalinti, pašalinimo programa pirmiausia ištrina save, tada ištrina kitus failus (taip, programa vis dar veikia) ir automatiškai uždaro langą po ištrynimo


 Savininkas| Paskelbta 2024-01-28 11:07:28 |
Atgalinio skambinimo funkcija

Atgalinio skambinimo funkcija diegimo metu

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

Atgalinio skambinimo funkcija pašalinant

un.onGUIInit
un.onInit
un.onUninstFailed
un.onUninstSėkmė
un.onGUIEnd
un.onRebootFailed
un.onSelChange
un.onUserAbort


Išsami informacija yra tokia:

onGUIInit:
Atgalinis skambutis bus iškviestas prieš įkeliant pirmąjį puslapį ir pasirodžius diegimo programos dialogo langas, leidžiantis koreguoti vartotojo sąsają.

onInit:
Šis atgalinis iškvietimas bus iškviestas, kai diegimo programa beveik baigs inicijavimą. Jei .onInit funkcija iškviečia Abort, diegimo programa nedelsdama išeina.

onInstFailed:
Ši atgalinio skambinimo funkcija iškviečiama, kai vartotojas spustelėja mygtuką "atšaukti" po diegimo gedimo (jei diegimo programa negali išleisti jokių failų arba jei diegimo scenarijus naudoja komandą Nutraukti).

onInstSuccess:
Atgalinis iškvietimas iškviečiamas prieš sėkmingai diegiant ir uždarant diegimo langą (jei AutoCloseWindow arba SetAutoClose nustatytas kaip false, tai gali būti po to, kai vartotojas spustelėja "Close").

onGUIEnd:
Atgalinis skambinimas iškviečiamas iškart uždarius diegimo programos langą. Jei reikia, naudokite norėdami išleisti visus papildinius, susijusius su vartotojo sąsaja.

onMouseOverSection:
Atgalinis iškvietimas iškviečiamas, kai pelė pereina virš medžio sekcijos pasirinkimo lauko. Tai leidžia nustatyti kiekvieno segmento aprašymo pavyzdį. Dabartinio segmento, kuriame yra pelės žymeklis, ID laikinai išsaugotas ties 0 USD.

onRebootFailed:
Ši atgalinio iškvietimo funkcija iškviečiama, kai nepavyksta paleisti iš naujo. WriteUninstaller, priedai, failas ir WriteRegBin negali būti naudojami šiai atgalinio iškvietimo funkcijai.

onSelChange:
Iškviečiama, kai keičiamos komponentų pasirinkimo puslapio parinktys. Dažniausiai naudojamas naudoti SectionSetFlags ir SectionGetFlags.

onUserAbort:
Šis atgalinis skambinimas iškviečiamas, kai vartotojas spustelėja mygtuką "atšaukti" ir diegimas dar nepavyko. Jei funkcija iškviečia Nutraukti, diegimas nebus baigtas.

onVerifyInstDir:
Šis atgalinis iškvietimas leidžia diegimo programai kontroliuoti, ar diegimo kelias yra tinkamas, ar ne. Šis kodas iškviečiamas vieną kartą kiekvieną kartą, kai vartotojas pakeičia diegimo kelią. Jei funkcija iškviečia Nutraukti, kelias į $INSTDIR laikomas negaliojančiu.

JT. GUIInit:
Atgalinis skambutis bus iškviestas prieš įkeliant pirmąjį puslapį ir pasirodžius dialogo langas "Uninstaller", leidžiantis koreguoti pašalinimo programos sąsają.

un.onInit:
Šis atgalinis iškvietimas bus iškviestas, kai pašalinimo programa beveik baigs inicijavimą. Jei funkcija un.onInit naudoja Abort, pašalinimo programa nedelsiant išeina. Pastaba: Jei reikia, funkcija gali patvirtinti ir (arba) modifikuoti $INSTDIR.

un.onUninstFailed:
Ši atgalinio skambinimo funkcija iškviečiama, kai vartotojas spustelėja mygtuką "Atšaukti" po to, kai nepavyksta pašalinti (jei naudojama komanda Nutraukti arba kita nepavykusi komanda).

un.onUninstSuccess:
Atgalinis skambinimas iškviečiamas prieš sėkmingai pašalinant ir pagrįstai uždarant pašalinimo programos langą (galbūt po to, kai vartotojas spustelėja "uždaryti", jei SetAutoClose nustatytas kaip false).

un.onGUIEnd:
Atgalinis skambinimas iškviečiamas iškart uždarius pašalinimo programos langą. Jei reikia, naudokite norėdami išleisti visus papildinius, susijusius su vartotojo sąsaja.

un.onRebootFailed:
Ši atgalinio iškvietimo funkcija iškviečiama, kai nepavyksta paleisti iš naujo. WriteUninstaller, priedai, failas ir WriteRegBin negali būti naudojami šiai atgalinio iškvietimo funkcijai.

un.onUserAbort:
Šis atgalinis skambinimas iškviečiamas, kai vartotojas spustelėja mygtuką "Atšaukti" ir pašalinti nepavyko. Jei funkcija iškviečia Abort, pašalinimo programa neišeis.

 Savininkas| Paskelbta 2024-01-28 12:07:23 |
Iškvietimas turi būti naudojamas su funkcijų pavadinimais, prasidedančiais "un." pašalinimo skyriuje.
Usage: Call function_name | [:label_name]


NSIS turi pavadinimų suteikimo sąlygas - funkcijos, iškviestos iš pašalinimo programos, turi turėti priešdėlį "un" pavadinime.

Sprendimas yra toks:

Nuoroda:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.

 Savininkas| Paskelbta 2024-01-28 15:10:07 |
 Savininkas| Paskelbta 2024-05-09 09:46:16 |
"Advanced Installer" yra galingas MSI diegimo paketų kūrėjas, generuojantis MS Windows sertifikuotas "Windows Installer" programas su patogia grafine vartotojo sąsaja, intuityvia ir labai paprasta sąsaja, todėl tai yra geras "Windows Installer" rašytojas.
 Savininkas| Paskelbta 2025-02-21 17:36:44 |
"Inno Setup" yra nemokama "Windows" programų diegimo programa, kurią sukūrė Jordanas Russellas ir Martijnas Laanas. "Inno Setup" pirmą kartą buvo paleista 1997 m. ir šiandien konkuruoja ir netgi lenkia daugelį komercinių diegimo programų funkcijų rinkiniu ir stabilumu.

Interneto svetainė:Hipersaito prisijungimas matomas.

Atvejis: "Ollama Windows" programa,Hipersaito prisijungimas matomas.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com