środa, 2 sierpnia 2017

Thunderbird i Pocket PC

Tworząc system Windows Mobile (w tym artykule oznacza to „stary” Windows Mobile w wersjach 2002, 2003 i 2003SE) Microsoft zbudował mechanizmy do synchronizacji danych z książki adresowej i kalendarza (a także zadań i notatek) z programem Outlook dla PC. Dla użytkowników mobilnych komputerków nie posiadających Microsoft Office, do każdego urządzenia była dołączana płyta instalacyjna z programem Outlook 2002 dla PC.

Czasy się jednak zmieniły. Synchronizacja z Pocket PC nie działa z Outlookiem wchodzącym w skład najnowszych wersji pakietu Microsoft Office, zaś Outlook 2002 nie działa pod kontrolą nowych wersji systemu Windows (na pewno działa pod Windows XP, być może też pod kontrolą 32-bitowych wersji Windows Vista i Windows 7, ale tego nie sprawdzałem). I co teraz? Czy oznacza to definitywny koniec możliwości synchronizowania danych z „dużym” komputerem? Niekoniecznie. Dla tych, którzy nie mają możliwości skorzystania z Outlooka lub po prostu nie lubią tego programu (do tej ostatniej kategorii i ja się zaliczam), istnieje możliwość synchronizacji z Thunderbirdem. Wprawdzie jest to trochę skomplikowane i nic nie będzie się „robiło samo” (korzystać będziemy z oprogramowania klasy „beta” – wersja ostateczna nigdy nie powstała), ale się da. Można nawet, za pośrednictwem Thunderbirda, synchronizować książkę adresową Pocket PC z kontaktami Google, a w ograniczonym zakresie – także terminy z kalendarzem Google.

Na początek musimy zsynchronizować Thunderbirda z usługami Google. Zastanawiałem się, czy rozpisywać się szerzej na ten temat, ale wykracza to poza tematykę tego bloga, a ponadto szczegółowe opisy są łatwe do odnalezienia w internecie (pomoc Mozilli twoim przyjacielem). Dlatego ograniczę się do tego, co niezbędne.

1. Synchronizacja książki adresowej

Istnieje kilka dodatków (plugins) do Thunderbirda umożliwiających synchronizację książki adresowej z chmurą Google. Ja korzystam z gContactSync. Działa stabilnie i mogę go z czystym sumieniem polecić. Podczas konfiguracji teoretycznie jest możliwość połączenia istniejącej osobistej książki adresowej z usługami Google, ja jednak bardzo polecam założenie nowej książki i skopiowanie do niej istniejących kontaktów. Zabezpieczymy się w ten sposób przed przypadkowym skasowaniem naszej bazy, gdyby podczas dalszej konfiguracji lub użytkowania coś poszło nie tak.

Utworzenie nowej książki adresowej skutkuje w programie Thunderbird powstaniem pliku abook*.mab przeznaczonego na dane (standardowa książka znajduje się w pliku abook.mab, następna – abook-1.mab, kolejna – abook-2.mab itd.), w katalogu profilu. Do konfiguracji z PPC musimy dokładnie wiedzieć, gdzie to jest.

Profil Thunderbirda znajduje się w katalogu:
              %APPDATA%\Thunderbird\Profiles\losowy_ciąg_znaków.default
przy czym %APPDATA% jest zmienną systemową wskazującą na katalog, w którym Windows zapisuje dane potrzebne aplikacjom użytkowym. Aby dowiedzieć się, co się pod tym kryje otwieramy okno konsoli tekstowej i wprowadzamy polecenie:
              echo %appdata%
Pod kontrolą Windows XP najprawdopodobniej otrzymamy odpowiedź:
             C:\Documents and Settings\<nazwa_użytkownika>\Dane aplikacji
(w miejscu <nazwa_użytkownika> pojawi się nazwa użytkownika aktualnie zalogowanego w systemie).
Następnie wprowadzamy (w jednym wierszu):
      dir "C:\Documents and Settings\<nazwa_użytkownika>\Dane aplikacji\Thunderbird\Profiles"
