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

Propertywerte bei Repair verloren


3 replies to this topic

lingold

lingold
  • Members
  • 42 posts

Posted 29 November 2005 - 09:35

Ich habe in einem InstallShield 10.5 Basic MSI Project einige Properties, deren Werte mittels Installscript berechnet werden (weil ich auf andere Art nicht genügend Flexibilität hätte). Aus diesen Werten werden dann z.T. Registryeinträge. Nun habe ich festgestellt, dass diese Werte bei Repair oder Modify nicht vorhanden sind. Ich hätte eigentlich gedacht, dass alle Propertywerte, die während eines Normalsetups (ich meine damit: Nicht Repair oder Modify) aufbereitet werden, intern aufbehalten werden, damit ein Repair sie nur noch aus der Schublade zu ziehen braucht. Da das nicht so ist, habe ich jetzt empfindliche Probleme. Ich kann nicht einfach die Scripts in der "Repairsequence" bzw. als Events in Dialogen, die in Repair vorkommen, aufrufen, denn die Scripts stützen sich seinerseits auf Parameter, die das Programm in der Registry abgelegt hat, z.B. habe ich abgelegt, ob die Software mit einer Access oder mit einer SQL-Server-DB arbeitet (unsere Software ist "leider" so flexibel, dass sie beides kann). Die Idee des Repairs ist doch, dass selbst dann, wenn alles, was für die Software installiert wurde (Files, Registryeinträge, Shortcuts,...) irrtümlich verschwunden ist, ein Repair wieder alles herstellen kann. Somit darf sich der Repair nicht auf solche Ressourcen stützen, die er ja gerade wiederherzustellen in der Lage sein müsste! Meine Frage lautet nun: Was ist hier die richtige Strategie? Wie muss ich vorgehen? Ist es grundsätzlich falsch, Propertywerte mittels Installscript aufzubereiten (wie gesagt, in einem Basic MSI Projekt)?

ali

ali
  • Full Members
  • 1,008 posts

Posted 29 November 2005 - 10:19

du könntest du APPSearch Funktion verwenden um die Einträge beim Repair wieder aus der Registry aus zu lesen. Merken tut sich der IS die Property werte die über Script ausgelesen wurden nicht. Ich setze RegWerte über die Propertys die ich mittels komponenten in die Registry schreibe, diese Werte lese ich dann beim einem Repair oder Modify über App Search wieder aus.

lingold

lingold
  • Members
  • 42 posts

Posted 29 November 2005 - 16:01

Excellent, wenn auch etwas "künstlich", aber Hauptsache es funktioniert. Nur wenn DIESE Registryeinträge aus irgendeinem Grund gelöscht würden, ginge es auch nicht mehr. Darum gilt mein Einwand von oben (nicht funktionierendes "Total recovery", wenn alles gelöscht wurde ausser natürlich das was vom Installer Service selbst gemanagt wird) immer noch in einem gewissen Sinne.
Nur eine Sache mache ich anders: Das Lesen der Registryeinträge mache ich nicht mit APPSearch, sondern mit Installscript, weil ich sonst für die Appsearches Conditions machen können sollte, aber das kann man ja nicht.

ali

ali
  • Full Members
  • 1,008 posts

Posted 29 November 2005 - 16:07

das sit richtig, und offengestanden auch etwas was mich ziemlich stört. Wenn man natürlich regeiträge nur in bestimmten situationen auslesen will muss man das anders lösen. ich habe mein Setup mittlerweile so aufgearbeitet, das es nicht stört ob die Propertys immer gefüllt werden, wenn zb. ein regeintrag da wäre. Andere Lösung wäre sich für die entsprechenden Einstellungen ein ini Datei anzulegen und die Wert mittels installshield funktion auszulesen, habe ich aber auch noch nicht näher untersucht.