ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
2441
2441
EMPFEHLEN
-
Hy Leute,
viele von Euch die das jetzt lesen, denken wieder mein Gott - bitte nicht !! aber es muß leider sein. Ich hab hier nen Dienst der mir in späterer Folge einen Webservice der mit einer Datenbank verbunden ist kontaktiert und dann im Falle der Statusänderung eine .exe aufruft.
Nun ist das unter Vista nicht mehr so leicht zu realisieren. wie unter XP ..... aber vielleicht hat ja einer von Euch ne Idee.
Ausgangslage: Der Dienst läuft auf einem Rechner auf dem Windows Vista (32Bit) installiert ist.
So schaut die Klasse aus - zumindest ein schneller Entwurf davon (Sorry für die Notation...)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
Imports System.IO Imports System.Environment Imports System.Diagnostics Public Class cStartenViewer Dim watcher As New FileSystemWatcher() 'Die wo Du starten willst Dim mAusfuerenExe As String = "C:\Program Files\Test.exe" 'Da hast an Property für dein Teamviewer.exe Public Property AusfuerenExe() As String Get Return mAusfuerenExe End Get Set(ByVal value As String) mAusfuerenExe = value End Set End Property Public Sub DS_aenderung() Try Dim startInfo As System.Diagnostics.ProcessStartInfo = Nothing startInfo = New System.Diagnostics.ProcessStartInfo(mAusfuerenExe) Dim ss As New System.Security.SecureString() ss.AppendChar("A") ss.AppendChar("B") ss.AppendChar("7") startInfo.Domain = "Domain" startInfo.UserName = "User" startInfo.Password = ss startInfo.WindowStyle = ProcessWindowStyle.Normal Dim pStart As New System.Diagnostics.Process EventLog.WriteEntry("TestDienst", "Pfad der Datei: " & AusfuerenExe) startInfo.UseShellExecute = False pStart.StartInfo = startInfo EventLog.WriteEntry("TestDienst", "pStart wurde angestossen") If pStart.Start() Then 'EventLog.WriteEntry("TestDienst", "nach p.Start-oben") Dim p As String = "TestProzessTVw" p = pStart.ProcessName 'EventLog.WriteEntry("TestDienst", p.ToString & " vorher") pStart.WaitForExit(10) EventLog.WriteEntry("TestDienst", "Prozessende: " & p.ToString) EventLog.WriteEntry("TestDienst", "Test.exe wurde aufgerufen") Else EventLog.WriteEntry("TestDienst", "Test.exe konnte nicht aufgerufen werden") End If Catch ex As Exception EventLog.WriteEntry("TestDienst", ex.Message) End Try End Sub 'Stoppen der Überwachung Public Sub StopWatching() watcher.EnableRaisingEvents = False End Sub End Class
THX - für jede Hilfe, und bitte verzichtet auf: Warum eillst du unbedingt eine .exe starten.....
-
Öhm ja, und wo genau ist das Problem? Gibt es Fehlermeldungen? Wird die Anwendung nicht ausgeführt?
Hat dein Dienst die entsprechenden Berechtigungen diese Anwendung auszuführen usw. Fragen über Fragen.
-
Hy Norbert,
ja klar kommt ne Fehlermeldung, er führt das Programm wohl nicht in der selben Session aus. Weis jetzt aber ehrlich gesagt auch ned so recht wie ich das hinbekommen kann. Eigentlich müsste er des ja als der User machen, dem ich ihn explizit im Thread zugewiesen habe. Der Dienst wird unter dem selben Namen ausgeführt (Administrator Rolle)
Code :1
Fehlerhafte Anwendung TeamViewer.exe, Version 3.5.4140.0, Zeitstempel 0x47d79a5f, fehlerhaftes Modul USER32.dll, Version 6.0.6001.18000, Zeitstempel 0x4791a7a6, Ausnahmecode 0xc0000142, Fehleroffset 0x00009cac, Prozess-ID 0x700, Anwendungsstartzeit 01c8afa897f68450.
THX für die Hilfe.
-
Schon versucht eine etwaige Exception abzufangen und mitzuschreiben? Eventuell erhältst du daraus mehr Informationen.
-
Klar kann ich den Debuggen, aber das bring nicht mehr als die Ausgaben im Event log.
Bei CodeProject hab ich ein C++.NET Projekt gesehen der genau das macht was ich eigentlich vorhabe.... nur leider ist mein C++ ziemlich für die Fische. Irgendwie holt er sich da ein Token und .....
hier mal der Link falls des einer lesen kann.. Klick
Ähnliche Themen
-
Vista, Windows Dienst und Soundausgabe
Von DannyP im Forum .NET Grafik und SoundAntworten: 0Letzter Beitrag: 16.08.09, 16:01 -
Windows Vista - Auf Installer Dienst kann nicht zugegriffen werden
Von tecla im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 11.02.08, 14:09 -
Dienst unter Vista als nicht-admin starten
Von riseX im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 30.08.07, 10:54 -
Dienst unter WinXP per script de-/aktivieren
Von Caliterra im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 06.09.06, 13:09 -
Neuer Dienst unter win2k
Von fungo im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 11.09.02, 13:55





Zitieren
Login





