none
Visual Studio 2013 / InstallShield 2015 Limited Edition / Einträge in der Systemsteuerung RRS feed

  • Frage

  • Hallo,

    ich erstelle mit InstallShield 2015 Limited Edition unter Visual Studio 2013 das Setup für meine dialogbasierende Anwendung. Für meine dialogbasierende Anwendung gibt es immer mal wieder eine neue Version, zu der ich dann ein neues Setup zum Installieren bei den Anwendern erstelle. Jetzt habe ich in der Systemsteuerung des Rechners vom Anwender gesehen, dass meine dialogbasierende Anwendung mehrmals eingetragen wird. So wie hier:

    Bei jedem Erstellen eines Setup habe ich die drei rot umrandete Merkmale aktualisiert:

    Ich möchte aber Folgendes erreichen:

    1.) Beim Ausführen des Setups die vorhandene Version meiner dialogbasierenden Anwendung ohne vorherige Deinstallation überschreiben 

    2.) Nur ein Eintrag der aktuellen Version meiner dialogbasierenden Anwendung in der Systemsteuerung

    Was muss ich beim Erstellen des neuen Setups tun, damit diese beiden Anforderungen erfüllt werden?

    Danke im Voraus und viele Grüße

    Bernd

    Dienstag, 30. April 2019 12:04

Antworten

  • Hallo Florian,

    ich habe in der Zwischenzeit die Lösung für meinen gewünschten Ablauf im Beitrag 74 unter dem Link .net gefunden.

    1.) Ich musste einmalig unter Upgrade Paths einen neuen Wert erstellen und die Werte für Min Version auf 00.00.0000 und Max Version auf 99.99.9999 setzen.

    2.) Für jedes neue Setup muss ich Product Version und Product Code aktualisieren.

    Danke nochmals an alle für die Informationen.

    Viele Grüße

    Bernd



    • Bearbeitet Bernd Föry Dienstag, 7. Mai 2019 08:04
    • Als Antwort markiert Bernd Föry Dienstag, 7. Mai 2019 09:13
    Dienstag, 7. Mai 2019 08:01

