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

benutzerdefinierte Aktion


6 replies to this topic

elpuGo!

elpuGo!
  • Full Members
  • 26 posts

Posted 25 September 2007 - 14:11

folgendes problem:
innerhalb unseres msi-projekt wird eine komponente installiert.
in dieser komponente befindet sich ein dienst der nach der installation
per batch-datei registriert wird, die wiederum von einer costum action
aufgerufen wird. bis hier hin funktionierts.

nun will ich aber diese komponente deinstallieren. dazu muss bevor die
dateien der komponente gelöscht werden der dienst deregistriert werden.
auch das soll per custom action laufen die eine batch-datei aufruft mit der der dienst deregistriert wird.

frage:
an welcher stelle sollte ich nun die custom action sequenzieren und wie müsste die
bedingung lauten, die die costum action nur ausführt wenn diese spezielle komponente deinstalliert wird?

vielen dank im voraus...

Edited by elpuGo!, 25 September 2007 - 14:13.


felltier-a

felltier-a
  • Awaiting Authorisation
  • 85 posts

Posted 26 September 2007 - 09:04

Hi,

warum lässt du den Dienst nicht direkt von Installshield installieren und starten?

Die CA sollte auf jedenfall vor der "RemoveFiles" action kommen. Installshield hat für das Deinstallieren von Diensten die Sequenzen "StopServices" & "DeleteServices". Kannst deine ja direkt danach starten.

Für die Bedingung könntest du die Eigenschaft "REMOVE" verwenden:
"REMOVE=[FeatureName]"

natürlich ohne die " und für [FeatureName] nimmst du das Feature mit welchem dein Dienst Installiert wird.

Ich denke du kannst auch als Bedingung den Installationsstatus deiner Componente angeben:Conditional Statement Syntax
Sollte die Komponente auch noch von anderen Setups verwendet werden wird es hiermit allerdings schwierig!

Sofern möglich würde ich es aber über die Dienste Steuerung von Installshield versuchen. Besonders wenn du versuchst den Dienst später einmal zu aktuallisieren (Patchen)


Gruß
Udo

elpuGo!

elpuGo!
  • Full Members
  • 26 posts

Posted 26 September 2007 - 14:09

also das mit dem REMOVE=[FeatureName] funktioniert irgendwie nicht richtig.
warum kann ich mir nicht vorstellen. müsste aber eigentlich: wenn dieses feature deinstalliert werden soll, soll eine ca aufgerufen werden die per batch-datei den dienst entfernt (****.exe -remove). irgendwo ist da der wurm drin zumal das so getimet werden muss das dieser aufruf ausgeführt wird bevor die ensprechenden dateien dieses features entfernt werden....

felltier-a

felltier-a
  • Awaiting Authorisation
  • 85 posts

Posted 26 September 2007 - 14:44

Mhhh,

ich glaube ich habe mich ein wenig vertan.

Versuch mal:

REMOVE="Featurename"

als Bedingung. Die " beim Featurenamen sind glaube ich wichtig. Komme da leider selber des öfteren durcheinander rolleyes.gif
REMOVE Property



Warum benutzt du nun eigentlich die Batch-Datei und nicht die Dienstesteuerung von Installshield?

elpuGo!

elpuGo!
  • Full Members
  • 26 posts

Posted 27 September 2007 - 09:16

die würde ich am liebsten benutzten aber da gibts leider ein problem mit diesem dienst. der kommentar der entwicklung war, dass dieser dienst nicht sauber programmiert ist und er sich nur über -install bzw. -remove steuern läßt. die dienststeuerung meines devstudios trägt den aber selbst ein und somit gelingt nur die registrierung. die deregistrierung schlägt dann aber fehl.
aus diesem grund muss ich das per ca`s erledigen.
das muss auch funktionieren, denn wenn ich die batch-files händisch aufrufe klapt alles.
bei mir haperts also jetzt nur an den ca's und der richtigen sequenzierung..;-)

ali

ali
  • Full Members
  • 1,008 posts

Posted 27 September 2007 - 15:25

Hallo,
kannst du es auch am deinstallieen Feature ausmachen? Dann probiere mal das:

(&FeatureName=2) AND (!FeatureName=3)

wenn du es an der Componente ausmachen willst

($Component=2) AND (?Component=3)

beachte aber bitte, dass es bei letzterem zu Problemen kommen kann wenn Komponenten als Shared installiert sind.

ausführen würde ich es dann vor StopServices.


elpuGo!

elpuGo!
  • Full Members
  • 26 posts

Posted 04 October 2007 - 09:17

danke für die nützlichen tips --> hab's hinbekommen...