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

Update Probleme


9 replies to this topic

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 20 June 2005 - 11:40

Hallo,

ich bin totaler Installshield Neuling und habe ein paar Fragen von denen ich hoffe, dass ich sie hier evtl. beantwortet bekomme.
Ich habe ein Setup für unsere Software (Windows Dienst) erstellt mit InstallShied Developer 8.0 SP1.

Wenn man das Setup auf einer Maschine ausführt, auf der bereits eine ältere Version des Dienstes installiert ist, kommt eine MessageBox mit der Nachfrage ob man updaten möchte. Wenn man "Ja" klickt, läuft angeblich ein Update, geht aber in die Binsen. Muss jawohl auch. Ich habe doch gar keine Updateroutine erstellt. Kann man diese Nachfrage irgendwie abschalten, so dass sie gar nicht mehr hochpoppt?

Das Problem ist:
Wenn man ein Update der Software durchführen will, muss die Datenbank gepatcht werden. Ich würde jetzt gern so verfahren, dass ich irgendwie feststelle, ob bereits eine ältere Version des Dienstes installiert ist. Wenn ja, Dienst stoppen und deinstallieren, Datenbank patchen, den neuen Dienst installieren und dann den Dienst wieder starten.


Ich würde also gern folgendes wissen:

1) Wie stelle ich fest, ob der Dienst bereits installiert ist und wie lege ich fest, was in welchem Fall zu tun ist?

2) Wie stoppe und deinstalliere ich einen Dienst aus dem Setup heraus? InstallUtil -u?

3) Wie deaktiviert man die automatische Update Frage am Anfang?


Danke im Voraus für eure Hilfe!
Gruß
Jan

blink.gif

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 20 June 2005 - 17:40

Siehe meine Antwort im englischen Forum.

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 21 June 2005 - 15:41

cool.gif Dann lass uns doch trotzdem hier weiterdiskutieren wink.gif

Ich habe es jetzt hinbekommen, durch Hinzufügen eines "Haupt-Upgrade" Elements meinen Service und die dazugehörige Datenbank (Access) upzudaten, sprich auszutauschen. So weit so gut, nur leider gibt es Kunden von uns, die in der Service-Datenbank bereits benutzerdefinierte Konfigurationen hinterlegt haben.
Wenn ich das Hauptupgrade-Element entferne und eine benutzerdefinierte Aktion benutze um die Datenbank zu patchen (neue Felder hinzufügen) funktioniert das auch so weit, aber der installierte Service (Version von 2003 mit niedrigerer Versionsnummer als der im Setup enthaltene Service) wird nicht gegen die neuere, im Setup enthaltene Version ausgetauscht.
Was mache ich nur falsch?

Übrigens: Die von Dir genannte Eigenschaft "Installed" kann ich im Eigenschaftenmanager nicht finden.



Grüße aus Bremen
Jan

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 June 2005 - 16:09

Installed ist eine vordefinierte Eigenschaft, deshalb steht sie nicht im Eigenschaftenmanager.
Als erstes würde ich eine Update-Validierung druchführen. Das könnte schon die ersten Hinweise geben. Ausserdem könntes du während des Updates eine ausführliche Logdatei schreiben. Dort steht drin, warum bestimmte Dateien nicht überschrieben werden.

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 22 June 2005 - 13:35

Habe es jetzt soweit hinbekommen wie ich es brauche. Wollte schon fast in Freudentränen ausbrechen bis mir in den Sinn kam, dass ich den Uninstall ja auch nochmal testen sollte....

Und da passierte es:
Beim Deinstallieren über Systemsteuerung/Add Remove Programs habe ich die Deinstallation gestartet. Es ging auch ganz normal los, nur irgendwann bekam einen Fehler. Irgendwas mit "savedState information corrupted". Ich kann das Programm garnicht mehr deinstallieren. Hast Du 'ne Idee?

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 22 June 2005 - 16:04

Also das mit dem Uninstall Error scheint damit zusammenzuhängen, dass das Setup der alten Version schlampig erstellt wurde.

:-p


Habe aber noch ein Problem:
Mein DatenbankPatch wird durch eine benutzerdefinierte Aktion gestartet. Ebenso das Setzen zweier Registry Werte die abhängig von Erstinstallation/Update gesetzt werden müssen.
Das Starten des Patches hat als Bedingung "Installed And REMOVE<>"ALL". Ich habe es auch schon nur mit "Installed" oder mit einer eigenen Eigenschaft, die ich vorher durch die Systemsuche füllen lasse, probiert.
Leider wird der Patch aber nur ausgeführt, wenn ich in der Aktion die Bedingung ganz weglasse.
Das selbe ist es beim Setzen der Registry Values.


Woran könnte das liegen?



Gruß und Danke.
Jan



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 22 June 2005 - 17:09

Installed ist nur gesetzt, wenn es sich um ein Small oder Minor Update handelt, beim Major Upgrade ("Hauptupdate") nicht.

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 23 June 2005 - 07:52

Super. Danke. Habe es jetzt über eine Systemsuche realisiert.
Aber dieser Uninstall-Fehler kommt wieder.
Wodurch wird sowas verursacht? Finde im Netz leider nichts passendes dazu sad.gif


Gruß
Jan

Edited by asSiDeluxE!, 14 July 2005 - 07:55.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 June 2005 - 11:13

Das ist jednefalls keine eingebaute Fehlermeldung von Windows Installer. Ich habe keine Ahnung, was "cX Intergration Server" ist oder was ein savedState dictionary sein soll. Sagt dir das irgend etwas?

asSiDeluxE!

asSiDeluxE!
  • Full Members
  • 17 posts

Posted 11 July 2005 - 15:04

Sorry, meine eigene Blödheit. Dies ist eine Fehlermeldung, die aus einer .NET Installerklasse hochgegeben wird. Hat sich also erledigt.


Habe aber noch ein weiteres Problem:

Das Problem betrifft wohl eher den Microsoft Installer oder eine .NET
Installerklasse als das Installshield. Das Ziel ist, entweder die vorhandene, ältere Version der
Anwendung zu aktualisieren oder halt eine frische Neuinstallation. Die neue
Version benutzt das Framework 1.1 und die alte das 1.0 Framework. Neuinstallation funktioniert ohne Probleme, aber bei der Aktualisierung bekomme ich zu dem Zeitpunkt, wo eigentlich die .NET-Installerklasse von einer der Komponenten gestartet werden soll die Fehlermeldung: "Exception occurred while
initializing the installation: System.Configuration.ConfigurationException:
Error loading XML file c:\windows\...\framework\v1.0.3705\Config\machine.config". Als ob er
irgendwie nicht merkt, dass er Framework 1.1 benutzen soll... ? Und wieso
geht es bei der Neuinstallation und nicht beim Upgrade?
Wenn man weitermacht, kommt auf jeden Fall eine weitere Meldung: "Could not
load type System.Runtime.Serialization.Formatters.TypeFilterLevel from
assembly mscorlib, Version=1.0.3300.0, Culture=......".
Mit Hilfe einer app-configdatei, die ich der entsprechenden Komponente
hinzugefügt habe, lege ich sogar supportedRuntime und requiredRuntime auf
Framework 1.1 fest und im Installshield (_ISSupportedRuntimes) sage ich ihm auch, dass er doch bitte 1.1 benutzen soll.
Was mache ich bloß falsch?

Bin dankbar für jede Hilfe!

Gruß
Jan

Edited by asSiDeluxE!, 13 July 2005 - 13:14.