Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3956|Antwort: 6

NSIS (1) Erstellen Sie einen einfachen Installer

[Link kopieren]
Veröffentlicht am 28.01.2024 09:42:28 | | | |
Anforderungen: Ich habe eine Anwendung mit Winform entwickelt und wollte einen Installer erstellen, um diese Anwendung zu installieren und auszuführen, was zeigt, dass das Produkt formeller ist.

Einführung in den NSIS

NSIS (Nullsoft Scriptable Install System) ist ein professionelles Open-Source-System zur Erstellung von Windows-Installern. Es ist so konzipiert, dass es so klein und flexibel wie möglich ist, was es ideal für die Internetverteilung macht.

Als erste Erfahrung eines Nutzers mit einem Produkt ist ein stabiler und zuverlässiger Installer ein wichtiger Bestandteil erfolgreicher Software. Mit NSIS kann man einen solchen Installer erstellen, der in der Lage ist, alle erforderlichen Operationen für die Installation von Software auszuführen.

NSIS ist skriptbasiert und ermöglicht es Ihnen, Logik zu erstellen, um die komplexesten Installationsaufgaben zu bewältigen. Viele Plugins und Skripte sind bereits verfügbar: Sie können Web-Installer erstellen, mit Windows und anderen Softwarekomponenten kommunizieren, gemeinsame Komponenten installieren oder aktualisieren und mehr.


NSIS Download:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.

NSIS-Plugins:Der Hyperlink-Login ist sichtbar.

HM NIS EDIT, Download:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.

HM NIS EDIT: Kostenloser NSIS-Editor/IDE: HM NIS Edit ist der beste Editor/IDE für das Nullsoft Script Installation System (NSIS). Es ist sehr nützlich für Experten und Anfänger, die NSIS zur Erstellung von Installationsprogrammen verwenden. Sein Skript-Assistent hilft dir, mit nur wenigen Klicks einen Standard-Installer zu erstellen, und der InstallerOptions-Designer hilft dir, eigene Seiten mit einer benutzerfreundlichen Drag-and-Drop-Oberfläche zu erstellen.

Herunterladen und installieren

Laden Sie die NSIS- und HM NIS EDIT-Software herunter, installieren Sie zuerst NSIS und installieren Sie dann HM NIS EDIT, wie unten gezeigt:



Erstellen Sie ein Installationspaket

Erstellen Sie eine neue Winform-Anwendung, verwenden Sie das IDE-Tool, um eine neue Winform-Anwendung des .NET Frameworks 4.7.2 (weggelassen) zu erstellen, kompilieren Sie es und verwenden Sie NSIS, um ein Installationspaket zu erstellen.

Öffnen Sie das HM NIS EDIT-Tool und wählen Sie File-> New Script: Wizard, wie unten gezeigt:



Passe die Anwendungsinformationen an deine tatsächliche Situation an, wie in der untenstehenden Abbildung dargestellt:



Deaktivieren Sie "Englisch" und wählen Sie "Vereinfachtes Chinesisch" wie in der folgenden Abbildung gezeigt:



Stellen Sie den Pfad der Autorisierungsdatei wie in der folgenden Abbildung dargestellt ein:



Geben Sie die Anwendungsdatei an, löschen Sie die bestehende Konfiguration und fügen Sie dann unser Anwendungsverzeichnis wie in der untenstehenden Abbildung gezeigt hinzu:




Weiter klicken, wie unten gezeigt:



Bitte füllen Sie das Programm, die Parameter und den Selbstbericht entsprechend Ihrer eigenen Situation aus, wie in der untenstehenden Abbildung dargestellt:



Deinstalliere die Programmkonfiguration wie in der folgenden Abbildung gezeigt:



Der letzte Schritt ist, es als test.nsi-Skript für die nächste Kompilierung zu speichern, wie unten gezeigt:



Kompilieren Sie das Skript und generieren Sie das Installationspaket wie in der untenstehenden Abbildung gezeigt:



Fügen Sie den test.nsi-Code an:

(Ende)





Vorhergehend:Entdecken Sie Themen in der .Net Reactive Responsive Extension
Nächster:NSIS-(ii)-Mutex garantiert, dass nur ein Installer ausgeführt wird
 Vermieter| Veröffentlicht am 28.01.2024 10:09:14 |