(pole <nazwa_użytkownika> zastępujemy oczywiście właściwą nazwą) otrzymując w wyniku coś takiego:
      2016-06-06 19:44 <DIR> .
      2016-06-06 19:44 <DIR> ..
      2016-06-06 19:44 <DIR> yk47cxfd.default
Wreszcie (znowu w jednym wierszu):
      dir "C:\Documents and Settings\<nazwa_użytkownika>\Dane aplikacji\Thunderbird\Profiles\yk47cxfd.default\abook*.mab"
dostając w odpowiedzi coś podobnego do:
      2017-07-29 10:35 165 219 abook-1.mab
      2017-07-02 12:52 29 268 ABOOK.MAB
Tak więc w przykładowym systemie (Windows XP) nowa książka adresowa znajduje się w pliku:
      C:\Documents and Settings\<nazwa_użytkownika>\Dane aplikacji\Thunderbird\Profiles\yk47cxfd.default\abook-1.mab
Każdy musi to sobie sprawdzić samodzielnie i zapamiętać (a najlepiej zapisać).

2. Synchronizacja kalendarza

Począwszy od wersji 38 Thunderbird zawiera zintegrowany kalendarz Lightning (wcześniej trzeba było go doinstalowywać jako dodatek). Tak jak poprzednio zalecam utworzenie nowego kalendarza, dlatego klikamy Plik Utwórz → Kalendarz → Kalendarz zdalny, wybieramy Kalendarz Google... Zaraz, zaraz: ale przecież czegoś takiego nie ma! Żeby ta opcja się pojawiła trzeba zainstalować dodatek „Dostawca dla kalendarza Google” (Provider for Google Calendar). Dalsza konfiguracja nie powinna już przysporzyć problemów.

Niestety nie przybliżyło nas to zbytnio do synchronizacji kalendarza z Pocket PC. Do tego celu potrzebujemy kalendarza w pliku, w formacie iCalendar (rozszerzenie pliku .ics). Thunderbird obsługuje takie pliki, tylko... skąd go wziąć? Najprościej z... Google!

