Wie starte ich den Tvservice per Wshshell ? (1 Viewer)

Golf4

Portal Pro
August 18, 2006
2,723
219
Dunkeldeutschland
Home Country
Germany Germany
Hi,
brauche für mein Updatesript via -PVRS und DVBviewer mal ne kleine Hilfe.
Momentan habe ich dieses script in Arbeit:

####
' VB Script Document
option explicit

dim oWmi, sWmiO, oQResult, oProcess, WshShell, iRet

Set oWmi = GetObject("winmgmts:")
sWmio = "select * from Win32_Process where name='TvService.exe'"
Set oQResult = oWmi.Execquery(sWmio)
For Each oProcess In oQResult
iRet = oProcess.Terminate(1)
Next
Set oWmi = Nothing

set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Sleep 5000

WshShell.Run """C:\Program Files\DVBViewer\dvbviewer2xmltv.exe""", 0, true

WScript.Sleep 5000

WshShell.Run """C:\Program Files\Team MediaPortal\MediaPortal TV Server\TvService.exe""", 9

WScript.Sleep 5000
####


Ich möchte aus Sicherheit den Tvservice vor dem Update stoppen danach wieder starten.

Der Start und Update funktionieren soweit, nur beim Start des TvService kommt diese Meldung:



Ich habe es auch schon mit "Start Tvservice" oä, versucht aber irgendwo mach ich einen Fehler.

Hat jemand Ahnung von WshShell?

Danke!
 

KayDiefenthal

MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    46
    Germany - Bonn
    Home Country
    Germany Germany
    Hi,
    brauche für mein Updatesript via -PVRS und DVBviewer mal ne kleine Hilfe.
    Momentan habe ich dieses script in Arbeit:

    ####
    ' VB Script Document
    option explicit

    dim oWmi, sWmiO, oQResult, oProcess, WshShell, iRet

    Set oWmi = GetObject("winmgmts:")
    sWmio = "select * from Win32_Process where name='TvService.exe'"
    Set oQResult = oWmi.Execquery(sWmio)
    For Each oProcess In oQResult
    iRet = oProcess.Terminate(1)
    Next
    Set oWmi = Nothing

    set WshShell = WScript.CreateObject("WScript.Shell")

    WScript.Sleep 5000

    WshShell.Run """C:\Program Files\DVBViewer\dvbviewer2xmltv.exe""", 0, true

    WScript.Sleep 5000

    WshShell.Run """C:\Program Files\Team MediaPortal\MediaPortal TV Server\TvService.exe""", 9

    WScript.Sleep 5000
    ####


    Ich möchte aus Sicherheit den Tvservice vor dem Update stoppen danach wieder starten.

    Der Start und Update funktionieren soweit, nur beim Start des TvService kommt diese Meldung:



    Ich habe es auch schon mit "Start Tvservice" oä, versucht aber irgendwo mach ich einen Fehler.

    Hat jemand Ahnung von WshShell?

    Danke!

    also für die cmd würde "net stop Tvservice" (ohne anführungszeichen) den service stoppen
    und "net start Tvservice" den service starten

    installutil braucht man nur wenn man einen dienst / service installieren will
     

    Golf4

    Portal Pro
    August 18, 2006
    2,723
    219
    Dunkeldeutschland
    Home Country
    Germany Germany
    Hi,
    bin damit noch nicht weitergekommen.

    Mit "net start Tvservice" wirds nichts in vbs.

    Habe mir schon ne Batch geschrieben mit "net start Tvservice".

    Das geht zwar mit der Batch alleine, aber aus dem script rausgehen zur batch - irgendwas funktioniert da nicht.
     

    Golf4

    Portal Pro
    August 18, 2006
    2,723
    219
    Dunkeldeutschland
    Home Country
    Germany Germany
    Hi,
    ich lass den Sch... mit vbs.
    Habe mir ne Batch gebastelt und eine wait.exe (von autoitscript) dafür gezogen.
    Mal sehen ob die so geht:


    >> epgupdate.cmd

    @ECHO OFF
    wait.exe 5000
    net stop Tvservice
    wait.exe 10000
    C:\Program Files\DVBViewer\dvbviewer2xmltv.exe
    wait.exe 10000
    net start Tvservice
    wait.exe 90000

    Also MP wird um 5:00 gestartet.
    - PVRS ruft die epgupdate.cmd auf:
    - 5 sec warten
    - MP TV-Server-Dienst wird gestoppt
    - 10sec warten
    - dvbviewer2xmltv.exe wird aufgerufen (alle Sender werden durchgezappt und EPG in tvguide.xml gesammelt) beendet sich von allein
    - 10 sec warten
    - MP TV-Server-Dienst wird gestartet (nun werden alle EPGs aktualisiert)
    - 1,5min warten
    ende

    Der PVR fährt nach Ende der batch wieder in den Standby.
    Das sollte nun klappen

    (ich hab ne weile gebraucht um eine Vistafähige wait.exe zu finden)

    Adios
     

    lkuech

    Retired Team Member
  • Premium Supporter
  • February 16, 2007
    576
    83
    50
    Hamburg
    Home Country
    Germany Germany
    mit vbs hätte es auch funktionieren müssen... nur darfst du in diesem Fall nur mit "einfachem" DoubleQuote arbeiten. Also " statt """
    Nochmal eleganter wäre ein WMI Zugriff ähnlich dem den du für das Process terminieren benutzt.

    CU
    Lars
     

    Golf4

    Portal Pro
    August 18, 2006
    2,723
    219
    Dunkeldeutschland
    Home Country
    Germany Germany
    Hi,
    hab zwar keine Ahnung von DoubleQuote u.ä. aber wenn ich nur einfache "" setzte wird wegen der Leerzeichen im Verzeichnisnahmen der Pfad nicht gefunden.
     

    Users who are viewing this thread

    Top Bottom