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

Maintenece zerstört Setup


13 replies to this topic

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 16 March 2007 - 20:13

Hallo zusammen,
ich habe ein MSI-Paket mit sechs Features geschnürt. Zwei Features ("Basis" und "Basis_Reg") sind immer zu installieren, die anderen vier sind optional. Wenn das Setup ein zweites mal aufgerufen wird, startet ganz normal der Maintenance Mode (Abfrage ob Reparieren, Entfernen etc.). Seltsam ist jedoch, dass hinterher die Registry-Einträge (installiert durch Feature "Basis_Reg") weg sind. Im Logfile kann man sehen, dass "RemoveExistingProducts" wegen Maintenance Modus übersprungen wird. "RemoveRegistryValues" wird ausgeführt.

Schlimm an der Sache ist, dass es sich um ein Clientsetup handelt, dass bei einigen Kunden auf mehrern dutzend Rechnern ausgeführt wird. Zu Testzwecken wurde das Setup notwendigerweise auf diversen Rechnern bereits installiert (bei allen Keyusern). Jetzt sollte die allgemeine Freigabe erfolgen und bei allen Keyusern ist die Registry hin!
Ein mehrfaches ausführen lässt sich also nicht verhindern und sollte möglich sein.

Hat jemand eine Idee, was ich falsch mache?

Vielen Dank
Andreas

PS: Das Logfile hängt als zip im Anhang

Attached Files



ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 09:19

was du schreibst ist ein bisschen verwirrend. Du schreibst von einem Maintenance Mode beim 2. Aufruf des Setup, das log File ist aber von einer Silent installation. Du gibst auch nicht an, was du überhaupt machen willst, Ändern, Entfernen oder Reparieren?

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 19 March 2007 - 13:29

Hallo Ali,
Du hast Recht, das Logfile ist eigentlich von einer Silent-Installation. Der Fehler tritt nur auf, wenn man versucht erneut das msi-Paket zu installieren.
Wir haben folgende Beobachtung gemacht:
Rechner auf dem ein früheres Setup aufgespielt war: Per Major Update wird der "alte" Client deinstalliert un der neue installiert (--> alles OK).
Auf Rechnern die noch nie mit der Sofware in berührung waren, wird der neue Client installiert (--> alles OK).
Wenn auf einem Rechner mit installiertem aktuellem (neuem) Clíent das msi-Paket erneut ausführt, dann ist die Registry kaputt (bzw. gelöscht).

Das msi-Paket erkennt, dass es bereits instaliert ist und geht in den Maintenance Mode.

Weshalb jetzt die Registry gelöscht wird, ist mir ein Rätsel.

Ich hoffe ich konnte Deine Fragen beantworten.

Ciao
Andreas

ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 13:52

also du hast das Msi Paket in der aktuelle Version installiert, startest das Paket nochmal, kommst in den Maintanance Mode, du klickst da auf Ändern, gibst in der Featureauswahl keine Änderung an und klickst auf installieren. Ist das so? den Vorgang beschreibst du ja nun nicht so genau!


ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 16:01

bzw. schreibe doch mal wie der Maintenance Mode Fenster aussieht, sind die Features die dort mit der Installation installiert wurden noch aktiviert oder nicht?
klickst du auf Ändern oder Reparieren?

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 19 March 2007 - 16:46

Ja, ich denke so würde die Sache über die Oberfläche ablaufen, aber genau kann ich dass nicht sagen. Die Installation bei unseren Kunden läuft per Batchskript.
Darin wird einfach msiexec.exe /i "Produkt.msi" aufgerufen.

CODE

@Echo off
title proALPHA Clientinstallation

set pA-Server=\\pA-Server\proALPHA
set pA-Client-MSI=%pa-Server%\bin\install\client\proALPHA 5.1c01 Client.msi

Echo proALPHA Clientinstallation
Echo Bitte beenden Sie alle Anwendungen.

pause

Echo Die Installation wird durchgefuehrt.
Echo Bitte gedulden Sie sich einen Augenblick.

