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

Rollback CA


4 replies to this topic

kukumar

kukumar
  • Full Members
  • 80 posts

Posted 27 February 2007 - 16:49

Ich habe eine CA erstellt, die mit Hilfe von Kernel32.dll ein Event (Handle) öffnet.

Soll das eine immediate oder deffered Aktion sein?


Angenommen die Installation wird abgebrochen, dann müsste eine Rollback CA hier vorhanden sein um das Event zurückzusetzten oder ist es nicht notwendig?

Wenn ja, wie füge ich eine Rollback Funktion für eine Standard-DLL CA ein?

kukumar

kukumar
  • Full Members
  • 80 posts

Posted 27 February 2007 - 16:49

Ich verwende BASIC MSI im InstallShield12

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 February 2007 - 08:16

Ich bin nicht sicher ob ich verstehe was du vorhast, aber wenn du Rollback-Funktionalität brauchst dann muss die Aktion Deferred sein. Und wenn sie Administrator-Rechte braucht sogar Deferred in System Context.

kukumar

kukumar
  • Full Members
  • 80 posts

Posted 28 February 2007 - 09:38

Für immediate CAs gibt es keine Rollback Funktionen!

Ich will wissen ob Aufruf einer Funktion in Standard-DLL eine immediate oder deferred sein muss

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 01 March 2007 - 17:52

QUOTE
Für immediate CAs gibt es keine Rollback Funktionen!
Ja, das habe ich ja gerade gesagt.

QUOTE
Ich will wissen ob Aufruf einer Funktion in Standard-DLL eine immediate oder deferred sein muss
Das kommt darauf an:
Wenn dafür Admin-rechte benötigt werden, muss es "Deferred in system context" sein.
Wenn es das Zielsystem verändert sollte es zumindest deferred (oder auch deferred in system context) sein und eine zugehörige Rollback Aktion haben. Wenn du Rollback-Funktionalität haben willst, muss es deferred oder deferred in system context sein.
Wenn auf installierte Dateien o.ä. zugegriffen wird sollte es am besten auch deferred (ggf. in system contxt) sein.
Wenn keiner dieser Punkte zutrifft kann es auch Immediate sein.

Das gilt jedenfalls für die Windows-Installer-eigenen CA-Typen. Bei "Standard-DLL" baut InstallShield noch einen Wrapper drum rum. Möglicherweise bringt der noch zusätzliche Einschränkungen mit sich. Immediate müsste er aber auf jeden Fall funktionieren. Ich weiss nicht ob er clever genug ist um die Parameter bei einer Deferred-CA zu übertragen.