Alle Antworten

  • Hallo,

    vielleicht solltest du direkt bei denen fragen:

    https://community.flexera.com/t5/InstallShield-Forum/bd-p/InstallShield-Discussion

    Bei anderen Setup-Tools (ich nutze InnoSetup) gibt es das Phänomen nicht.

    Gruß Guido


    Donnerstag, 2. Mai 2019 07:58
  • Hallo Bernd.

    Windows Installer identifiziert ein Update/Upgrade über den Upgrade Code, dieser muss für ein Produkt gleich bleiben. Ändere den Upgrade Code nicht, solange Du dein Produkt aktualisieren möchtest.

    Da es in deinem Szenario offensichtlich schon mehrere Upgrade Codes gibt, bleibt eigentlich nur das befüllen des Upgrade Tables (bzw. eine Custom Action wäre auch denkbar), um alle inzwischen installierten Versionen zu entfernen, dies dürfte von der InstallShield Limited Edition nicht umfasst sein.

    Der Product Code muss nur bei Upgrades (z. B. nötig bei Änderung in den Komponenten) geändert werden, bei Updates darf dieser gleich bleiben.


    - Gruß Florian

    Donnerstag, 2. Mai 2019 08:58
  • Hallo Guido,

    danke für Deine Antwort. Das würde ich als letzte Möglichkeit überlegen.

    Viele Grüße

    Bernd

    Donnerstag, 2. Mai 2019 12:06
  • Hallo Florian,

    danke für Deine Antwort.

    Wenn ich keines der drei Merkmale Product Version, Product Code und Upgrade Code ändere, erhalte ich beim Installieren diese Meldung:

    Somit muss ich zuerst meine Anwendung in der Systemsteuerung deinstallieren und kann erst danach das neue Setup ausführen. 

    Ich würde aber gerne mit dem Ausführen des neuen Setups die alte Installation überschreiben/aktualisieren. Eine Lösung dafür habe ich aber leider noch nicht gefunden.

    Viele Grüße

    Bernd

    Donnerstag, 2. Mai 2019 12:12
  • Wenn ich keines der drei Merkmale Product Version, Product Code und Upgrade Code ändere, erhalte ich beim Installieren diese Meldung:

    Somit muss ich zuerst meine Anwendung in der Systemsteuerung deinstallieren und kann erst danach das neue Setup ausführen. 

    Das ist auch korrekt so.

    Ich würde aber gerne mit dem Ausführen des neuen Setups die alte Installation überschreiben/aktualisieren. Eine Lösung dafür habe ich aber leider noch nicht gefunden.

    Ich habe geschrieben das der Upgrade Code gleich bleiben muss, nicht dass es falsch wäre die anderen Beiden Werte zu ändern.

    Also nochmal:

    • Der Upgrade Code identifiziert dein Produkt und muss gleich bleiben, solange Updates/Upgrades für dieses Produkt erfolgen sollen.
    • Der Product Code darf gleich bleiben, wenn die Änderungen einem Update entsprechen und muss geändert werden, wenn ein Upgrade erfolgt.
    • Die Versionsnummer muss erhöht werden.

    Wenn die vorherige Version deinstalliert werden soll und nicht aktualisiert, ist es immer ein Upgrade und eine Änderung des Product Codes ist notwendig.
    Eine Übersicht, wann was geändert wird, speziell für InstallShield: Updating the Package Code, the Product Version, and the Product Code 

    Anm.: Wenn Product Version und Product Code geändert werden, ist eine Prüfung auf eine neuere Version nötig, damit ein älteres Installationspaket nicht ein Neueres ersetzt.


    - Gruß Florian



    • Bearbeitet Florian Haupt Donnerstag, 2. Mai 2019 12:44 Ergänzung, Anmerkung
    Donnerstag, 2. Mai 2019 12:40
  • Halo Florian,

    bevor ich die Informationen zu Deinem Link lese habe ich noch Folgendes gemacht:

    1.) Alle Versionen am Anwender-Rechner deinstalliert.

         -> nach meinem Verständnis ist meine dialogbasierende Anwendung damit unbekannt

    2.) Ein neues Setup mit der Product Version 19.30.000, neuem Product Code und neuem Upgrade Code erstellt.

         -> entspricht nach meinem Verständnis einem Setup für die Erstinstallation am Anwender-Rechner

    3.) Am Anwender-Rechner das Setup ausgeführt

         -> Installation funktioniert wie gewünscht

    4.) Für das neue Setup die Product Version auf 19.31.000 geändert

    5.) Neues Setup erstellt

    6.) Neues Setup am Anwender-Rechner ausgeführt.

         -> wieder die oben genannte Meldung des Windows Installers

    Was mach ich an diesem Ablauf noch falsch?

    Viele Grüße

    Bernd

    Donnerstag, 2. Mai 2019 13:08
  • Hallo Bernd,

    das ist so richtig, für die Installation eines Updates ist die Angabe von Parametern nötig, die dem Windows Installer informieren das ein Update installiert werden soll. Ich schätze, dass die InstallShield Limited Edition dort nicht unterstützt. Ich empfehle daher das Setup als Upgrade zu gestalten, d. h. den Product Code mit zu ändern.


    - Gruß Florian

    Donnerstag, 2. Mai 2019 13:15
  • Hallo Florian,

    die Informationen aus Deinem Link verstehe ich so, dass meine Wünsche dem Small Update entspricht. Das entsprechende Merkmal Package Code im Bereich Summary Information Stream ist in meiner InstallShield Limited Edition nicht vorhanden. Ich denke inzwischen auch, dass die InstallShield Limited Edition mein Vorhaben nicht unterstützt.

    Danke nochmals und viele Grüße

    Bernd


    Donnerstag, 2. Mai 2019 13:48
  • Hallo Bernd,

    das von Dir Eingangs beschriebene Verhalten entspricht einem Major Upgrade, ist also sehr wohl machbar. Den Package Code wird InstallShield mit jedem Build für dich ändern, da dies ohnehin erforderlich ist, daher musst Du dich mit diesem Detail nicht beschäftigen.


    - Gruß Florian

    Donnerstag, 2. Mai 2019 14:00
  • Hallo Florian,

    laut Deinem Link muss ich beim Major Upgrade die Merkmale Package Code, Product Version und Product Code ändern. Wie besprochen ist dies beim Merkmal Package Code nicht möglich/notwendig. Also ändere ich nur die Merkmale Product Version und Product Code.

    Dadurch erscheint wie gewünscht die oben genannte Meldung vom Windows Installer nicht mehr, aber ich habe wieder mehrere Einträge in der Systemsteuerung:

    Irgendwie drehe ich mich im Kreis.

    Viele Grüße

    Bernd

    Freitag, 3. Mai 2019 07:45
  • Hallo Bernd,

    Also ändere ich nur die Merkmale Product Version und Product Code.

    Ganz genau.

    Dadurch erscheint wie gewünscht die oben genannte Meldung vom Windows Installer nicht mehr, aber ich habe wieder mehrere Einträge in der Systemsteuerung.

    Es wird nur das Paket mit dem gleichen Upgrade Code deinstalliert, weitere mit anderen Upgrade Code bleiben stehen.


    - Gruß Florian

    Montag, 6. Mai 2019 07:12
  • Hallo Florian,

    leider wird die letzte Version nicht deinstalliert und es sind zwei Einträge in der Systemsteuerung vorhanden.

    Ich bin so vorgegangen:

    1.) Alle Versionen deinstalliert

    2.) Setup für 19.00.0000 erstellt und installiert:

    -> soweit alles in Ordnung

    3.) Neues Setup mit neuer Product Version 19.00.0001 und neuem Product Code erstellt und installiert:

    -> leider keine Deinstallation der alten Version und somit zwei Einträge in der Systemsteuerung.

    Viele Grüße

    Bernd


    Montag, 6. Mai 2019 12:20
  • Hallo Florian,

    ich habe in der Zwischenzeit die Lösung für meinen gewünschten Ablauf im Beitrag 74 unter dem Link .net gefunden.

    1.) Ich musste einmalig unter Upgrade Paths einen neuen Wert erstellen und die Werte für Min Version auf 00.00.0000 und Max Version auf 99.99.9999 setzen.

    2.) Für jedes neue Setup muss ich Product Version und Product Code aktualisieren.

    Danke nochmals an alle für die Informationen.

    Viele Grüße

    Bernd



    • Bearbeitet Bernd Föry Dienstag, 7. Mai 2019 08:04
    • Als Antwort markiert Bernd Föry Dienstag, 7. Mai 2019 09:13
    Dienstag, 7. Mai 2019 08:01