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

Upgrade ALLUSERS


9 replies to this topic

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 24 October 2007 - 15:22

Hallo,

ich habe folgendes Problem,
bei meinem alten MSI Projekt habe ich leider ALLUSERS = 0 gehabt. Dieses MSI Projekt ist mit InstallShield 12 Express erstellt worden.
Da die Software aber für alle Benutzer sein soll, muss ich in der nächsten Version ALLUSERS = 1 haben, zudem soll das es mit InstallShield Pro 2008 erstellt werden.

Leider bekomme ich es nicht hin, die Software wird zwar richtig installiert allerdings ist unter dem User, der die Alte Version installiert hat, die alte Software Version noch zu sehen (Installierte Software).
Unter alle anderen Usern ist nur die neue Version zu sehen.

Der Upgrade-Code ist gleich mit der Express Version.
Der Produkt-Code ist bei der neuen Version geändert.
Der Paket-Code ist gleich mit dem Upgrade-Code.

Was kann ich (noch) tuhen?

Gruß


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 October 2007 - 08:16

Du kannst nicht per Upgrade den User-Kontext wechseln. Der Benutzer muss die alte Version manuell deinstallieren (oder du machst das per setup.exe die zuerst die alte Version deinstalliert).

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 25 October 2007 - 14:01

Danke für die schnelle Antwort.

Da ich um eine komplette neuinstallation nicht herumkomme, habe noch eine Frage:

Wie bekomme ich es hin das beim Starten überprüft wird ob die alte Version noch installiert ist und das bei vorhanden sein der Version eine Meldung erscheint das die Alte version zu deinstallieren sein soll.

Gruß

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 29 October 2007 - 13:54

Hi,

habe über die Systemsuche nach der UPGRADE UID gesucht und das ergebniss als Intallationsbedingung eingebunden, allerdings funktioniert das nicht so richtig.

Das habe ich alles gemacht:
Systemsuche -> Ordnerpfad, wie von einem Registrirungseintag angegeben -> HKLM + SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\xxxxxxx -> Wert speichern in Eigenschaft "OLDMSIVERSION" und in einer Installationsbedingung verwenden.

Unter den Installationsbedingen habe ich dann stehen:
Bedingung: OLDMSIVERSION
Meldung: BLABLABLA

Bei der Bedingung habe ich verschidene Dinge Probiert:
OLDMSIVERSION=1
OLDMSIVERSION=0
OLDMSIVERSION<>1
OLDMSIVERSION<>0
NOT OLDMSIVERSION

allerdings erschein die Meldung immer, egal ob der REG eintag vorhanden ist oder nicht.


Gruß


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 29 October 2007 - 16:44

Schau dir doch mal den tatsächlichen Wert des Proeprties an. Steht denn in dem Registry-Eintrag wirklich ein Pfad (der muss mit \ enden)?

Um zu prüfen, ob das Vor-Produkt installiert ist, könntest du Installer.ProductState (in einem Script) oder MsiQueryProductState (in einer DLL) aufrufen.

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 29 October 2007 - 17:04

Hallo,

ich habe versucht mit den Wert beim Debugen anzeigen zu lassen, allerdings wird er nicht angezeigt.

In dem Reg Eintag steht kein Pfad drin.
Ich möchte eigendlich nur überprüfen ob der Schlüssel existiert:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\0EC4B6D6022798C4CAA014D19AACD04C

Wenn dieser vorhanden ist, soll die MSI nicht starten, andernfalls schon (Installationsbedingung).


Gruß




Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 29 October 2007 - 17:33

Steht in den Eintrag irgend was drin? Windows Installer kann nicht unterscheiden, ob der Eintrag nicht existiert, oder leer ist.

Als Typ verwende "Raw" und nicht "Pfad"

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 30 October 2007 - 12:44

Den Typ habe ich auf RAW geändert.
Allerdings ohne erfolg.

Was den Eintrag angeht, steht dort eine REG_SZ Zeichenfolge.
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\0EC4B6D6022798C4CAA014D19AACD04C
Reg_SZ: 005014B32081E884E91FB41199E24004
Wert ist leer.

Der Odner name entspricht dem Update Code der alten Software und der Reg_SZ eintrag dem Produkt Code.

Was kann ich noch tuhen?

Gruß

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 31 October 2007 - 09:53

Ich denke, es wäre besser, das über Installer.ProductState oder MsiQueryProductState abzufragen.

Blackwulf

Blackwulf
  • Full Members
  • 13 posts

Posted 23 November 2007 - 15:02

Hallo,
ich habe es hin bekommen, das ich eine schon Installierte Software, aus dem Kontext ALLUSERS=0 zu ALLUSERS=1 verschieben kann.

Dazu müssen in der Registry verschiedene Pfade verschoben werden und ein Key von "0" auf "1" geändert werden.


Sollte jemand Interesse haben oder auch ein solches Problem haben bitte bei mir melden, dann kann ich ihm die Prozedur genau erklären.

Gruß