sunnuntaina, huhtikuuta 06, 2008


Windows Update -ongelma Vistassa


Lauantaina osui eteen erikoinen ongelma Windows Vista -käyttöjärjestelmällä - kyseessä oli suomenkielinen Business-versio - varustetussa PC-työasemassa. Tulkoon tämä kerrotuksi, jos asiasta jollekulle "googlettajalle" joskus olisi apua.

Ongelma ilmeni siten, että Windows Update -palvelu ei pystynyt tarkistamaan päivityksiä. Windows toki ilmoitti asiasta. Toinen oire oli, että Ohjauspaneeli-sovellus ei suostunut avautumaan. Mahdollisia syitä saattaa olla useita, mutta tässä tapauksessa alkujuureksi osoittautui toimimaton ohjelmistojen käyttöoikeuspalvelu eli SLSVC (Software Licensing Service). Sen, onko syypäänä juuri tämä palvelu, voi tarkistaa palvelulistasta. Kun kerran Ohjauspaneeli ei toimi, pitää lista avata perinteiseen "MCSE-tyyliin" antamalla komentokehotteessa komento MMC ja Microsoft management console -ikkunassa avaamalla Windows-kansion alla olevasta System32-alikansiosta tiedosto SERVICES.MSC. Avautuvasta listasta etsitään Ohjelmistojen käyttöoikeudet -palvelu. Kaksoisklikataan sitä ja katsotaan palvelun tila. Jos palvelu on käynnistetty, vika on jossakin muualla. Jos taas palvelu on pysäytetty, voidaan yrittää käynnistää se.

Jos käynnistys onnistuu, ongelma ratkennee koneen uudelleenkäynnistyksen jälkeen. Mutta jos käynnistysyritys tarjoaa virheilmoituksen, on jatkettava korjaamista seuraavasti:

Avataan komentokehote ja CD-käskyllä siirrytään alikansioon C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing (toki alkuosan C:\Windows-määrityksen voi korvata käyttämällä ympäristömuuttujaa %windir%).

Nimetään uudelleen tiedosto TOKENS.DAT esimerkiksi käskyllä rename  tokens.dat tokens.old. Tarkoitus on saada tiedosto pois Windowsin näkyvistä, eli sen voisi vaikka poistaa. Mutta turvallisempi keino on uudelleennimeäminen.

Siirrytään Windowsin alikansioon SYSTEM32 vaikkapa näin: cd C:\Windows\system32 (ja taas DOS-fakiiri käyttäisi alkuosassa mieluummin %windir%-ympäristömuuttujaa).

Käynnistetään SLSVC-palvelu uudelleen nyt, kun toimimaton TOKENS.DAT-tiedosto on pois pelistä. Tämä tehdään käskyllä net start slsvc.

Tämän jälkeen kirjoitutetaan järjestelmän sisältämän WHS-skriptin avulla uudelleen Windowsin käyttöoikeustiedostot eli "asennetaan lisenssit". Tämä tehdään käskyllä cscript slmgr.vbs -rilc.

Nyt kone pitää käynnistää uudelleen, vaikka Windows ei sitä pyydäkään. Uudelleenkäynnistyksen yhteydessä jouduttaneen antamaan Windowsin tuoteaktivointikoodi (joka laillisesti hankituissa järjestelmissä löytynee esimerkiksi asennuslevypaketista tai tietokoneen kyljessä olevasta tarrasta). Uudelleenkäynnistyksen jälkeen seuraa korjauksen mielenkiintoisin vaihe, kun Windows - työpöydän alakulmassa olevalla tekstillä - ilmoittaa, että kyseessä ei muka ole aito Windows-versio. Tämä Windowsin harhakäsitys johtuu siitä, että tuoteaktivointikoodi ei ole vielä välittynyt edellä uudelleenkirjoitetuille käyttöoikeustiedostoille. Kone tulee käynnistää vielä tisen kerran uudelleen, jolloin asioiden, myös Windows Updaten ja Ohjauspaneelin, pitäisi viimeinkin toimia oikein.

Ei ole kovin vaikea ymmärtää niitä mielipiteitä, joiden mukaan Windowsin aitoudenvarmistusmenetelmät ovat menneet pahasti käytettävyyden edelle. Itse asiassa koko mainittua ongelmaa tuskin olisi, jos näitä menetelmiä ei olisi integroitu käyttöjärjestelmään. Se lienee nykyteknologian kyseessä ollen pakko hyväksyä, että tiedostot saattavat eri yhteyksissä korruptoitua fyysisten tai ohjelmallisten vikojen vuoksi. Käyttäjän kannalta on ikävää, jos käyttöjärjestelmän toiminnot tässä kohden lisäävät haittavaikutuksia.

1 kommentti:

Anonyymi kirjoitti...

Greetings! I've been reading your weblog for some time now and finally got the courage to go ahead and give you a shout out from Houston Texas! Just wanted to mention keep up the fantastic job!

Here is my web blog - gamblers