mercoledì 17 luglio 2013

Reinstallare il servizio task scheduler di Windows XP

Se disponiamo di un sistema Windows Embedded preinstallato, è possibile che non tutte le funzionalità di Windows XP siano incluse. I produttori costruiscono l'immagine in base a specifiche esigenze, pertanto il pacchetto completo dei file disponibili, potrebbe differire sensibilmente da un sistema all'altro.

Nel nostro caso abbiamo un sistema cui manca totalmente il supporto ai task schedulati di Windows. Il task scheduler è disponibile come servizio di sistema, ma Windows Embedded non consente di aggiungere pacchetti tramite l'applet 'Installazione applicazioni'.

E' disponibile un post nel blog 'BillJr's Space', intitolato Repairing Scheduled Tasks Manager for Windows XP, che spiega come reinstallare manualmente il servizio task scheduler di Windows. Tutto ciò che occorre sono i file originali:

- mstask.inf
- mstask.ini
- mstask.dll
- mstinit.exe

presi da un'immagine completa di Windows XP, in versione home o professional, oppure dal cd di installazione.

Al termine dell'installazione, da Start / Esegui digitare Tasks e premere INVIO. Se l'installazione ha avuto successo, deve essere visualizzata la cartella C:\Windows\Tasks che include l'applet Aggiungi operazione pianificata.

Attenzione: si consiglia di utilizzare file di origine della stessa lingua del sistema in uso. Nella versione italiana, il servizio schedule di Windows possiede, come nome esteso Utilità di pianificazione, mentre nella versione inglese è denominato Scheduled tasks.

E' possibile che dopo l'installazione, il servizio schedule non venga avviato automaticamente. Se proviamo ad avviarlo manualmente, tramite l'applet services.msc, viene restituito il messaggio:

"Error 1083: The executable program that this service is configured to run in does not implement the service."

Guardando nei dettagli del servizio, verifichiamo la stringa di avvio che è la seguente:

C:\WINDOWS\System32\svchost.exe -k netsvcs


Questo ci dice che il servizio viene avviato dall'eseguibile svchost che carica il gruppo di servizi nella voce netsvcs. Il messaggio di errore precedente, indica che nel gruppo netsvcs non è incluso il nome del nostro servizio.
A questo punto, avviare regedit ed espandere la voce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\SvcHost
Fare doppio clic sulla voce netsvcs




All'elenco che compare aggiungere anche la voce relativa al servizio task scheduler:



Fatto questo premere OK.

E' richiesto il riavvo del sistema, dopodiché il servizio sarà avviato correttamente e diverrà funzionante.