Teil3 - Produktversion-Dialog

Antworten
Andreas Kapust
Administrator
Beiträge: 1103
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Teil3 - Produktversion-Dialog

Beitrag von Andreas Kapust »

Bild


Der Dialog-Produktversion bietet eine Fülle von Einstellungen und ist für die unterschiedlichsten Begebenheiten gedacht und somit der komplexeste von allen Dialogen des Update-Download-Tools von AKApplications. Aus diesem Grund widmen wir diesem Dialog einen eigenständigen Teil.

Der Dialog im Bild Oben gliedert sich in verschiedene Segmente die wir von Oben nach Unten abarbeiten werden, Namen von Eingabefeldern sind in diesem Text Bold-gekennzeichnet.


Einstellung Lokale Einstellung:

Wie in der Produkt-Einstellung (Teil 2) ist ID ein Bezeichner der von UDT selbst gewählt und nicht änderbar ist.

Name ist Ihr Produktname wie in den Produkt-Einstellung bereits erwähnt (Teil 2), kann aber davon abweichen. Wenn das Update z. B. ein Addon des Produktes ist und nicht etwa eine Vollinstallation oder ein Update.
Ein Addon folgt aber in Prinzip den gleichen Regel wie ein Update.


Einstellung Produktversion:

Kommen wir aber erst zu den unterschiedlichen Bezeichnungen, Vollversion oder Update werden durch die Einstellung Typ festgelegt. Beiden gemeinsam ist, das Feld Version.

Version folgt den üblichen Regeln: a.b.c.d, jeder Abschnitt kann Werte von 0 bis 65535 annehmen und wird auch Abschnittsweise geprüft, die Stellen c und d können entfallen. Beispiel 1.1.100 < 1.10.0.

Wobei Vollversion immer eine komplette Installation sein muss, welches alle Daten enthält, welche zur reinen Lauffähigkeit Ihres Produktes benötigt werden, man spricht hier auch von Folgeinstallation, da diese nach der Erstinstallation folgt.

Erstinstallation ist in den meisten Fällen die vom User manuell angestoßene Installation.

Folgeinstallation können als Updates bezeichnet werden - das sie ja updaten - in UDT sind damit aber nicht-komplett-Installationen gemeint.

Updates sind in meisten Fällen Mini-Setups, die nur die Dateien enthalten die aktualisiert wurden oder aber Patche, die Deltas von Dateien enthalten.

Delta bedeutet, nur was sich und wo es sich geändert hat wird geliefert. Beispiel: Ein Textdatei beginnt mit 100 x A, einer 2 und 200 x B. Ein Delta sagt dann ändere Stelle 101 von 2 in 3 und ist damit um ein vielfaches kleiner als eine neue Datei mit 301 Zeichen. Ein Delta kann auch Bereiche entfernen oder einfügen worauf bestehende Bereiche verschoben werden, dieses weiter auszuführen sprengt den Rahmen dieses Tutorials. Sowohl der AKInstallerMSI als auch er AKInstaller können Delta-Patche erstellen.

Zusammenfassend: Vollinstallation = Alle Dateien und Daten, alleinstehend lauffähige Applikation. Update = Nur geänderte Dateien oder Daten, nicht alleinstehend lauffähig.

Updates müssen also eine Vorherige Version haben, die sich genau identifizieren lassen muss, dafür ist das Feld Vorversion gedacht. Updates können aufeinander aufbauen. Erstinstallation 1.0 → Vollinstallation 1.2 → Update 1.3 → Update 1.4 → Update 1.5.

Bedeutet
Update Version 1.3 hat als Vorversion 1.2,
Update Version 1.4 hat als Vorversion 1.3 und so weiter.

Umkehrschluss, Update Version 1.5 lässt sich nicht installieren, wenn nur Version 1.2 installiert ist, die Kette also unvollständig aufgenommen wurde.

Gibt es eine Vollversion 1.5 wird der kürzeste Download-Weg genommen. Gibt es Vollversion 1.6 wird direkt von 1.0 auf 1.6 gesprungen.

Vorherige Version hat den gleichen Aufbau wie Version muss aber kleiner als Version sein, da es sich ja auf eine vorangegangenen Installation bezieht.

Status: Häufig möchte man außerhalb der Releaseline für z. B. Tests, Betaversion zur Verfügung stellen, die dann entsprechen bezeichnet werden müssen (Schalter Beta-Bezeichnung), die meisten Kunden arbeiten natürlich eher mit einer stabilen Releaseversion.

Betaversionen können zum Beispiel für die Allgemeinheit ausgeblendet sein (siehe Tabcontrol Ausblenden, dazu aber später mehr) um nicht allen Kunden angeboten zu werden.

Level bezeichnet den Auswahl-Status im Update-Auswahl-Control, Nicht ausgewählt, ausgewählt, ausgewählt nicht abwählbar, nicht ausgewählt und nicht anwählbar etc., sowie ausgeklappt, was bedeutet die Änderungstexte werden sofort angezeigt.

Der Schalter Was hat sich geändert öffnet ein Kontextmenü, mit dem Sie einen Änderungstexte oder Update-News-Text (in Teil 1 erwähnt) anlegen oder ändern können, eine bereits bestehende Textvariable auswählen, eine neue Textvariable anlegen oder den Text archivieren können.

Auf den ersten Punkt gehen wie genauer in Teil 4 ein, der letzte Punkt: Text archivieren verschiebt den aktuellen Text mit Ihren Update-News in ein Archiv, wobei die nur die X letzten Änderungstexte behalten werden. Das X stellen Sie auf der UDT-Programm-Seiten unter Maximal X Versionseinträge im Archiv halten ein.

