Als je net als de meeste Windows-gebruikers bent, heb je veel geweldige kleine hulpprogramma's die worden uitgevoerd wanneer je Windows start. Hoewel dit prima werkt voor de meeste apps, zijn er enkele die al leuk zouden zijn om te beginnen, zelfs voordat een gebruiker inlogt op de pc. Om dit te doen, moet u de app uitvoeren als een Windows-service.
Windows-services zijn een speciale klasse van programma's die zijn geconfigureerd om te starten en op de achtergrond te draaien, meestal zonder enige vorm van gebruikersinterface en zonder dat een gebruiker zich op de pc hoeft aan te melden. Veel gamers en ervaren gebruikers kennen ze echter als de dingen die u vroeger uitschakelde om uw systeem te versnellen dat is echt niet meer nodig .
Het belangrijkste voordeel van het uitvoeren van een app als een service is dat u een programma kunt laten starten voordat een gebruiker zich aanmeldt. Dat kan met name belangrijk zijn bij apps die belangrijke services bieden die u beschikbaar wilt hebben wanneer u niet achter uw computer zit.
VERWANT: Windows-services begrijpen en beheren
Een perfect voorbeeld hiervan is Plex , een mediaserver-app die lokale inhoud kan streamen naar vrijwel elk apparaat dat u bezit. Natuurlijk zou je het in het systeemvak kunnen laten staan als een normaal programma, maar wat als de computer opnieuw opstart vanwege een stroomstoring of geplande updates? Totdat u weer inlogt op de pc, is Plex niet beschikbaar. Dat is irritant als je naar een andere kamer moet rennen om Plex weer op te starten terwijl je popcorn koud wordt, en super irritant als je de stad uit bent en probeert je media via internet te streamen. Het opzetten van Plex as a Service zou dat probleem oplossen.
Voordat u begint, moet u zich bewust zijn van een aantal belangrijke kanttekeningen bij het uitvoeren van een app als een service:
- De app zal geen pictogram in het systeemvak plaatsen. Als u de interface die regelmatig voor een app beschikbaar is, nodig heeft, is deze wellicht niet het meest geschikt om als service te worden uitgevoerd.
- Wanneer u configuratiewijzigingen of updates moet aanbrengen, moet u de service stoppen, het programma uitvoeren als een gewone app, doen wat u moet doen, het programma stoppen en de service vervolgens opnieuw starten.
- Als het programma al is ingesteld om te worden uitgevoerd wanneer Windows wordt gestart, moet u dit uitschakelen, zodat er niet twee instanties worden uitgevoerd. De meeste programma's hebben een optie in de interface om deze instelling om te schakelen. Anderen kunnen zichzelf toevoegen aan uw Startup folder , zodat u ze daar kunt verwijderen.
Klaar om te rollen? Laten we het hebben over hoe u het instelt.
Stap één: installeer SrvStart
Om een app als een service uit te voeren, heb je een klein hulpprogramma van derden nodig. Er zijn er verschillende, maar onze favoriet is SrvStart . Het is oorspronkelijk ontworpen voor Windows NT en werkt met vrijwel elke versie van Windows vanaf Windows XP.
Ga om te beginnen naar het
SrvStart-downloadpagina
en pak het hulpprogramma. De download bevat slechts vier bestanden (twee DLL- en twee EXE-bestanden). Er is geen installatieprogramma; Kopieer deze in plaats daarvan naar het
C: \ Windows
map deze naar uw hoofdmap van Windows om SrvStart te “installeren”.
We gaan er ook van uit dat je al het programma hebt geïnstalleerd en ingesteld dat je in een service wilt veranderen, maar als je dat nog niet hebt gedaan, is het nu een goed moment om dat ook te doen.
Stap twee: maak een configuratiebestand voor de nieuwe service
Vervolgens wilt u een configuratiebestand maken dat SrvStart zal lezen om de service te maken. U kunt veel doen met SrvStart en u kunt de volledige details over alle configuratie-opties lezen op de
documentatie pagina
. Voor dit voorbeeld gaan we slechts twee commando's gebruiken:
beginnen
, die het programma specificeert dat moet worden gestart, en
shutdown_method
, die SrvStart vertelt hoe het programma moet worden gesloten wanneer de respectieve service is gestopt.
Start Kladblok en maak uw configuratiebestand met de onderstaande indeling. Hier gebruiken we Plex, maar u kunt een bestand maken voor elk programma dat u als service wilt uitvoeren. De
beginnen
commando specificeert eenvoudig het pad waar het uitvoerbare bestand zich bevindt. Voor de
shutdown_method
commando gebruiken we de
wijnbericht
parameter, die ervoor zorgt dat SrvStart een Windows-afsluitbericht stuurt naar alle vensters die door de service worden geopend.
[Plex] startup = "C: \ Program Files (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
Pas uiteraard het pad en de naam aan volgens het programma dat u start.
Sla het nieuwe configuratiebestand op waar u maar wilt en vervang de .txt-extensie door een .ini-extensie. Noteer de bestandsnaam, want we hebben deze nodig bij de volgende stap. Om het typen op de opdrachtprompt te vergemakkelijken, raden we aan dit bestand tijdelijk op uw C: -station op te slaan.
Stap drie: gebruik de opdrachtprompt om de nieuwe service te maken
De volgende stap is het gebruik van de opdracht Windows Service Controller (SC) om de nieuwe service te maken op basis van de criteria in uw configuratiebestand. Open de opdrachtprompt door met de rechtermuisknop op het menu Start te klikken (of op Windows + X te drukken), "Opdrachtprompt (Admin)" te kiezen en vervolgens op Ja te klikken om het met beheerdersrechten te laten uitvoeren.
Gebruik bij de opdrachtprompt de volgende syntaxis om de nieuwe service te maken:
SC CREATE <servicenaam> Weergavenaam = "<servicenaam>" binpath = "srvstart.exe <servicenaam> -c <pad naar srvstart-configuratiebestand>" start = <starttype>
Er zijn een paar dingen die u in dat commando moet opmerken. Ten eerste heeft elk gelijkteken (=) een spatie erachter. Dat is vereist. Ook de
<servicenaam>
waarde is geheel aan jou. En tot slot voor de
<starttype>
waarde, u wilt gebruiken
auto
zodat de service automatisch start met Windows.
Dus in ons Plex-voorbeeld zou de opdracht er als volgt uitzien:
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto
Ja, je leest het goed: ik gebruikte
C: PlexService.ini
in plaats van
C: \ PlexService.ini
. De opdracht vereist dat u de schuine streep verwijdert.
Wanneer u de opdracht uitvoert, zou u een SUCCESS-bericht moeten ontvangen als alles goed gaat.
Vanaf dit punt wordt uw nieuwe service uitgevoerd wanneer Windows wordt gestart. Als u de Windows Services-interface opent (klik op Start en typ "Services"), kunt u de nieuwe service op dezelfde manier zoeken en configureren als elke andere.
En dat is alles wat er is. Als u apps heeft die met Windows beginnen en u ze liever start zonder dat een gebruiker zich hoeft aan te melden, is het eenvoudig genoeg om van elke app een service te maken. We hebben zojuist de basismethode voor het maken en uitvoeren van een nieuwe service besproken, maar er is nog veel meer dat u kunt doen met SrvStart om te verfijnen hoe een service werkt. Bekijk de documentatie als u meer wilt weten.