Pred bedmintonom som sa štandardne zastavil v bývalej robote vyzdvihnúť kolegov a jeden z nich mal problém s Vistami. Firemný noťas, 32bit Vista Business a už to bude nejaký ten rok, čo je nainštalovaná. Keďže to je vývojársky a domáci komp, je tam nainštalovaných veľa rôznych softov.
Dnes sa mi sťažoval, že vo Viste nefunguje Štart menu a nie je vôbec
pokrok oproti Windows 95 kde fungovalo bez problémov. Windows spúšťal
z menu iba niektoré programy. Fungovali z plochy, z rýchleho spustenia a aj
z ponuky Všetky programy. Z úvodného Štart menu alebo s pomocou
vyhľadávania nefungovali.
Hlavne sa jednalo o programy inštalované cez Microsoft Installer – MS
Office, Acrobat, či Cisco VPN klient.
Pomocou Process Monitoru som zistil, že sa spúšťajú iba obyčajné .lnk odkazy. Štart menu však obsahuje aj odkazy, ktoré sú uložené v Registroch v časti HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1–5–18\Components.
Napríklad Acrobat Reader je uložený pod kľúčom 9579C59FFA3114E44AB6BD2D1806D835\68AB67CA7DA71501B7449A0100000010 kde má záznam typu REG_SZ s uvedeným cestou k AcroRd32.exe.
(Screenshot je z XPéčok, lebo na nich píšem tento zápisok 🙂 )
Explorer už vie, kde sa odkaz na program náchadza a teda za normálnych okolností by File Monitor zobrazil tieto udalosti:
- Explorer.EXE 3040 ReadFile C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe SUCCESS
- Explorer.EXE 3040 Process Create C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe SUCCESS
- AcroRd32.exe 3692 Process Start SUCCESS Parent PID: 3040
- AcroRd32.exe 3692 Thread Create SUCCESS Thread ID: 2604
Explorer však ani nezačal načítavať Acrobat z disku, ani vytvárať nový proces.
Po chvíľke googlenia som našiel zmienku o nefungujúcom menu vo Viste s podobnými symptómami na Winmatrix fóre – Vista Start Menu Broken?. Bola tam zmienka o utilitke ShellExView, ktorá vie zobraziť všetky COM+ rozšírenia zaregistrované do Exploreru (a že tých rozšírení je veľa – čistá inštalácia Windows XP SP3 ich má okolo 250),
Kolega mal v počítači rôzne rozšírenia do kontextového menu, na vytváranie náhľadov a iných vecí. Niektoré sa dali identifikovať podľa výrobcu (Real Networks, RAR Labs, Tortoise SVN), jedna .dllka bola no-name. Po vypnutí všetkých neštandardných dlliek Štart menu začalo fungovať. Postupným skúšaním sme zistili, že problém spôsobovala práve komponenta AdCntxtM.dll s názvom AdCtxtM Dynamic Link Library, ktorá má neznámeho výrobcu. V systéme je zaregistrovaná pod GUID {AA6639D1-CE2B-11D5-AB4D-006097A79E23} a nachádza sa v System32 priečinku: C:\Windows\system32\AdCntxtM.dll.
Prípad niekoľko dní nefungujúceho Štart menu sa mi nakoniec podarilo opraviť bez formátovania, reinštalácie a iných zdĺhavých procedúr 😉 Za hodinku sa to dá opraviť, stačí však poznať správne nástroje.
Rambo says:
Ta dllka sa zda byt malware