FunktionBedeutung
AbschnittDie grundlegendste Funktion stellt eine Abteilung dar, die verwendet wird, um eine Komponente darzustellen, die installiert werden muss; der Inhalt des Abschnitts ist der letzte Teil des Programms, der ausgeführt wird, außer der Deinstallation, aber sie wird als erstes beim Kompilieren prüfen; wenn es keinen Abschnitt oder keine Funktion im Programm gibt, wird die Kompilierung beendet und der Codeblock in diesem Abschnitt muss in zwei Felder eingerückt werden
FunktionDie ausgeführte Funktion muss ebenfalls eingerückt werden, ihr Funktionsname wird erkannt, wenn sie als spezieller Name erkannt wird, wird sie unter bestimmten Umständen durchgeführt, was unten erklärt wird
SectionEndZeigt das Ende der Abteilung an, nicht eingedrückt innerhalb des Abschnitts
FunctionEndZeigt das Ende der Funktion an, wie oben
SetCompressorSetze den Kompressionsalgorithmus, die folgenden Parameter sind der Kompressionsalgorithmus im Wizard, solid, benutze /SOLID als Präfix, z. B. wird der solide LZMA-Algorithmus als /SOLID lzma geschrieben
SetCompressorSetze die komprimierte Volumengröße, gefolgt von einer Zahl, und es spielt normalerweise keine Rolle, wenn du es nicht schreibst
OutFileEntscheide den Pfad des kompilierten Installationspakets (den Pfad zukünftiger Installationspakete, nicht in welchen Ordner du es legen sollst)
NameSetze den Namen des Produkts, meist den Anwendungsnamen + App-Version, die im ersten Schritt des Guides geschrieben wird
InstallDirStellt den Standardinstallationspfad dar, der in der ersten Zeile des vierten Schrittes des Wizards ausgefüllt wird, der den Wert von $INSTDIR
ShowInstDetailsDie Parameter sind nicht einfach true and false, sondern zeigen, verstecken und nie-zeigen, was anzeigt, dass die Details automatisch angezeigt werden, der Benutzerbutton die Details anzeigt und die Installationsdetails nicht sichtbar werden dürfen
ShowUnInstDetailsGibt an, ob die Deinstallationsdetails angezeigt werden und ob die Parameter wie oben identisch sind
BrandingTextZeigt die Informationen am unteren Rand des Installationspakets an, also die letzte Zeile benutzerdefinierten Textes im ersten Schritt des Wizards, die zwei Parameter akzeptieren kann: Einer ist der anzuzeigende Text, und der optionale Parameter ist /TRIM, der die Ausrichtung des Textes bestimmt (LINKS, RECHTS oder MITTE, standardmäßig ist LINKS, /TRIMLEFT, /TRIMRIGHT oder /TRIMCENTER müssen geschrieben werden, ohne jegliche Trennung dazwischen).
SetOutPathEs kann nur auf der ersten Zeile des Abschnitts geschrieben werden, die den Installationsstandort der durch den Abschnitt dargestellten Komponente bestimmt. Anders als InstallDir. SetOutPath erlaubt es, verschiedene Komponenten in verschiedenen Unterverzeichnissen des Gesamtinstallationsverzeichnisses zu installieren; es wird empfohlen, es in den Ordner $INSTDIR\ mit dem Komponentennamen zu setzen (oder wenn die Komponenten voneinander abhängig sind, kann man den Komponentenpfad separat anpassen).
SetOverWriteSie kann nur in Section geschrieben werden, das verwendet wird, um festzulegen, ob überschrieben werden soll, wenn installiert, und die Parameter können so eingestellt werden, dass sie immer überschreiben (an), niemals überschreiben (aus), überschreiben, wenn neu (ifnewer), wenn der Dateiinhalt anders ist (ifdiff) und versucht zu überschreiben (versuchen), entsprechend dem fünften Schritt des Wizards > Verzeichniseinträge bearbeiten
DateiSie kann nur in Section geschrieben werden, was bedeutet, dass Section und verpackte Dateien enthält, und der /r Escapeing-Parameter Dateien und Ordner mit Unterverzeichnissen darstellt, während die entsprechenden Wizard-Schritte wie oben sind. Der Parameter /x wird verwendet, um Dateien auszuschließen, man kann /x "*.ico" "xxx\*" schreiben, was bedeutet, ICO-Dateien auszuschließen und alle Dateien im xxx-Unterverzeichnis auszuschließen, entsprechend Schritt 5 des Wizards.
CreateDictionaryErstellen Sie einen Ordner, gefolgt vom vollständigen oder relativen Pfad des Ordners
CreateShortcutErstellen Sie eine Verknüpfung, die erste ist der Pfad der Verknüpfung (Suffix .lnk), und die zweite ist der Pfad der Verknüpfung zur Datei, entsprechend dem unteren Teil von Schritt 6 des Wizards
WriteUninstallerErstellen Sie einen Uninstaller, gefolgt vom Pfadnamen des Deinstallations
WriteRegStrSchreiben Sie in die Registry, die in der Regel nicht geändert werden muss, sondern einfach dem Assistenten folgen, um zu generieren
LöschenNormalerweise löscht man im Deinstallationsabschnitt eine einzelne Datei, gefolgt vom Pfad der gelöschten Datei, da es sich um eine einzelne Datei handelt, kann man /r nicht hinzufügen
RMDirNormalerweise löscht man im Deinstallationsabschnitt das Verzeichnis und alle Dateien im Verzeichnis, gefolgt vom Pfad des gelöschten Verzeichnisses. Das erste muss in der Regel manuell /r hinzufügen, der Wizard hat es dir nicht hinzugefügt, wenn du es nicht hinzufügst, wird der Rest deinstalliert. Am besten schreibst du diesen Befehl einmal für jedes Unterverzeichnis, du musst /r hinzufügen und schließlich das allgemeine Verzeichnis RMDir "$INSTDIR" entfernen.
DeleteRegKeyUm die Registrierungsinformationen zu löschen, kannst du in der Regel dem Assistenten folgen, um sie zu generieren.
SetAutoCloseSie kann nur im Abschnitt geschrieben werden, um anzuzeigen, ob sie nach Abschluss der Installation automatisch zur Vervollständigungsoberfläche springt, mit den Parametern true und false
AutoCloseWindowEs scheint keine Wirkung zu haben, die Funktion scheint die gleiche wie die vorherige zu sein, aber sie kann außerhalb des Abschnitts geschrieben werden, und die Parameter sind wie oben
NachrichtenboxDas Nachrichtenfeld kann nur in Abschnitt oder Funktion geschrieben werden, es gibt viele Parameter, darunter Anzeigeinformationen, Anzeigewarnung, ask ja nein, ask okcancelretry usw., geben Sie das Messagebox in VNISEdit ein, um eine Liste aller Parameter zu erhalten, und verbinden Sie dann den im Nachrichtenfeld angezeigten Inhalt
AbbrechenBlockieren, warten auf die Antwort des Nutzers
HideWindowVerstecktes Fenster, das normalerweise zur Deinstallation von Section verwendet wird, löscht sich zuerst selbst, dann andere Dateien (ja, das Programm läuft noch) und schließt das Fenster nach der Löschung automatisch


 Vermieter| Veröffentlicht am 28.01.2024 11:07:28 |
