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

Probleme mit Upgrade


1 reply to this topic

Sandor1990

Sandor1990
  • Full Members
  • 33 posts

Posted 14 June 2012 - 15:41

Hallo zusammen,

wir haben aktuell ein neues Release unserer Software herausgebracht (von 10.0.1 auf 10.0.2). Laut Flexera-Online-Hilfe http://kb.flexerasof...rMinorSmall.htm entspricht das dann einem Minor-Upgrade (um genau zu sein habe ich sogar gelesen, da sich die Productnumber folgendermaßen zusammenstellt: major.minor.small, dass es sich um ein small-upgrade handelt. Was ist hier nun korrekt?).
Eigentlich war ich der Meinung, da nur einige dlls erneuert bzw. hinzugefügt und entfernt wurden, dass das ganze kein Problem sei. Wenn ich jedoch in InstallShield (2011) unter Media=>Upgrades ein neues Minor Upgrad erstelle und das vorherige Setup-Paket als upzugradendes angeben, spuckt der Compiler folgende Fehler aus:

1. The file [1] with a target of [2] appears to have been removed from the setup, but does not appear in the RemoveFile table. This file will not be removed from the target machine when an upgrade is run unless the RemoveFile table has been authored.

2. The Component [1] identified by ComponentID [2] is missing from the newest version of your setup. You cannot delete components and still do a minor/small upgrade. You must perform a major upgrade.

Zu 1:
Bedeutet das, dass ich jede dll, die gelöscht wird auch in der RemoveFile table angeben muss? (Falls ja, wo finde ich diese?)

Zu 2:
Laut der InstallShield-Beschreibung im Menüpunkt Organization=>Components sind Components ein Zusammenschluss ähnlicher Applikationsdateien ("Components are a grouping of similar application data..."). Meinem Verständnis nach heißt das, dass EINE Komponente für dlls erstellt wird. Wenn nun eine oder mehrere dlls modifiziert oder gelöscht werden bleibt die Komponente bestehend. Oder habe ich das falsch verstanden?

Evtl. noch als Zusatzinfo: Die verwendeten Dateien für unsere Software werden als "Link" auf einen Ordner ins Setup eingebunden (da jederzeit dlls hinzu- bzw. hinwegkommen können).

#################################################

Da das ganze nicht funktioniert hat, habe ich ein Major-Upgrad erstellt (also den Product-Code geändert und unter Media=>Upgrades ein Major-Upgradehinzugefügt).

Allgemeine Upgrade Eigenschaften:
Common:
- Completely uninstall old setup befor installing new setup...

Das Major-Upgrade besitzt folgende Eigenschaften:

Common:
Major Upgrade:
- Product Sharing my Upgrade Code
Product Version:
- Any earlier Version

Advanced:
Upgrade Code: {00000000-0000-0000-0000-000000000000}
Minimum Version:
Include minimum Version: Yes
Maximum Version: ***ALL_VERSIONS***
Include MAximum Version: No
Lagnuage: 1033
Exclude Specified Languages: No
Detect Only: No
Detect Property: MAJORUPGRADe
Only Remove Specified Features
Continue On Failure: No
Migrade Feature States: Yes


Bei manchen Tests wurden nun nicht alle Dlls im Installationsorder gelöscht und ersetzt - Obwohl dies unter den allgemeine Upgrad-Einstellungen angewählt ist (es KÖNNTE sein, dass diese Dlls zwischenzeitig per hand ausgetauscht wurden zwischen Release 10.0.1 und 10.0.2 - Spielt das eine Rolle?)
Nach welche Kriterien werden Dateien im Installationsordner gelöscht? Werden nur jene Dateien gelöscht, die auch installiert wurde?


Ich freue mich über jede Antwort von Euch,
Vielen Dank!

Gruß,
Sand0r

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 14 June 2012 - 19:51

Ob Major oder Minor Update hat nichts mit der Versionsnummer zu tun, sondern nur damit, ob der ProductCode geändert wurde.
Small Update ist fast identisch zum Minor Update, nur dass beim Small auch die ProductVersion gleich bleibt.

Wenn Komponenten aus dem Setup entfernt werden, muss man ein Major Upgrade machen. (Es gibt noch ein paar weitere Dinge, die bei Minor und Small Updates tabu sind).

Für jede DLL oder EXE sollte eine eigene Komponente angelegt werden, siehe Hilfe-Thema "Defining Installer Components".

Beim Major Upgrade wird zuerst die alte Version deinstalaltiert. Wenn dabei was stehen bleibt kann das auch an manuellen Manipulationen liegen. Funkltioniert denn die normale Deinstalaltion (der alten Version) über die Systemsteuerung, oder bleiben da auch Dateien stehen.