Logujemy się do naszego kalendarza Google w przeglądarce WWW (https://calendar.google.com), rozwijamy „Moje kalendarze”. Będzie tam kalendarz nazwany imieniem i nazwiskiem które podaliśmy podczas rejestracji w Google. Rozwijamy menu tego kalendarza (przycisk z trójkątem skierowanym w dół) i wybieramy „Ustawienia kalendarza”. Teraz trzeba znaleźć „Eksportowanie kalendarza” (być może trzeba trochę przewinąć stronę) i kliknąć „Eksportuj ten kalendarz”. Powinno to doprowadzić do pobrania pliku o nazwie <adres_e-mail_w_Google>.ical.zip. W archiwum znajduje się plik <adres_e-mail_w_Google>.ics, który wypakujemy do odpowiedniego katalogu na dysku. „Odpowiedniego”, to znaczy takiego, że zawsze będziemy wiedzieli gdzie on jest i nie będziemy w nim „grzebali”. Moim zdaniem dobrym miejscem jest odnaleziony w poprzednim punkcie katalog profilu Thunderbirda.

Teraz możemy skonfigurować nowy (to już będzie trzeci) kalendarz w Thunderbirdzie. Klikamy jak poprzednio: Plik → Utwórz → Kalendarz → Kalendarz zdalny, zaznaczamy „iCalendar (ICS)” i wskazujemy położenie pliku. Teraz uwaga, uwaga: położenie pliku wprowadzamy w następującym formacie:
      file:///c:/documents and settings/<nazwa_użytkownika>/dane aplikacji/thunderbird/profiles/yk47cxfd.default/<adres_e-mail_w_google>.ics
Należy zwrócić uwagę na przedrostek „file:///" (trzy ukośniki, a nie dwa, to nie pomyłka!) oraz zastąpienie wszystkich odwrotnych ukośników (\) prostymi (/). Dla użytkownika Windows może się to wydawać dziwne, ale użytkownik Linuksa poczuje się „jak w domu”. Dalsza konfiguracja powinna już przebiegać bez problemów, jeśli kalendarz Google był wypełniony danymi, to powinniśmy zobaczyć te dane przeniesione do Thunderbirda.

Dopiero teraz możemy przejść do sprawy zasadniczej, czyli synchronizacji Pocket PC z Thunderbirdem. Czytelnicy, którzy nie są zainteresowani współpracą z chmurą Google mogliby w zasadzie zacząć czytać od tego momentu, ale:
  • trzeba wiedzieć, gdzie znajduje się plik książki adresowej
  • trzeba mieć skonfigurowany kalendarz w formacie iCalendar.

3. Synchronizacja z Pocket PC

Do synchronizacji kalendarza i książki adresowej Pocket PC z Thunderbirdem potrzebne jest oprogramowanie FinchSync. Ja używam wersji 0.8d. Znalezienie aktywnego linku do pobrania tej aplikacji w internecie może już dzisiaj stanowić problem, dlatego wrzuciłem plik tutaj.


Oprogramowanie działa w architekturze client-server. Serwerem jest aplikacja Javy zapisana w pliku finschsync.jar, uruchamiana na PC. Do swojego działania wymaga jedynie zainstalowanej wirtualnej maszyny Javy, przy czym nie jest „wybredna” jeśli chodzi na przykład o wersję. W praktyce nie miałem żadnych problemów z uruchamianiem tego programu pod kontrolą różnych wersji systemu Windows, z różnymi wersjami Javy. Być może będzie działać także pod kontrolą innych systemów operacyjnych obsługujących Javę, na przykład Linux, ale tego nie próbowałem.

Plik instalacyjny klienta, FinschSync.cab.CAB, należy przekopiować na Pocket PC i tam uruchomić. Instalacja trwa krótką chwilę, po czym w menedżerze programów (Programs) powinna pojawić się ikona FinchSync.

Pora na konfigurację. Uruchamiamy serwer, klikamy zakładkę „Sync Sources” i przycisk „Add”. Wpisujemy nazwę nowego źródła danych, na przykład „Adresy” (polskie litery i inne „dziwne” znaczki nie są akceptowane) i klikamy „Next”. Następnie w pozycji „Source” wybieramy „Mozilla/Thunderbird/Netscape Address Book”. Teraz trzeba wskazać plik z książką adresową. Klikamy „Browse” i posługując się danymi zapamiętanymi (zanotowanymi) w punkcie 1 wyszukujemy odpowiedni plik .mab, następnie klikamy „Next”. Na kolejnym formularzu sprawdzamy poprawność wprowadzonych danych i klikamy „Finish”. Analogicznie konfigurujemy kalendarz, tylko jako „Source” wybieramy „Mozilla Calendar/Sunbird” i wskazujemy plik .ics skonfigurowany w punkcie 2.

Skoro mamy już źródła danych, pora na komunikację z klientem. Klikamy zakładkę „Clients” i „Add”. Wpisujemy nazwę klienta (polskie litery, spacje i inne „dziwactwa” zabronione) i hasło. Te dane musimy zapamiętać, bo będziemy je musieli wprowadzić na Pocket PC. Następnie klikamy „Add” (na tej samej formatce) i wybieramy „Adresy” (czy jak tam nazwaliśmy źródło danych książki adresowej), następnie w analogiczny sposób dodajemy kalendarz. Na tym kończy się konfiguracja serwera. Warto tylko przełączyć się na zakładkę „Activity”, żeby można było podejrzeć adres IP serwera i śledzić przebieg sesji z klientem.

Czas na Pocket PC. Łączymy PDA z komputerem PC kablem USB (na komputerze musi być zainstalowany i skonfigurowany ActiveSync lub Centrum obsługi urządzeń z systemem Windows Mobile). Uruchamiamy FinschSync, klikamy „Config”, następnie „Server” (pojawi się pusta lista serwerów) i „Add”. Wpisujemy nazwę serwera, jego adres IP (jest wyświetlony na dole okna aplikacji serwera), login (to jest nazwa klienta wprowadzona przy konfiguracji serwera) i hasło. Teraz uwaga, uwaga: zmieniamy wartość w polu „Port” z domyślnej „80” na „8080”. Bez tego nic się nie uda. Klikamy przycisk „Test”, następnie w kolejnym oknie – „connect”. Jeśli wszystko zrobiliśmy dobrze, to powinniśmy zobaczyć, jakie źródła danych skonfigurowaliśmy na serwerze. Zamykamy formatkę („OK” w prawym górnym rogu) i wracamy do formularza „Server Configuration”, gdzie klikamy przycisk „OK”. Teraz lista serwerów już nie jest pusta. Zamykamy formatkę.

Przeprowadzamy próbę synchronizacji: zamykamy Thunderbirda na PC, a na urządzeniu mobilnym klikamy przycisk „Sync it” w głównym oknie Finsch Synca. Po krótszej lub dłuższej chwili powinniśmy otrzymać komunikat „Synchronization succesful !”. Bingo!!! Można już zamknąć Fiinsh Sync na PPC (a także serwer na „dużym” PC) i sprawdzić zawartość książki adresowej i kalendarza na urządzeniu mobilnym, oraz w programie Thunderbird. Jestem gotów się założyć, że efekt nie będzie zgodny z oczekiwaniami. To dlatego, że zasady synchronizacji danych są zupełnie inne, niż te, które Microsoft wymyślił dla Outlooka. O tym dalej.

4. O synchronizacji słów kilka

Synchronizacja danych przy pomocy FinchSynca przebiega następująco. Podczas konfiguracji połączenia z serwerem na Pocket PC (albo dopiero przy pierwszej synchronizacji, nigdy nie chciało mi się tego zbadać dokładnie) w Pocket Outlooku tworzone są dwie nowe kategorie: <nazwa_serwera>:Adresy i <nazwa_serwera>:Kalendarz (albo podobnie, w zależności od tego, jak nazwaliśmy nasze źródła danych). Podczas pierwszej synchronizacji dane z Thunderbirda kopiują się do Pocket Outlooka i wpisy zostają od razu przypisane do odpowiednich kategorii. Dane z Pocket PC nie kopiują się do Thunderbirda, gdyż nie mają przypisanej właściwej kategorii. To dlatego po synchronizacji stan danych może nie do końca odpowiadać oczekiwaniom. Podczas kolejnych sesji synchronizują się dane przypisane do odpowiednich kategorii niezależnie od tego gdzie były edytowane, oraz wpisy utworzone w Thunderbirdzie kopiowane są na Pocket PC. Jeśli jednak utworzymy wpis w Pocket Outlooku i chcemy, żeby się synchronizował z Thunderbirdem, musimy „ręcznie” przypisać mu odpowiednią kategorię.

Na początku może się to wydawać niewygodne i dziwaczne, system ten ma jednak swoją logikę. Przede wszystkim urządzenie przenośne może być synchronizowane z dowolną liczbą serwerów (w przypadku rozwiązania Microsoftu – maksymalnie z dwoma). Serwery nie muszą przechowywać tych samych danych (w przypadku rozwiązania Microsoftu – muszą), gdyż kategorie pozwalają rozróżnić, które dane pochodzą z którego serwera i z którym muszą się synchronizować. Istnieje prosta metoda na zdefiniowanie danych „wspólnych”, które mają się synchronizować ze wszystkimi lub z wybraną grupą serwerów. Wystarczy je przypisać do kilku kategorii. Wreszcie, rozwiązanie pozwala znacznie zminimalizować ryzyko utraty wszystkich danych. W przypadku rozwiązania Microsoftu, jeśli na Pocket PC wykonamy „twardy reset” lub po prostu wyładujemy baterię „do zera”, co na tym urządzeniu jest równoznaczne z utratą danych użytkownika, system synchronizacji potraktuje to jako skasowanie wszystkich danych. Może się wówczas zdarzyć, że po podłączeniu urządzenia przenośnego do PC, w wyniku „synchronizacji” stracimy wszystkie dane w Outlooku. W przypadku FinchSynca pusta baza Pocket Outlooka będzie oznaczała, że trzeba skopiować dane z Thunderbirda (zwłaszcza że będziemy musieli skonfigurować klienta FinchSync od nowa, będzie to więc pierwsza synchronizacja) i nic się złego nie stanie. Jednak nawet gdyby udało nam się przypadkowo skasować jakieś istotne wpisy, zostaną one usunięte tylko w tej książce adresowej i w tym kalendarzu Thunderbirda, które podlegają synchronizacji z danym urządzeniem przenośnym. Nie będą to wszystkie dane.

Ważna uwaga. Już o tym wspominałem, ale nie zaszkodzi przypomnieć jeszcze raz. Proces synchronizacji FinchSync uruchamiamy przy zamkniętym programie Thunderbird. W przeciwnym wypadku modyfikacje danych wykonane w Thunderbirdzie przekopiują się wprawdzie do Pocket Outlooka, ale modyfikacje wykonane na Pocket PC nie przeniosą się do baz Thunderbirda, gdyż pliki będą otwarte i serwer FinchSync nie będzie mógł wykonać zapisu.

No dobrze: a co z synchronizacją z usługami Google? W przypadku książki adresowej – nie ma problemu. FinchSync synchronizuje Pocket Outlooka z książką adresową Thunderbirda, gContactSync synchronizuje książkę Thunderbirda z kontaktami Google i to by było na tyle. Z kalendarzem jest gorzej: wprawdzie i tutaj FinchSync synchronizuje Pocket Outlooka z kalendarzem Thunderbirda, ale to nie jest ten kalendarz, który jest synchronizowany z Google. Jeśli więc chcemy, żeby jakiś wpis kalendarza z Pocket PC pojawił się w Google, musimy go „ręcznie” w Thunderbirdzie przenieść z jednego kalendarza do drugiego. Na szczęście jest to łatwe. Podobnie postępujemy, jeśli jakiś termin z Google ma się pojawić na Pocket PC. Może taka „ręczna synchronizacja” nie jest tym, co tygrysy lubią najbardziej, ale w końcu „lepszy rydz, niż nic”.

5. Iskierka nadziei na koniec

Uważny czytelnik zauważył zapewne, że połączenie klienta FinshSync z serwerem odbywa się z wykorzystaniem protokołu IP (przy konfiguracji klienta podawaliśmy adres IP serwera). Oprogramowanie Microsoft ActiveSync lub Centrum obsługi urządzeń z Windows Mobile, zainstalowane na PC, wykorzystywane jest w tym przypadku do realizacji połączenia IP przez kabel USB i w zasadzie do niczego więcej. Takie połączenie może jednak być zrealizowane w inny sposób, na przykład przez WiFi. Ja tego nie testowałem, bo moje komputerki mobilne nie mają wbudowanego adaptera WiFi i chociaż jest możliwe podłączenie takiego urządzenia w postaci karty SD (mam coś takiego i nawet działa), jednak nie jest wygodne, bo trzeba wyjąć kartę pamięci z danymi (a wewnętrzna pamięć urządzenia jest malutka). Wolę kabelek. Może jednak jest to jakiś sposób na synchronizację z Windows 10 po poprawce Creators Update, na którym Centrum obsługi już nie działa?

wtorek, 13 czerwca 2017

Stare i nowe, czyli synchronizacja Pocket PC z Windows 10


Kiedyś dawno temu, przedstawiając swój sprzęt, pisałem o Pocket PC („Komputer na dłoni”). Urządzenia te nadal są u mnie w użyciu, ale w międzyczasie zrodził się problem: jak je synchronizować z komputerem stacjonarnym lub laptopem pracującym pod kontrolą Windows 10?

Temat może się wydawać dość egzotyczny: kto dzisiaj, w dobie tabletów i smartfonów, używa jeszcze Pocket PC (poza dinozaurami oczywiście)? Co jednak mają powiedzieć właściciele nawigacji samochodowych z systemem Windows CE, które do aktualizacji mapy wymagają połączenia z komputerem? Pomimo konkurencji ze strony smartfonów i małych tabletów takie urządzenia wciąż jeszcze są używane (wygodnie jest mieć oddzielne urządzenie do nawigacji), a problem ich również dotyczy (stary Windows Mobile to nieco zmieniona wersja Windows CE).

W czasach Windows 98, 2000 czy XP sprawa była prosta: do komunikacji z PC służył Microsoft ActiveSync, a każdy właściciel Pocket PC otrzymywał ze swoim urządzeniem specjalną wersję programu Microsoft Outlook 2002, aby nawet nie mając pełnej licencji na Office miał z czym synchronizować swoje kontakty, terminy i maile. Z punktu widzenia użytkownika to sprawa bardzo istotna: chodzi nie tylko o to, żeby mieć stale w kieszeni swoje notatki i kontakty, ale również o to, że wprowadzanie informacji bezpośrednio na urządzeniu jest niewygodne, w przypadku większej ilości danych znacznie łatwiej posłużyć się komputerem z „normalną” klawiaturą.

W systemie Windows Vista ActiveSync został zastąpiony przez Centrum obsługi urządzeń z systemem Windows Mobile. Odpowiednie pliki instalacyjne można pobrać bezpośrednio ze strony Microsoftu, w wersji 32-bitowej lub 64-bitowej, zależnie od posiadanego systemu. Oprogramowanie to działa również pod Windows 7, ale jeśli chodzi o synchronizację danych z Outlookiem, to mam mieszane doświadczenia. O ile w 32-bitowej wersji systemu udało mi się zainstalować Outlook 2002 i zsynchronizować dane (nie jestem pewny czy program działa całkowicie poprawnie, długo nie testowałem), to w wersji 64-bitowej synchronizacja nie jest możliwa: Centrum obsługi nie może zalogować się do Outlooka. Być może synchronizacja zadziała z którąś z komercyjnych wersji Microsoft Office (z najnowszą na pewno nie), ale nie mam czasu ani oprogramowania, aby to sprawdzić. Jeśli ktoś ma doświadczenia w tym zakresie, proszę o informację w komentarzu. Chętnie uzupełnię wpis lub zamieszczę linki do odpowiednich materiałów.
 
W przypadku Windowa 8 i 10 trick polega na tym, że Centrum obsługi musi być uruchamiane w trybie zgodności z Windows 7 (a nie Vista!), a więc po instalacji (uwaga: jeśli instalator będzie chciał zainstalować funkcje .NET Framework 3.5, należy się zgodzić) musimy to ustawić. Klikamy ikonkę menu startowego (Windows 10) lub odnajdujemy aplikację korzystając z funkcji „wyszukaj”, następnie klikamy prawym klawiszem myszy ikonę „Centrum obsługi urządzeń z systemem Windows Mobile”, z menu kontekstowego wybieramy „Więcej” i „Otwórz lokalizację pliku”. Następnie, znowu prawym klawiszem, klikamy ikonę odpowiedniego pliku, wybieramy „Właściwości” i na zakładce „Zgodność” zaznaczamy odpowiednie ustawienia.

Teraz po połączeniu Pocket PC z komputerem urządzenie powinno być wykryte, następnie instalują się sterowniki i uruchamia się automatycznie „Centrum obsługi”. Możemy skonfigurować synchronizację plików, zakładek do ulubionych witryn sieci Web (tylko po co, skoro dostępny na urządzeniu przenośnym Pocket Internet Explorer dzisiaj już prawie do niczego się nie nadaje), instalować, aktualizować i odinstalowywać programy na naszym kieszonkowym komputerku (to nam rozwiązuje problem z nawigacją), mamy swobodny dostęp do systemu plików urządzenia. Jest też, za pośrednictwem komputera stacjonarnego, połączenie z internetem (raczej do aktualizacji informacji drogowych w nawigacji niż przeglądania stron WWW).

No dobrze: a czego nie ma? Niestety nie ma synchronizacji danych z Outlookiem. Najnowszej wersji Centrum obsługi nie wykrywa, tak jakby program nie został zainstalowany. Można próbować ustawić Outlook jako domyślny program pocztowy, zgodnie z wyświetlonym komunikatem, ale najprawdopodobniej to nic nie da. Nie pomoże też zainstalowanie wersji Outlook 2002 dystrybuowanej z Pocket PC. Jeśli nawet program da się zainstalować, Centrum się z nim nie komunikuje.

Warto natomiast synchronizować dane z Thunderbirdem, a za jego pośrednictwem – na przykład z usługami chmurowymi Google. Jest to możliwe i synchronizacja taka działa w przypadku każdej wersji Windows, ale o tym następnym razem.

wtorek, 28 lutego 2017

Windows XP – powrót starego demona?


W zasadzie staram się nie pisać na tym blogu o systemie Windows XP, uważam bowiem, że wciąż jeszcze można znaleźć w internecie wystarczająco dużo materiałów, lepszych niż ja mógłbym stworzyć. Ostatnio jednak spotkałem się z problemem, który sprowokował mnie do uczynienia wyjątku.

Użytkownicy Windows XP (byli, lub ci, którzy jak ja używają tego systemu do dzisiaj) pamiętają zapewne taką sytuację: w niedługim czasie po uruchomieniu komputera wydajność systemu drastycznie spada, praktycznie nic nie da się zrobić, menedżer zadań pokazuje, że proces svhost.exe obciąża procesor do 100%. Problem był szeroko opisywany, tutaj wspomnę tylko że był związany z automatycznymi aktualizacjami systemu i został naprawiony przez Microsoft na krótko przed zakończeniem wsparcia dla Windows XP.

Ostatnio jednak na kilku maszynach z XP spotkałem się z podobnym zjawiskiem: słaba wydajność systemu, svhost.exe obciąża procesor w porywach do 50%. To wprawdzie nie 100%, ale wystarczy uruchomić jedną czy dwie aplikacje, aby system się „zatkał”. Czyżby stary demon powrócił? Wprawdzie wsparcie dla systemu zakończyło się i Microsoft nie publikuje już nowych poprawek, jednak serwery nadal działają i dotychczas opracowane aktualizacje są dostępne. Może coś się tam jednak na tych serwerach zmieniło?

Niestety w tej sprawie nie możemy już liczyć na Microsoft. Oni zakończyli wsparcie i mają prawo do tego, żeby nikt im Windowsem XP głowy nie zawracał (natomiast nie mają prawa wymuszać na użytkownikach przejście na nowy system, ale to już inny temat). Postanowiłem spróbować wyłączyć w systemie aktualizacje automatyczne, w końcu jeśli wszystkie poprawki zostały pobrane, to nowych i tak nie będzie.

Pierwsze co się narzuca, to wyłączenie aktualizacji automatycznych w panelu sterowania. Dodatkowo należy w ustawieniach centrum zabezpieczeń wyłączyć komunikaty związane z automatyczną aktualizacją. To jednak nie załatwia sprawy: usługa automatycznej aktualizacji nadal działa w tle i nadal próbuje komunikować się z serwerami Microsoftu. Należy całkowicie wyłączyć usługę automatycznej aktualizacji, jak to przedstawia ilustracja (Panel sterowania -> Narzędzia administracyjne -> Usługi, kliknąć prawym klawiszem na usłudze „Aktualizacje automatyczne” i wybrać „Właściwości”).

Opisane rozwiązanie to tylko sugestia, nie badałem szczegółowo zjawiska i nie mam możliwości ani czasu, żeby to zrobić. U mnie jednak opisane działania doprowadziły do przywrócenia sprawności systemu, a obciążenie procesora w stanie spoczynku (przy aktywnym programie antywirusowym) nie przekracza kilku procent.

Sztuczka okazała się również skuteczna w innym przypadku, kiedy menedżer zadań nie wykazywał wprawdzie znacznego obciążenia procesora przez svhost.exe (sięgało kilku procent), ale za to system był spowalniany przez intensywne operacje dyskowe spowodowane działaniami na pliku wymiany.

Podsumowując: Windows XP to całkiem wydajny system operacyjny, a jeśli nagle nastąpi spadek wydajności, to nie znaczy, że trzeba czym prędzej zmienić system (nowe wersje wcale nie są sprawniejsze, zwłaszcza na starszym sprzęcie), tylko że coś się źle dzieje. Jeśli w grę nie wchodzą jakieś wirusy czy trojany (to trzeba sprawdzić najpierw), czy jakieś nowo zainstalowane oprogramowanie (spróbujmy odinstalować), to może właśnie to, co opisałem powyżej.