Rückruffunktion

Rückruffunktion bei der Installation

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

Rückruffunktion beim Deinstallieren

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


Die Details sind wie folgt:

onGUIInit:
Der Rückruf wird aufgerufen, bevor die erste Seite geladen wird, und das Installationsprogramm wird angezeigt, sodass man die Benutzeroberfläche anpassen kann.

onInit:
Dieser Rückruf wird aufgerufen, wenn der Installer kurz vor dem Abschluss der Initialisierung ist. Wenn die .onInit-Funktion Abort aufruft, verlässt der Installer sofort.

onInstFailed:
Diese Rückruffunktion wird aufgerufen, wenn der Benutzer nach einem Installationsfehler auf die Schaltfläche "Abbrechen" klickt (wenn der Installer keine Dateien freigeben kann oder das Installationsskript den Abbruchbefehl verwendet).

onInstSuccess:
Der Rückruf wird aufgerufen, bevor die Installation erfolgreich ist und das Installationsfenster geschlossen wird (wenn AutoCloseWindow oder SetAutoClose auf false gesetzt ist, kann dies erst nach dem Klick auf "Schließen" erfolgen).

onGUIEnd:
Der Rückruf wird direkt nach dem Schließen des Installationsfensters aufgerufen. Nutze es, um bei Bedarf alle Plugins im Zusammenhang mit der Benutzeroberfläche freizugeben.

onMouseOverSection:
Der Rückruf wird aufgerufen, sobald die Maus über das Baum-Abschnittsauswahlfeld fährt. So können Sie für jedes Segment eine Beispielbeschreibung festlegen. Die ID des aktuellen Segments, in dem sich der Maus-Hover befindet, wurde vorübergehend bei 0 $ gespeichert.

