Grundsätzliches Vorgehen beim Updaten einer Version

Fragen zum AKInstallerMSI
Antworten
madim
Beiträge: 41
Registriert: 30.08.2009, 23:29

Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von madim »

Sehr geehrter Herr Kapust,

ich habe derzeit noch Verständnisschwierigkeiten beim Erstellen und Verwalten von mehreren Versionen von MSI-Setups, daher hier mal grundsätzliche Fragen an Sie.

Ich habe nun ein MSI-Setup erstellt mit der Version 1.0.0, welches beim Kunden schon im Einsatz ist. Jetzt gibt es eine Aktualisierungen auf die Version 1.0.1. Produktcode und Upgradecode wurden nicht geändert. Wenn ich die erstellte MSI-Datei ausführe, kommt die Meldung, dass schon eine Version installiert ist und man diese über Systemsteuerung->Software zunächst deinstallieren muss. Wenn ich anstatt der MSI-Datei die Setup.exe, die vom AKInstallerMSI erstellt wird, ausführe, dann kommt der der Dialog "Fortsetzen des ... Setup Assistent".

Ich möchte neben einem Patch (Update-MSI) auch die Möglichkeit schaffen, dass eine bestehende Installation mit der Haupt-MSI der neuen Version einfach gepatcht werden kann. Wie kann man das erreichen, ohne das eine Deinstallation der älteren Version zuvor nötig ist?

Für Ihre Unterstützung vorab vielen Dank!
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von Andreas Kapust »

Guten Tag!

Eine Minor- oder Small-Aktualisierung erfolgt immer über die Reinstallation (REINSTALL=ALL REINSTALLMODE=vomus), die der Bootstrapper automatisch anwendet. Wird aber das MSI ohne gestartet, kommt es zu der besagten Meldung.

Patch können nur auf Small- und Minor-Update angewendet werden (lesen Sie dazu den Abschnitt in der Anleitung, ab wann es sich um Majorupdates handelt).

Wenn Sie ein Update als MSI (Per Reinstall) oder als Exe ausliefern ist dieses immer eine neue Basisinstallation, auf die mit Patchen aufgebaut werden kann.

Sie können also aus dem Vorgänger-MSI und dem aktuellen MSI eine Patch erstellen, der die letzte Basisinstallation aktualisiert. Beim nächsten Update erstellen Sie aus dem ersten MSI, dem letzten MSI und dem jetzt aktuellen MSI einen Patch, der sowohl auf die reine Basisinstallation als auch auf die gepatchte Basisinstallation angewendet wird und beide auf den aktuellen Stand befördert.

Mit Patchen oder MSI (per Reinstall) ist keine Deinstallation der Vorgängerversion nötig.

Idealerweise benutzen Sie Auslieferung um das jeweilige MSI (+ CABs, Projekt) automatisch zu archivieren.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
madim
Beiträge: 41
Registriert: 30.08.2009, 23:29

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von madim »

Ich möchte erst einmal keinen Patch bereitstellen, der soll später folgen.
Was ich im Moment einfach nur möchte ist, ein aktualisiertes Setup bereitstellen, welches, wenn dieses ausgeführt wird, meine DLLs und andere Komponenten, die ich in der neuen SETUP-Version hinterlegt habe, austauscht.

Wenn ich die EXE starte, in der vermutlich im Gegensatz zu der MSI, der Bootstrapper integriert ist, wird aber keine automatische Reinstallation (REINSTALL=ALL REINSTALLMODE=vomus) vorgenommen?

Es wird dann der Dialog "Fortsetzen des ... Setup Assistenten" angezeigt und wenn ich den Assistenten ausführe, dann werden meine neuen Komponenten auf der Zielmaschine nicht überschrieben. Wenn ich manuell meine DLLs löschen und dann den Vorgang wiederhole, liegen meine DLLs in der richtigen Version vor.

Ich verstehe das im Moment iregendwie nicht?
madim
Beiträge: 41
Registriert: 30.08.2009, 23:29

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von madim »

Also Nachtrag lege ich einen Screenshot meiner Einstellung im Bootstrapper bei, die zeigen, dass ich REINSTALL=ALL REINSTALLMODE=vomus aktiviert habe. Trotzdem geschieht keine Reinstallation durch den Bootstrapper? Wie gesagt, wird immer der Dialog "ResumeDlg" angezeigt, wenn ich die Setup.exe der Version 1.0.1 starte.
Dateianhänge
reinstall.jpg
reinstall.jpg (36.56 KiB) 7828 mal betrachtet
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von Andreas Kapust »

Wenn ich die EXE starte, in der vermutlich im Gegensatz zu der MSI, der Bootstrapper integriert ist, wird aber keine automatische Reinstallation (REINSTALL=ALL REINSTALLMODE=vomus) vorgenommen?
Dann müssen Sie diese Einstellung vermutlich setzen. In neuen Projekte ist dies per Standard aktiv.
Es wird dann der Dialog "Fortsetzen des ... Setup Assistenten" angezeigt und wenn ich den Assistenten ausführe, dann werden meine neuen Komponenten auf der Zielmaschine nicht überschrieben. Wenn ich manuell meine DLLs löschen und dann den Vorgang wiederhole, liegen meine DLLs in der richtigen Version vor.
Das lässt vermuten, dass es sich bei ihrem Update eher um ein Majorupdate handelt, der ProductCode als geändert werden müsste, weil Sie den Featureaufbau zur Vorversion geändert haben.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
madim
Beiträge: 41
Registriert: 30.08.2009, 23:29

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von madim »

Das Setup ist ein "Ein-Featuresetup". Daher wurde an der Featurestruktur nichts geändert.
Es wurden lediglich Dateien aktualisiert, neue sind hinzugekommen und vielleicht Verknüpfungen neu hinzugefügt bzw. geändert.

Wann genau handelt es sich denn um einen Major-Update? Gibt es dafür Anhaltspunkte?
Muss man mit einem Major-Update zwangsläufig den ProductCode ändern?
Wann ändert man denn den ProductUpgradeCode?
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Grundsätzliches Vorgehen beim Updaten einer Version

Beitrag von Andreas Kapust »

Guten Tag!

Das hat nichts mit "EinFeature" zu tun.
Wann genau handelt es sich denn um einen Major-Update? Gibt es dafür Anhaltspunkte?
Wenn Sie eine Datei aus dem Setup auf der Dateien-Seite entfernen und im Anschluss die gleiche Datei wieder hinzufügen, haben Sie den Featureaufbau geändert (weil eine Komponente entfernt wurde). Hinzufügen von Komponenten ist dabei kein Problem, das Entfernen machts. Siehe auch Menü -> Programme -> MSI-Funktionen -> MSI-Dateien vergleichen.
Muss man mit einem Major-Update zwangsläufig den ProductCode ändern?
Ja.
Wann ändert man denn den ProductUpgradeCode?
Siehe Anleitung -> Updates.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Antworten