Ændring af 'Sti til eksekverbar' af en windows service

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne ændre stien til min ansøgning, men det bryder det, fordi tjenesten stadig peger på den gamle placering.


Ved at gå til Administrative Tools > Services kan du åbne en egenskabsdialog og se Path to executable, men der er ingen måde at ændre den på.


Er der nogen måde, en bruger kan ændre servicevejen uden at skulle geninstallere programmet?

Bedste reference


Der ses også denne tilgang på SuperUser, der bruger kommandolinjen sc i stedet for at ændre registreringsdatabasen: [18]


sc config <service name> binPath= <binary path>


Bemærk: rummet efter binPath= er vigtigt. Du kan også søge den nuværende konfiguration ved hjælp af:


sc qc <service name>


Dette viser output svarende til:



  [[SC]] QueryServiceConfig Succes

  
  SERVICE\_NAME: ServiceName


    TYPE               : 10  WIN32\_OWN\_PROCESS
    START\_TYPE         : 2   AUTO\_START
    ERROR\_CONTROL      : 1   NORMAL
    BINARY\_PATH\_NAME   : C:ServicesServiceName
    LOAD\_ORDER\_GROUP   :
    TAG                : 0
    DISPLAY\_NAME       : <Display name>
    DEPENDENCIES       :
    SERVICE\_START\_NAME : user-name@domain-name


Andre referencer 1


Det indebærer redigering af registreringsdatabasen, men serviceoplysninger findes i HKEY\_LOCAL\_MACHINESystemCurrentControlSetServices. Find den tjeneste, du vil omdirigere, find ImagePath undernøglen og ændre den værdi.

Andre referencer 2


Du kan også gøre det med PowerShell:


Get-WmiObject win32\_service -filter "Name='My Service'" `
    | Invoke-WmiMethod -Name Change `
    -ArgumentList @($null,$null,$null,$null,$null, `
    "C:Program Files (x86)My ServiceNewName.EXE")


Eller:


Set-ItemProperty -Path "HKLM:SystemCurrentControlSetServicesMy Service" `
    -Name ImagePath -Value "C:Program Files (x86)My ServiceNewName.EXE"

Andre referencer 3


Åbn Run (win + R), skriv 'Regedit.exe', for at åbne 'Registry Editor', gå til



   HKEY\_LOCAL\_MACHINE \ System \ CurrentControlSet \ Services



find ' Apache2.4 ' Åbn mappen find ' ImagePath ' i højre side, åbn 'ImagePath'
under ' værdi data ' læg følgende vej:



   'C: \ xampp \ apache \ bin \ httpd.exe' -k runservice fjende XAMPP for andre peger på den placering, hvor Apache er installeret, og inden i finder bin-mappen 'C: (Apache-installeret placering) \ bin \ httpd.exe '-k runservice


Andre referencer 4


Du kan ikke direkte redigere din vej til udførelse af en tjeneste. For det kan du bruge sc-kommandoen,


SC CONFIG ServiceName binPath= "Path of your file"


F.eks:


sc config MongoDB binPath="I:ProgrammingMongoDBMongoDBinmongod.exe --config I:ProgrammingMongoDBMongoDBinmongod.cfg --service"

Andre referencer 5


Du kan slette tjenesten:


sc delete ServiceName


Derefter genskabe tjenesten.

Andre referencer 6


Lidt dybere med 'SC' kommando, vi er i stand til at udtrække alle 'Services Name' og fik alle 'QueryServiceConfig' :)


>SC QUERY > "\%computername\%-services.txt" [enter]

>FIND "SERVICE\_NAME: " "\%computername\%-services.txt" /i > "\%computername\%-services-name.txt" [enter]

>NOTEPAD2 "\%computername\%-services-name.txt" [enter]


Gør 'lille' NOTEPAD2 redigering ..
Vælg
Forestil dig, at vi kan gøre [19] [20]


Fortsæt derefter med 'CMD'.


>FOR /F "DELIMS= SKIP=2" \%S IN ('TYPE "\%computername\%-services-name.txt"') DO @SC QC "\%S" >> "\%computername\%-services-list-config.txt" [enter]

>NOTEPAD2 "\%computername\%-services-list-config.txt" [enter]


det er
Rå data er klar til at fodre 'fremtidig batchfil', så resultatet ser sådan ud her! [21]


+ -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+
| SERVICE\_NAME | TYPE                    | START\_TYPE                | ERROR\_CONTROL | BINARY\_PATH\_NAME                                 | LOAD\_ORDER\_GROUP | TAG | DISPLAY\_NAME   | DEPENDENCIES | SERVICE\_START\_NAME |
+ -------------+-------------------------+---------------------------+---------------+--------------------------------------------------+------------------+-----+----------------+--------------+--------------------+
+ WSearch      | 10  WIN32\_OWN\_PROCESS   | 2   AUTO\_START  (DELAYED) | 1   NORMAL    | C:Windowssystem32SearchIndexer.exe /Embedding | none             | 0   | Windows Search | RPCSS        | LocalSystem        |
+ wuauserv     | 20  WIN32\_SHARE\_PROCESS | 2   AUTO\_START  (DELAYED) | 1   NORMAL    | C:Windowssystem32svchost.exe -k netsvcs       | none             | 0   | Windows Update | rpcss        | LocalSystem        |


Men HTML vil være ret lettere: D


Eventuelle lyse ideer til forbedring er velkomne V ^ \_ ^