call msiexec.exe /i "%pa-Client-MSI%" /qn /Lime "%temp%\pA-%computername%.log"

Echo Das Logfile Ihrer Installation wird kopiert.
copy "%temp%\pA-%computername%.log" %pA-Server%\bin\install\client\LogFiles



Sofern das Batchfile mehfach auf dem gleichen Rechner ausgeführt wird, ist die Registry weg.

Den Weg über die Oberfläche liefere ich in Kürze nach.

Mit freundlichen Grüßen
Andreas


ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 17:01

was passiert denn wenn du im Aufruf mit ADDLOCAL die Featurenamen mitgibst?

also
msiexec.exe /i "%pa-Client-MSI%" ADDLOCAL=Basis_RegistryAndShortcut, Basis /qn /Lime "%temp%\pA- computername%.log"

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 19 March 2007 - 17:06

Zur Vervollständigung noch der Weg über die Oberfläche:
• Doppelklick auf das MSI-Paket
• Programmverwaltung erscheint (mit den Optionen "Programm ändern", "Programm reparieren" und "Programm entfernen")
• "Programm ändern" auswählen (bzw. Auswahl stehen lassen!)
• Dialog "Angepasstes Setup" mit der Featureauswahl erscheint. Im Auswahldialog stehen die beiden muss Features zur Auswahl und haben den Defaultinstallationsstatus "Dieses Feature wird auf eine lokale Festplatte installiert"
• Weiter und Installation

Danach ist die Registry weg.

Andreas

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 19 March 2007 - 17:23

Hallo Ali,
ADDLOCAL funktioniert leider auch nicht. Die Registry bzw. das Feature "Basis_RegistryAndShortcut" ist weg.

Ciao
Andreas

Anlage: Logfile

Attached Files



ali

ali
  • Full Members
  • 1,008 posts

Posted 20 March 2007 - 09:03

das das Feature weg ist, glaube ich nicht , das Protokoll sagt ja:
Feature: Basis; Installed: Local; Request: Local; Action: Local
Feature: Basis_RegistryAndShortcut; Installed: Local; Request: Local; Action: Local

das ist etwas merkwürdig, sind denn die Regeinträge in den Komponenten als Key markiert? Die Komonente selbst ist ja als installed gekennzeichned und sollte auch selbst so stehen bleiben.

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 20 March 2007 - 11:15

Die Registryeinträge sind nicht als Keykomponente gekennzeichnet. Ich dachte eine Keykomponente muss immer eine Datei sein, oder? Wie könnte man denn einen Registryeintrag als Keykomponente anlegen?
Das blose Definieren eines Registryeintrages als Keykomponete resultiert in Fehler 2715 ("The specified File key ('Component') not found in the File Table.").





ali

ali
  • Full Members
  • 1,008 posts

Posted 20 March 2007 - 11:18

di kannst doch in einer Komponente in der ansicht "Registrierung" Registryeinträge anlegen. Den String, D-Word Eintrag kannst du dann pro Komponente als Key markieren. Laut Definition ist ein File oder ein Registryeintrag der Key einer Komponente.

Andreas Franz

Andreas Franz
  • Full Members
  • 27 posts

Posted 20 March 2007 - 12:19

Entschuldigung, Du hast natürlich Recht! Ich hatte mir ausgerechnet einen "Standard"-Key (Wert: nicht gesetzt!!!) ausgesucht. D.h. als Keykomponente etwas zu verwenden, das nicht installiert wird ist einfach dumm!
Die einzige Entschuldigung, die ich zu meiner Verteidung anführen kann, ist dass ich eigenlich wegen einer Erkältung im Bett liegen und nicht im Büro sitzen und programmieren sollte.

Ich habe einen "echten" Registryeintarg ausgewählt und die ersten Tests sehen vielversprechend aus!

Vielen Dank für Deine Geduld!

ali

ali
  • Full Members
  • 1,008 posts

Posted 20 March 2007 - 13:07

hauptsache es läuft:-)
gute besserung.