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

Service deinstallieren


Best Answer ali , 12 July 2013 - 13:17

in deiner Komponente RniLonSvService.exe hast du unter "Files" deine exe eingebunden, ist die exe dort als Key der Komponente markiert?

Ob die exe Key der Komponente ist, erkennst du an dem Schlüsselsymbol neben der exe. Wenn nicht dann klicke die mit rechter Maustaste an und wähle "Set Key File".

Go to the full post


7 replies to this topic

vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 05 July 2013 - 11:09

Hallo,

 

ich habe einen Win32-Service, welchen ich mit einem Basic-MSI installiere. Beim Deinstallieren wird zwar die Exe entfernt, aber der Service bleibt erhalten.

Ist das Deinstallieren von Services bei MSI-Setups nicht vorgesehen oder mache ich da noch was verkehrt?

 

Danke und viele Grüße, Volker



ali

ali
  • Full Members
  • 1,008 posts

Posted 05 July 2013 - 12:03

Ich denke, du hast in deiner Komponente die den Service installiert unter"Service", dort unter "Control Settings" nur ein Event für die Installation eingetragen. Du musst hier noch ein 2. Event für die Deinstallation eintragen: "[Operation Time: [Uninstall Stop; Uninstall Delete]".



vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 08 July 2013 - 18:58

Danke, das Event hatte ich vergessen.

Ich hatte gar kein Event definiert. Ich weiß allerdings auch nicht genau, ob der Service bisher tatsächlich installiert wurde oder ob er schon versehentlich da war.

 

Jetzt habe ich als Events "[Operation Time: [Install Start; Uninstall Stop; Uninstall Delete]" eingetragen.

Das Problem ist nun genau umgekehrt, der Service wird nicht installiert, der Setup wartet auf Install Start, aber der Service wird gar nicht angelegt.

Wenn ich ihn während der Wartezeit manuell anlege (der Service kann sich auch mit Servicename.exe /service selbst installieren), so wird er vom MSI ordnungsgemäß gestartet und bei Deinstallieren auch beendet und deinstalliert. (Allerdings möchte ich ihn nur über InstallShield installieren, da ich später auch die Rechte vorgeben möchte.)

 

Es ist ein 64 Bit MSI-Setup mit einem 64 Bit Service auf einem 64 Bit Windows 7. Ich bin Administrator mit ausgeschaltetem UAC, habe also auch alle Rechte ohne Nachfrage.


Edited by vschober@gesytec.de, 08 July 2013 - 18:58.


ali

ali
  • Full Members
  • 1,008 posts

Posted 11 July 2013 - 09:01

Das mit dem anhalten des Setup, kenne ich, wie ist der Service denn eingestellt. Prüfe doch mal die Einstellung Interact with Desktop und ServiceType, ich mein da hätte es bei mir immer gehangen. Hast du Error Control auf "Display a Message" gestellt und evtl. auch mal ein Log geschrieben wo man was rauslesen könnte?



vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 11 July 2013 - 13:36

Anbei die Ansicht, wie meine beiden Services eingestellt sind. Zunächst hatte ich auch nur einen Service einzeln, aber da hat es auch nicht geklappt.

 

Im Log steht zu InstallServices nur:

 

 

MSI (s) (BC:A0) [14:18:14:110]: Doing action: InstallServices
Action 14:18:14: InstallServices. Installing new services
Action start 14:18:14: InstallServices.
Action ended 14:18:14: InstallServices. Return value 1.

Das komplette Log ist im Anhang.

Der Fehler kommt erst bei StartServices, aber da ist es schon zu spät, da der / die Service/s gar nicht bei InstallServices angelegt wurden.

 

Hast Du vielleicht ein funktionierendes Beispielprojekt, wo ein Service installiert wird?

Attached Images

  • RniLonClientService.jpg
  • RniLonSvService.jpg

Attached Files


Edited by vschober@gesytec.de, 11 July 2013 - 13:36.


ali

ali
  • Full Members
  • 1,008 posts

Posted 11 July 2013 - 15:30

hm, sind das Protokollausschnitte, ich vermisse vor StartService die Sequenz InstallService. Die wird zwar ein Stück vorher für die Ausführung registriert bzw. geprüft, aber dann in InstallFinalize gar nicht mehr geloggt. Hast du die exe als Key markiert. Evtl. kannst du mal das release als uncompress erstellen und eine MSI Validierung durchführen. Im DirektEditor müssen die beiden Dienst auch in der Tabelle InstallService gelistet sein.



vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 12 July 2013 - 12:28

Wo muss ich die exe als Key markieren?
(Mein "Key Name" unter Service heisst genauso wie die Exe, nur ohne das .exe am Ende.)

 

In der Tabelle ServiceInstall sind die beiden Services drin. Allerdings ist da nur ein Verweis auf die Component (vorgesehen), aber kein direkter Verweis auf die Exe.



ali

ali
  • Full Members
  • 1,008 posts

Posted 12 July 2013 - 13:17   Best Answer

in deiner Komponente RniLonSvService.exe hast du unter "Files" deine exe eingebunden, ist die exe dort als Key der Komponente markiert?

Ob die exe Key der Komponente ist, erkennst du an dem Schlüsselsymbol neben der exe. Wenn nicht dann klicke die mit rechter Maustaste an und wähle "Set Key File".