ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
867
867
EMPFEHLEN
-
Hallo ihr lieben,
ich bin mir nicht ganz sicher wo ich das Thema reinstellen soll, deswegen poste ich es hier.
Ich habe ein Problem, nach gefühlt endlosem Suchen im Internet und nicht ganz das passende gefunden, probiere ich es auf diesem Wege.
Ich habe einen Windows Service Dienst erstellt, dieser Dienst soll eine .exe ausführen. Leider bekomme ich es nicht so hin wie ich es mir wünsche, wenn ich das Programm außerhalb des Dienstes ausführe, also als Konsolen-Anwendung ist es kein Problem die .exe auszuführen. Mit Hilfe von Process klappt auch alles wunderbar, sobald ich den Quellcode aber in mein Dienst-Programm übertrage passiert nichts.
Ich zeige es hier mal ein Beispiel an Hand des öffnenes einer .ini-Datei, vom Prinzip ja das selbe.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Beispiel { class Program { static void Main(string[] args) { System.Diagnostics.Process n = new System.Diagnostics.Process(); n.StartInfo.FileName = @"C:\test.ini"; n.Start(); } } }
Sobald ich das aber in einen Dienst einfüge, öffnet sich die .ini-Datei nicht mehr.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; namespace TestDienst { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { System.Diagnostics.Process n = new System.Diagnostics.Process(); n.StartInfo.FileName = @"C:\test.ini"; n.Start(); } protected override void OnStop() { } } }
Der Dienst kann installiert werden und klappt auch alles, nur die Datei wird nicht geöffnet.
Wisst ihr Rat? Könnt ihr mir weiterhelfen?
Liebe Grüße
Polli.Jeder Moment ist eine neue Chance, nutze sie!!
Wer lächelt statt zu toben, ist immer der Stärkere.
-
Das liegt daran, dass du eine Anwendung mit UserInterface von einem Dienst starten lassen möchtest. Dienste sind auch aktiv, wenn gerade kein Benutzer eingeloggt ist. Wem sollte dann das Notepad-Fenster angezeigt werden um die Ini-Datei zu sehen? Gleiche frage stellt sich, wenn mehr als ein Benutzer angemeldet ist.
Lösungsansätze findest du z.B. hier:
http://stackoverflow.com/questions/2...ui-applicationhihi = -h²
-
Okay ich hab das verstanden, den Link so gut es geht verfolgt, einige Lösungsansätze probiert umzusetzen, im Endeffekt hab ich es soweit hin bekommen, dass er die Datei öffnet. Was natürlich total toll ist, aber dass wofür das Programm in Endeffekt da ist klappt nicht.
Also muss ich wohl doch genau auf das Thema eingehen.
Der Dienst soll einen Rechenkern starten und testen ob er läuft, dass immer wieder machen. Leider klappt es nicht den Rechenkern zu starten.
Das wird mit Hilfe von Argumenten realisiert, z.B.
Code :1 2 3 4 5 6 7 8 9 10 11
EventLog.WriteEntry(aktuellerPfad); ProcessStartInfo psi_java = new ProcessStartInfo(java_path); psi_java.WindowStyle = ProcessWindowStyle.Hidden; psi_java.Arguments = @" -jar -Xmx256M -Xrs " + aktuellerPfad + "rk.jar"; EventLog.WriteEntry(psi_java.Arguments); EventLog.WriteEntry(java_path); try { Process procJava = Process.Start(psi_java); procJava.MainModule.ToString(); }
Wie ich es geschafft habe, dass die Datei (ini) geöffnet wird, in dem ich unter "Dienst-->Eigenschaften-->Anmelden-->Lokales Systemkonto-->Datenaustausch zwischen Dienst und Desktop zulassen"
Ich denke dass ist nicht die optimale Lösung, weil ich eigentlich was im Quellcode ändern müsste nur ich weiß nicht genau wo und wie...
Habt ihr Rat?
Danke schon mal im Vorraus...Jeder Moment ist eine neue Chance, nutze sie!!
Wer lächelt statt zu toben, ist immer der Stärkere.
-
Kann mir niemand weiterhelfen****?
Ich sitze immer noch an dem Problem und bin zu keiner richtigen Lösung gekommen.
Liebe Grüße
Polli.Jeder Moment ist eine neue Chance, nutze sie!!
Wer lächelt statt zu toben, ist immer der Stärkere.
Ähnliche Themen
-
...mit Dienst eine Windows Form starten
Von meste im Forum .NET Application und Service DesignAntworten: 0Letzter Beitrag: 13.10.08, 15:33 -
Java Programm als Dienst unter Linux Debian ausführen
Von marcel_m im Forum Linux & UnixAntworten: 25Letzter Beitrag: 19.03.08, 11:09 -
Thread soll JEDE STUNDE einmalig eine Aktion ausführen
Von Lautsprecher im Forum JavaAntworten: 5Letzter Beitrag: 02.11.05, 12:15 -
Eine Anfrage an den technischen Dienst
Von turboprinz im Forum Fun-ForumAntworten: 3Letzter Beitrag: 02.09.05, 08:09 -
LUA: Text soll in eine Datei eines Servers geschrieben werden
Von Chrissi007 im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 17.11.04, 20:33





Zitieren
Login





