MonthDecember 2006

Kódzavarban

Miután sikeresen feltelepítettem az Office2007-et, egyből nekiugrottam a számomra legfontosabb komponens beállításának: Outlook2007.
Elképzelhető, hogy ebből hitviták lesznek – én ettől függetlenül évek óta ezt használom otthoni levelezésre, függetlenül attól, hogy a lakásban nincs Exchange szerver. Ezzel szemben van PDA – és nagyon kényelmes, hogy a Calendar/Contact/Task/Notes adatokat is tudom vele szinkronizálni. (Sőt, mindezeket – a PDA segítségével – szinkronizálom a munkahelyi gépemmel is, így elmondható, hogy minden számítógépes környezetben szinkronban vannak az önszervezéshez kapcsolódó anyagaim.)
Természetesen minden évben külön PST fájlba archiválok, de az alap PST, amelyben dolgozom, legalább nyolc éve ugyanaz. Ugyanaz a régi – Outlook97 – tipusú PST fájl dübörög az otthoni Outlook alkalmazásaim alatt.

Ezt a fájlt csempésztem a megszokott módon a mostani Outlook2007 alá is. Fel sem vettem, hogy hőbörgött egy sort a unicode támogatással kapcsolatban. Ugyan már, a 2003 is hőbörgött, aztán mégis milyen szépen ment vele minden.

Tulajdonképpen most is ment minden. Láttam a leveleimet, tudtam küldeni és fogadni is… csak valahogy a magyar ékezeteim pottyantak ki valahol a levelekből. Illetve nem is pottyantak ki, mert ismerőseim szerint teljesen jó leveleket küldtem – annak ellenére, hogy ezek a levelek az én kliens programomban úgy néztek ki, mint ha csupa különösen mogorva cseh káromkodásokból állnának. Legalábbis magánhangzó nem nagyon volt bennük.

Ránézésre kikódolási problémának tűnt. Nézzük a View/Encoding menüt. Izé, merre is van…? Hát, elvoltam egy darabig, mire megtaláltam. Annak ellenére mondom ezt, hogy az új menüelérés jobban tetszik – de még szoknom kell. (Hasonlóképpen sikongattam, amikor a levél fejlécét szerettem volna elérni, levélen belülről.) No, mindegy az Encoding alapján Central European kódolásban olvastam volna a leveleket. Harsány ‘a-ha’ felkiáltás mellett átállítottam UTF8-ra – és láss csodát, egyből megjelentek az ékezetes betűk. Oké, ez gyors volt – nyugodtam meg. A levél bezárásakor még megkérdezte, hogy akarom-e menteni a levelet? Persze, akartam. De nem csak ezt, hanem meg is akartam utána nyitni. Ahol minden mentés ellenére megint eltűntek a magyar betűk. Nocsak. Nézzük a kódolást: jólnevelten maradt UTF-8. Aztán mégsem látszódtak a betűk. Hmm… Levél bezár, megnyit, semmi nem változott. Oké, átállítottam valami idétlen egzotikus urdu kódra, majd rögtön utána vissza UTF8-ra. Egyből megjöttek a magyar betűcskéim.
Lementettem, újra megnyitottam – az ékezetes karakterek megint bal fenéken el.

Nem értettem. Most akkor mi van? Ha beállítom megnyitás után az UTF8-at, akkor felismeri a karaktereket. Ha megnyitás előtt állítom be, akkor meg nem. És mi van teliholdkor?

Végül minden misztifikálásra való hajlamom ellenére nekiálltam keresgélni a neten.
Ezt találtam. Habár a szöveg egzakt módon nem tartalmazta, hogy „de nagy marha vagy Joep, miért nem használsz már unicode alapú PST-t a mostani szutyok helyett” – de értek én a virágnyelvből, tudomásul vettem, hogy az Outlook induláskor ellenőrzi, hogy fennállnak-e bizonyos feltételek és ettől függően vagy unicode módban indul vagy sem. Első esetben süt a nap és csicseregnek a madarak, a második esetben meg még a fű sem nő. És mik a feltételek? Vagy Exchange2000 illetve afölötti Exchange szerveren létrehozott postafiók vagy unicode tipusú OST/PST.

Gyors ellenpróbát tettem: új profil, unicode tipusú PST – és gyönyörűen jöttek-mentek a magyar ékezetek, azt sem kellett tudnom, hol van az Encoding menüpont.

Innentől már nem volt messze a megoldás. Kimentem az előszobába, egy kicsit rugdostam a tálalószekrényt, majd nekiugrottam a lapátolásnak. Szószerint. Létre kellett hoznom egy új profilt, benne egy üres adatbázissal. Aztán ebben letükrözni a korábbi folderstruktúrát, folderenként átmozgatni a leveleket. Természetesen minden folder elemen újra kellett állítgatnom minden megjelenítésre vonatkozó opciót. Nem volt kis munka, de hol volt még a vége. Pl. le kellett gyártanom újra az összes szabályt. Át kellett csalogatnom a Calendar/Task/Contact/Notes adatokat is. Szerencsére emlékeztem mICK jótanácsára, így viszonylag simán átjött az összes appointment is. Persze mindegyik tipusú adatcsoportnál újra definiálni kellett a megszokott szűrőfeltételeket.
Végül az egész művelet megkoronázásaként újra fel kellett építenem az Activesync szinkronizációt – ugye ez alól nemes egyszerűséggel ki lett rúgva a sámli. A többezer item szinkronizációja eltartott pár óráig. Aztán mivel ezek csupa új elemként jöttek be, így ugyanezt a teljes szinkronizációs kört végig kellett játszanom a munkahelyi gépemmel is. Sőt. Mivel a munkahelyi gépem még a telefonommal is össze van szinkronizálva, így ott is le kellett nyomni egy teljes kört. Bízva abban, hogy közben senki nem csörög rám.
De végül sikerült. Mindenki összhangban van mindenkivel.
És vannak magyar betűim az Outlook2007-ben.

