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

Custom Action und Bedingung


2 replies to this topic

ANo

ANo
  • Full Members
  • 179 posts

Posted 14 June 2011 - 07:49

Hallo, meine Frage ist:
Wie muß die Bedingung für eine Custom Action lauten, die nicht ausgeführt werden soll: beim Remove, beim Patch, beim SelfRepair?

Die Frage ist bestimmt schon 1000xgestellt wurden, aber ich blicks nicht, sorry.

Der Ist-Stand ist: Not (REMOVE~="ALL" Or Patch)
Damit wird die Aktion aber bei einem SelfRepair ausgeführt.

Ich möchte aber gern, dass die Custom Action ausgeführt wird:
- wenn noch nicht installiert ist
- bei einem Update
- bei einem Repair

Gruß
André


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 14 June 2011 - 11:21

Das wird schwierig, denn ein (Small oder Minor) Update beinhaltet ebenso wie das Self-repair ein REINSTALL. Beim Major Upgrade besteht dieses Problem nicht. Und dann gibt es noch die reparatur-Installation aus der Systemsteuerung > Software heraus. Was machst du damit?

Wenn deine Custom Action bei einem manuell angestoßnenen Repair ausgeführt werden soll, aber nicht bei einem Self-Repair, dann ist vielleicht dein Design nicht optimal. Was ist das denn für eine Custom Action?

ANo

ANo
  • Full Members
  • 179 posts

Posted 14 June 2011 - 15:23

Hallo Stefan, vielen Dank für Deine Antwort.

Die Custom Action führt eine exe-Datei aus, welche C#-Addins registriert/anmeldet in der Pipeline.

Ich habe die Custom Action im falschen Kontext aufgerufen.
Dadurch kam es bei einem SelfRepair (an anderer Stelle, z.B. fehlende Product.exe) zu einem Fehler, weil hier die besagte exe-Datei auch ausgeführt wird, aber die Rechte für diese fehlen.

Einstellungen bisher:
-------------------------
In-Script Execution: Immediate Exceution
Execution Schedulling: Allways Execute
Install Exc Sequence: After InstallFinalize
Condition: Not (REMOVE~="ALL" Or Patch)

Einstellungen geändert:
-------------------------
In-Script Execution: Deferred Execution im System Context
Execution Schedulling: -
Install Exc Sequence: After RegisterFonts
Condition: Not (REMOVE~="ALL" Or Patch)

Damit wird die exe-Datei bei einem SelfRepair mit den erforderlichen Rechten ausgeführt.

(Ich hoffe, ich habe damit eine vernünftige Lösung für alle Fälle.)

Gruß
André