Das Ganze sorgt dafür, das dem Endnutzer beim Update der aktuelle Änderungstext und X weitere (die verpasst wurden) angezeigt werden.

Wählen Sie Text archivieren aus, wird eine Version für diesen Text vorgeschlagen, diese sollten die des vorherigen Releases sein.

Erscheinungsdatum muss auf das Release-Datum gestellt werden, wird aber beim Klick auf OK auch abgefragt.

Ziel-PC/Server Einstellungen:

Das Serververzeichnis ist der Ordner in dem das Update liegt. Dieser Pfad wird zusammengesetzt aus den Einstellungen der Seite Update-Server → URL + Verzeichnis + Serververzeichnis + Dateiname des Archives/Datei (siehe Thema Dateienlisten in Teil 4 unten). Beachten Sie, das einige Server zwischen Groß und Kleinschreibung unterscheiden! Diese Feld kann kann leer bleiben, wenn nicht benötigt.

Beispielaufbau:
URL: https://meine_firma.com/ (Seite Update-Server)
Verzeichnis: downloads (Seite Update-Server)
Serververzeichnis: produkt1 (Dialog Produktversion)
Datei: D:\Produkte\Downloads\Produkt1\Update.zip (Seite Produkte → Dateienliste)

Ergibt: https://meine_firma.com/downloads/produkt1/Update.zip.
Nicht gefunden auf Linuxservern würde: https://meine_firma.com/Downloads/Produkt1/update.zip (Groß/Kleinschreibung).

Der UpgradeCode muss den Produkteinstellungen (Teil 2) gleichen und bei MSI Installationen zwingend dem UpgradeCode der MSI-Datei entsprechen.

Das ComboBox-Control (ausklappbare Liste) Versionsinfo aus ermöglicht die Auswahl
1: ProductCode (für MSI Installatonen)
2: Registry-String-Eintrag
3: Registry Dateipfad
4: Pfadvariable
5: Ini-Datei

Je nach Auswahl werden weitere Auswahlfelder angezeigt bzw. andere ausgeblendet.

ProduktCode (bei der Auswahl 1) muss den ProductCode der MSI beinhalten. Ändert sich der ProduktCode des MSI, z. B. durch ein Majorupdate, haben Sie die Möglichkeit den alten ProductCode zu archivieren (dieser wird dann nach Weitere Produktcodes verschoben, siehe Unten).

Registry-Zweig (bei der Auswahl 2) ermöglicht die Suche im 32 und 64 oder 32 oder 64 Bit-Zweig.

Registry (bei der Auswahl 2) sollten auf HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\XXXX\DisplayVersion gestellt werden XXXX ist eine GUID oder ein beliebiger Bezeichner (der Assistent sollte das für Sie ausgelesen haben).

Registry (bei der Auswahl 3) muss auf einen Registry-Eintrag zeigen der einen Pfad auf einer versionierte Datei beinhaltet, z. B. auf die EXE der Applikation, welche eine Versionsnummer haben muss.

Pfadvariable (bei der Auswahl 4 + 5), hier wählen Sie eine Variable die Sie auf der Seiten Pfadvariablen angelegen haben. Dieses ist schlicht wie Auswahl 3 ein Ordnerpfad z. B. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\XXXX\InstallLocation (falls vorhanden).

Datei (bei der Auswahl 4) muss eine versionierte Datei sein.

Beispiel:
Pfadvariable HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\XXXX\InstallLocation = C:\Programme\Produkt1
Datei = App.exe

Datei (bei der Auswahl 5) Name der Ini-Datei.

Beispiel:
Pfadvariable HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\XXXX\InstallLocation = C:\Programme\Produkt1
Datei = Versionen.ini

INI-Sektion (bei der Auswahl 5) ist der Name der Sektion in der Ini-Datei.

INI-Schlüssel (bei der Auswahl 5) ist der Schlüssel in der Sektion in der Ini-Datei.

Benötigt Administratorrechte zur Installation, wenn das Setup höhere Rechte benötigt, was der Normalfall ist.

Dieses Update kann vom Benutzer per Menü ausgeblendet werden ermöglicht es Benutzern bestimmte Updates oder Addons zu übergehen.

Passwortschutz Einstellungen:
Hiermit, können Sie die Ausführung mit einem Passwort sichern einen Text festlegen, der in dem Dialog erscheint und eine URL festlegen die als Hyperlink im Passwort-Dialog angezeigt wird.


Bild

Ausblenden Einstellungen:
Dieser Einstellungen erlauben das Ausblenden von Updates, z. B. für Nutzer von Betaversionen.

Wenn Registry erwarten eine entsprechenden RegistryKey.

Registry-Zweig gibt an, ob dieser im 32 oder 64 Bit Zweig gesucht wird.

Bedingung ermöglicht multiple Auswertungsmöglichkeiten.

Lautet die Bedingung "nicht den Wert hat" oder "den Wert hat" können Sie hier mehrere durch Komma getrennte Werte angeben. Einzelwerte sind natürlich ebenfalls möglich, die zu testende Zeichenkette darf aber kein Komma enthalten.

Weitere Produktcodes Einstellungen:
Hier werden alle archivierten MSI-ProductCodes gelistet, damit Update diese finden und das Produkt aktualisieren kann. Über die Schalter Hinzufügen können Sie MSI-ProductCodes, falls sie den Aufruf von MSI-ProductCodes archivieren vergessen haben und gelistete MSI-ProductCodes Entfernen.


Sollten noch Fragen zu diesem Dialog bestehen bestehen schicken Sie uns gern eine Mail, wir werden diese Einführung dann entsprechend erweitern.

Teil 4 beschäftigt sich mit Änderungstexte oder Update-News-Text, wie immer Sie es benennen möchten.
Antworten