Hallo zusammen,
habe da wieder einmal ein Problem für das sich im Moment nicht wirklich eine logische Erklärung findet.
Ich habe ein Programm geschrieben das sich sowohl als Console als auch Windows Service starten lässt. In diesem Programm starte ich Prozesse (Codesoft wenn die einer kennt). In dem Consolen Programm kann ich ohne Probleme 15 Instanzen starten ohne das es Probleme gibt (Wahrscheinlich auch mehr) bei dem Service ist nach 5 Prozessen schluss.
Ich habe auch probiert den service mit dem selben account wie die Console zu starten.. ohne Erfolg.
Gibt es da irgendwelche Begrenzungen?
edit: das Starten des Prozesses bleibt übrigens einfach stehen, es gibt keine Fehlermeldung.
Grüße
Jan
Dieses war dann die Lösung : Stefan Bodewig's Weblog: Windows Desktop Heap
Hat wohl mit einem begrenten Desktop Heap zu tun. Nachdem ich den haken "Datenaustausch zwischen Dienst und Desktop zulassen" in den Service Einstellungen gesetzt habe, lassen sich soviel Prozesse wie ich brauche starten.
Was ich ein wenig skuril finde, da diese Prozesse überhaupt keine Gui besitzen...
Grüße
So, nach langer Zeit hier mal ein Update:
Der WindowsService ist inzwischen ein WebDienst geworden. Auch hier bin ich wieder über selbiges Problem gestoßen.
Da es hier aber den Haken für den Datenaustausch nicht gibt, musste ich hier in die Registry eingreifen.
Unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems
Den Key "Windows" anpassen : %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=3072,20480,3072 etc.................
Mit 3072 kb jeweils sollte das nun ausreichend sein.