MyUnInst rulez

Adott volt a feladat. Itt van egy gép, telepítsek rá Office2007-et – úgy, hogy korábban volt rajta Office2007 béta. Nem tűnt túl pilótavizsgás küldetésnek.

Először bedobtam a cédét, setup. Tudom, tudom… de alapvetően jóindulatú ember vagyok, adtam egy esélyt, hátha. Nem jött be, a telepítő mogorván csak annyit mondott, hogy itt bizony két dudás próbál bepréselődni ugyanabba a kocsmába, az egyiket pöndörítsem csak bátran ki.

Oké, bétaoffice az addremoveprograms segítségével ki lett tessékelve, megint telepítőcédé, aztán setup. Nos, a telepítő az előbbi akción annyira megsértődött, hogy fogai között csak ennyit vetett oda:

„Setup is unable to proceed due to the following error(s): The 2007 Microsoft Office system does not support upgrading from a prerelease version of the 2007 Microsoft Office system. You must first uninstall any prerelease versions of the 2007 Microsoft Office system products and associates technologies.”

Nodehát… hiszen letöröltem.
A biztonság kedvéért szétnéztem itt-ott, de tényleg le lett törölve.
Gondolkodtam, hogy nekiállok átfésülni a registry-t, de aztán úgy döntöttem, inkább megidézem a guglipowert. És milyen jól döntöttem.
Itt van egy remek kis írás arról, hogy Scott Hanselman hogyan mászott ki ugyanebből a szituációból. Ajánlom mindenkinek szíves figyelmébe, nagyon tanulságos írás. Az ember elég hamar rájön, hogy vannak olyan esetek, amikor a saját szívásai apró törpévé zsugorodnak másokéi mellett.

Scott először a Filemon segítségével megkereste, hová rakja az Office a setup log fájlt. (Már ez is… hol vagyunk mi még ettől, hogy ennyire készség szintű legyen a Filemon? Hogy az ember inkább ezt válassza, mint a manuális matatást a vinyón vagy jobb esetben egy desktop search programot, bizonytalan nevű log fájl után kutatva.)
A logfájlban talált egy GUID-ot, arra rákeresett a registryben és ebből adódott, hogy a bűnös komponens, mely meghiúsította a végleges office beköltözési szándékát, az bizony a Microsoft Office Shared MUI (English) komponens.
Eddig öröm az élet… csakhogy ezt most el is kellene távolítani. Az addremoveprograms meg szégyenlősen hallgat.
Scott ekkor előkapta a titkos fegyvert: MyUninst a NirSoft-tól. Ingyenes, egyszerű, mint a faék – és mindent lát, ami valaha fel lett telepítve a gépre. Sőt, nem csak látja ezeket a programokat, de ki is nyesi őket.
Meglepő módon nem csak a MUI komponens maradt fent, hanem még néhány helyesírásellenőrző szutyok is – azaz az a szerencsétlen előző program annyira béta volt, hogy képtelen volt minden komponensét bőröndbe pakolva elhúzni melegebb égtájakra.
Természetesen a MyUnInst segítségével minden kidobható és utána már rendben mehet is a telepítés.

Tartozom az igazságnak azzal, hogy a hibáról a Microsoft is tud. Van is róla KB cikk.
De tessék alaposan átolvasni: ha először ezt a cikket találom meg, istenbizony fogom és inkább visszatelepítem az Office2003-at, mint hogy ennyit turkáljak a registryben.
MyUnIst rulez.

Kizártam magam és most nem engednek be!

Majd ugyanezzel a vehemenciával lecsapja az asztalra a laptopot a Kedves Felhasználó.

Találkoztunk már ilyennel?
Joe igen.

Az átlagos rendszergazda ilyenkor megvárja, míg a felhasználó elhagyja a szobát és utána headbangel egy picit a Dexion Salgón. Aztán elkezd megoldást keresni. Ha bedobja a problémát egy levlistára, valószínűleg azt a választ fogja kapni, hogy „apukám, ne adj a felhasználónak lokál admin jogot”. Ez oké, minden normális rendszergazda tisztában van vele, hogy ez a hosszú élet titka – de vannak olyan felhasználók, akik elég erősek ahhoz, hogy kiharcolják ezt a jogot maguknak. Sajnos az akarat és a műszaki intelligencia nem mindig korrelál szorosan, így általában pont ezek azok a felhasználók, akik a legkreatívabban tudják szénné konfigurálni a gépeiket.

Szerencsére Joe találkozott egy igazán ravasz rendszergazdával, aki elmagyarázta neki, hogyan lehet megakadályozni azt, hogy a felhasználó betegye a gépét az otthoni tartományba, átnevezhesse a gépét, átírhassa az elsődleges domain suffix-et, meg ilyenek.
Ezen lépések mindegyikét ugyanis a System Properties/Computer Name fül alatt lehet megtenni. Maga a fül mögött a c:\windows\system32\netid.dll lapul – azaz ha ezen a fájlon fizikailag letiltjuk a felhasználó hozzáférését, akkor… akkor az történik, hogy a System Properties alól egyszerűen eltűnik a Computer Name fül.
Nyilván a nagyon okos, nagyon ügyes… nagyon erőszakos lokál admin eszén nem lehet túljárni. De mindenki másén igen.