Il codice funziona correttamente, infatti sulla macchina XP la chiave che cerchi non c'è mica, dovresti trovare un'altra chiave che ti dica che MSSQL è installato... ma piuttosto, non è meglio cercare di collegarsi al DB locale e, se il collegamento fallisce, segnalare all'utente che non è stato trovato alcun DB server installato?