Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Neues Release ruft automatisch Update auf


6 replies to this topic

tstening

tstening
  • Members
  • 14 posts

Posted 26 June 2006 - 09:22

Hallo zusammen,

wenn ich ein neues Release meines Installers erzeuge und dieses auf einem Rechner ausführe, auf dem schon eine ältere Version installiert ist, erscheint folgender Dialog:

"Dieses Setup führt ein Update für XYZ durch. Möchten Sie fortfahren?"

Der erste Dialog des Installers zeigt dann an:

"Die Ausführung von InstallShield Wizard für XYZ wird wiederaufgenommen. Wizard wird die Installation von XYZ auf Ihrem Computer fertig stellen. Klicken Sie auf Weiter, um fortzfahren."

Das möchte ich aber unter keinen Umständen haben. Der Installer soll entweder ganz normal starten oder - falls das nicht gehen sollte - im Maintenance-Mode starten.

Meine Frage ist also: Wo stelle ich dieses Verhalten ab bzw. wie muss ein neues Release konfiguriert werden, damit dieser Updatemechanismus nicht anspringt?

Viele Grüße,
Tobias wink.gif

tstening

tstening
  • Members
  • 14 posts

Posted 26 June 2006 - 10:18

Wie ich gerade festgestellt habe, muss ich wohl das neue Release unterhalb einer neuen Konfiguration erstellen. Dann startet das Setup so, wie ich es gerne hätte.

Allerdings wird dann auch jedesmal ein neuer Eintrag in Systemsteuerung->Software angelegt. :-(

Bei 4 Auslieferungen pro Jahr an Bestandskunden ist das nicht gerade prickelnd.

Gruss, Tobias

Edited by tstening, 27 June 2006 - 14:40.


tstening

tstening
  • Members
  • 14 posts

Posted 04 July 2006 - 13:45

Jetzt muss ich nochmal nachfragen, denn mir ist das Prinzip mit den Upgrades nicht ganz klar.

Wir liefern 4x im Jahr eine neue Version unseres Programms an Abokunden aus.

Wenn ich jetzt beim Erzeugen des neuen Installers das Release beibehalte und einfach nur einen Buildprozess starte, bekomme ich einen Installer, der ums verrecken ein Minor Upgrade durchführen möchte.

Nun habe ich kurzerhand die Upgrades abgeschaltet (Media -> Upgrades : Small/Minor Upgrade Settings -> Disable). Jetzt fragt er erfreulicherweise nicht mehr, ob er ein Upgrade durchführen soll. Stattdessen bekomme ich zu hören, dass eine andere Version des Produkts schon installiert sei und ich es über Systemsteuerungsoption "Software" konfigurieren oder entfernen solle.

Erzeuge ich jedoch ein neues Release, dann startet der Installer ganz normal, legt aber dann auch einen neuen Eintrag in Systemsteuerung -> Software an.

Was ich gerne hätte, wäre folgendes:

Ein neuer Installer soll ganz normal starten, d.h. ohne Upgradefunktion und soll idealerweise auch keine weiteren Einträge in Systemsteuerung -> Software anlegen.

Warum ich das gerne hätte:

Ein Upgrade schiebt ja nur neuere Versionen der Dateien auf Platte, die eh schon installiert sind. Unsere Kunden tragen jedoch über den Installer Registrierinformationen ein. Wenn sie im Rahmen des Abos eine erweiterte Funktionalität gekauft haben, sollen sie die Installationschlüssel auch dann eintragen können, wenn sie einen neuen Installer bekommen und den auf einem System starten, auf dem schon eine ältere Version des Programms installiert ist. Der Installer darf also nicht nur ein Upgrade machen, sondern muss vollständig durchlaufen, wie bei einer Neuinstallation.

Alternativ könnte ich mir auch vorstellen, dass der Installer die alte Version automatisch deinstalliert und dann ganz normal die neue Version installiert. Ist sowas vielleicht über ein Major Upgrade möglich?

Viele Grüße,
Tobias

ali

ali
  • Full Members
  • 1,008 posts

Posted 05 July 2006 - 08:35

über ein Major Upgrade wird die alte Version deinstalliert, und die neue Version installiert. Wir hier machen nur Major Upgrades, da es so am wenigsten Probleme mit Dateiversionen gibt. Für ein Major Upgrade behälst du den Upgrade Code des alten Produkt bei, änderst den Product und Paket Code und die Produkt Version an erster Stelle. Weiter musst du im Upgrade View von deinem Projekt noch eintragen bis zu welcher Version die alte Software deinstalliert werden und durch die neue ersetzt werden soll.

PS: Ein Minor Upgrade wird ausgeführt, wenn sich der Paket Code ändert. Wenn du also in deinem Release View eingetragen hast "Paket Code bei jedem Build erzeugen" = ja, dann wird nach jedem Build ein Minor Upgrade auf die ältere Version angeboten, sofern kein Major Upgrade erfolgt.

Edited by ali, 05 July 2006 - 08:36.


tstening

tstening
  • Members
  • 14 posts

Posted 06 July 2006 - 13:05

Danke für die Hinweise. Meine Testkonfiguration sieht jetzt folgendermaßen aus:

Ich habe zwei Releases, eines mit Version 9.0.1.1 und eines mit 9.0.1.2. Create Package Code ist auf No gesetzt. Der Upgrade Code ist bei beiden Releases identisch, Product Code und Package Code sind zwischen den Releses unterschiedlich.

Weiterhin habe ich ein Upgrade Entry erzeugt, in dem der Upgrade Code aus den beiden Releases steht. Dier Minimum Version ist 9.0.1.1.

Zuerst installiere ich das Programm mit dem Release 9.0.1.1. Danach starte ich den Installer des Releases 9.0.1.2. Er startet normal, wie bei einer Neuinstallation. Vor dem Kopieren der Dateien deinstalliert er offensichtlich die alten Dateien.

Zum Schluss befindet sich in Systemsteuerung Software nur ein Eintrag.

Damit macht der Installer genau das, was ich mir gewünscht habe. biggrin.gif

Nochmals vielen Dank für die Tipps.

Viele Grüße,
Tobias

Edited by tstening, 06 July 2006 - 13:13.


ali

ali
  • Full Members
  • 1,008 posts

Posted 06 July 2006 - 13:23

eines ist noch nicht so ganz OK, bei einem Major Upgrade wird normal die erste stelle (Major Number) erhöht. Also anstatt 9.x.x die 10.x.x. Du hast die Version an vierter Stelle erhöht. so weit ich weiß, berücksichtigt das der Installer gar nicht. Ich würde daher nochmal anhand eines Protokolls prüfen ob wirklich alles gut läuft bzw. die Versionerhöhung weiter vorne machen.

tstening

tstening
  • Members
  • 14 posts

Posted 06 July 2006 - 14:31

Wenn man während der Ausführung des Installers das Programmverzeichnis beobachtet, werden auf jeden Fall alte Dateien gelöscht, bevor neue installiert werden. Ich gehe also zumindest derzeit davon aus, dass es korrekt funktioniert.

Eine Prüfung des Vorgangs kann aber sicher nicht schaden.

EDIT: Was mir gerade auffällt ist, dass der Installer anscheinend doch nicht 100%ig funktioniert. Jetzt hat er eben einen zweiten Eintrag in Systemsteuerung -> Software angelegt. Das lässt darauf schließen, dass die Deinstallation nicht hingehauen hat, also kein Major Upgrade durchgeführt wurde.

Scheint wohl doch so seine Probleme mit der Veränderung der letzten Stelle der Versionsnummer zu haben.

Tobias

Edited by tstening, 06 July 2006 - 14:57.