onRebootFailed:
Diese Rückruffunktion wird aufgerufen, wenn die Reboot-Instruktion fehlschlägt. WriteUninstaller, Plug-ins, File und WriteRegBin können für diese Rückruffunktion nicht verwendet werden.

onSelChange:
Wird aufgerufen, wenn die Optionen der Komponentenauswahlseite geändert werden. Wird häufig verwendet, um SectionSetFlags und SectionGetFlags zu verwenden.

onUserAbort:
Dieser Rückruf wird aufgerufen, wenn der Benutzer auf die Schaltfläche "Abbrechen" klickt und die Installation noch nicht fehlgeschlagen ist. Wenn die Funktion Abbruch aufruft, beendet die Installation nicht.

onVerifyInstDir:
Dieser Callback ermöglicht es Ihrem Installateur, zu steuern, ob der Installationspfad gültig ist oder nicht. Dieser Code wird einmal aufgerufen, jedes Mal, wenn der Benutzer den Installationspfad ändert. Wenn die Funktion Abbruch aufruft, gilt der Pfad zu $INSTDIR als ungültig.

un. GUIInit:
Der Rückruf wird aufgerufen, bevor die erste Seite geladen wird, und der Uninstallations-Dialog wird angezeigt, sodass du die Deinstallationsoberfläche anpassen kannst.

un.onInit:
Dieser Rückruf wird aufgerufen, wenn der Uninstaller kurz vor dem Abschluss der Initialisierung ist. Wenn die un.onInit-Funktion Abort verwendet, verlässt der Uninstaller sofort. Hinweis: Die Funktion kann die $INSTDIR bei Bedarf validieren und/oder modifizieren.

un.onUninstFailed:
Diese Rückruffunktion wird aufgerufen, wenn der Benutzer nach einem fehlgeschlagenen Deinstallationsfehler auf die Schaltfläche "Abbrechen" klickt (wenn der Befehl Abbrechen oder ein anderer fehlgeschlagener Befehl verwendet wird).

un.onUninstErfolg:
Der Rückruf wird aufgerufen, bevor die Deinstallation erfolgreich ist, und schließt das Deinstallationsfenster zu Recht (möglicherweise nachdem der Benutzer auf "schließen" geklickt hat, falls SetAutoClose auf falsch gesetzt ist).

un.onGUIEnd:
Der Rückruf wird direkt nach dem Schließen des Deinstallationsfensters aufgerufen. Nutze es, um bei Bedarf alle Plugins im Zusammenhang mit der Benutzeroberfläche freizugeben.

un.onRebootFailed:
Diese Rückruffunktion wird aufgerufen, wenn die Reboot-Instruktion fehlschlägt. WriteUninstaller, Plug-ins, File und WriteRegBin können für diese Rückruffunktion nicht verwendet werden.

un.onUserAbbruch:
Dieser Rückruf wird aufgerufen, wenn der Benutzer auf die Schaltfläche "Abbrechen" klickt und die Deinstallation nicht fehlgeschlagen ist. Wenn die Funktion Abbruch aufruft, verlässt das Deinstallationsprogramm nicht.

 Vermieter| Veröffentlicht am 28.01.2024 12:07:23 |
Call muss mit Funktionsnamen verwendet werden, die mit "un." beginnen, im Abschnitt Deinstallieren.
Usage: Call function_name | [:label_name]


NSIS hat Namensbedingungen – Funktionen, die aus dem Uninstaller aufgerufen werden, müssen ein Präfix im Namen "un" haben.

Die Lösung lautet wie folgt:

Referenz:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.

 Vermieter| Veröffentlicht am 28.01.2024 15:10:07 |
 Vermieter| Veröffentlicht am 09.05.2024 09:46:16 |
Advanced Installer ist ein leistungsstarker MSI-Installationspaket-Hersteller, der MS Windows-zertifizierte Windows-Installer mit einer benutzerfreundlichen grafischen Benutzeroberfläche, einer intuitiven und sehr einfachen Oberfläche generiert, was es zu einem guten Windows-Installer-Schreiber macht.
 Vermieter| Veröffentlicht am 21.02.2025 17:36:44 |
Inno Setup ist ein kostenloser Windows-Programm-Installer, entwickelt von Jordan Russell und Martijn Laan. Inno Setup wurde erstmals 1997 eingeführt und übertrifft heute viele kommerzielle Installationshersteller in Bezug auf Funktionsumfang und Stabilität.

Website:Der Hyperlink-Login ist sichtbar.

Fall: Ollama Windows-Anwendung,Der Hyperlink-Login ist sichtbar.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com