Shell Folders en Do Not Use This Registry Key

Deze week hadden we bij een klant een probleem met een van de applicaties. Deze sloeg vrijwel alle instellingen goed op, behalve een bepaalde instelling van een snelbalk. Deze snelbalk werd opgeslagen in een bestand in de users roaming application data locatie. Echter, de applicatie schreef dit naar een totaal andere directory weg dan %appdata% naar toe verwees.

Na onderzoek bleek het mandatory profile de boosdoener. De schuld geheel aan mijn kant, want die had ik ingesteld. Het bleek dat ik vergeten had de keys in HKCU\Software\Microsoft\Windows\Current Version\Explorer\Shell Folders aan te passen. Hier stonden nog een aantal verwijzingen in naar de user die ik gebruik had om het mandatory profile mee op te bouwen. Na aanpassen daarvan met behulp van RES Workspace Manager werkt alles weer naar behoren.

Echter, zo makkelijk laat ik mij niet van de kaart brengen. Was dit eigenlijk wel mijn fout. Als je bij Windows 7 en Windows 2008 R2 deze registry tree opent staat bovenin namelijk de melding “Do not use this registry key”.

donotusethiskey

Dus ga je op zoek naar waarom Microsoft deze melding in de registry plaatst. Uiteindelijk kom je uit bij The Old New Thing en blijkt dat deze registrykey alleen aanwezig is om software van voor 1994 te laten draaien, die mogelijk van deze keys gebruik maakt. Waarom dit nog in Windows 2008 R2 zit is me een raadsel. De meeste applicaties van voor 1994 zijn 16-bits en draaien niet eens in Windows 2k8r2. Wat ik echter nog erger vind, is dat de software die in 2012 nog een update heeft gehad, nog steeds van deze registry keys gebruik maakt Bedroefde emoticon

ThinClient geeft onbedoelde taal selectie in systemtray

language_select_system_trayPas geleden stuitte ik bij een klant op het probleem dat de thinclients een taal selectie gaven op het scherm en ook op de toetsenbord combinatie linker alt+shift reageerden. Op dat moment ging de taal van NL naar EN of andersom. Fatclients kenden dit probleem niet.

De server is tweetalig geïnstalleerd, de originele OS taal is engels en daarboven een Nederlandstalig languagepack. Via mandatory profile is het toetsenbord vastgezet op alleen de keuze Nederlands-US International. De gebruiker zou daarom geen keuze mogen krijgen.

Het blijkt dat de server probeert de taal en toetsenbord van de client op te vragen. Het toetsenbord wordt echter overruled door de instellingen van het mandatory profile. De taal echter niet. Fatclients zijn standaard bij deze klant ingesteld op Nederlands, waardoor deze maar één taal keuze hebben die matchet met die van het mandatory profile.

Thinclient daarentegen, kennen de taal Nederlands niet en zijn daarom ingesteld op engels. De server pikt dit op en combineert dit met de taal die in het mandatory profile staat. Resultaat is dat gebruikers kunnen kiezen en erger, de default taal wordt van de client overgenomen en is dus engels.

Dankzij mijn collega is dit gelukkig opgelost. Onderstaande registrykey zorgt ervoor dat de server de taal en toetsenbordinstelling van de client negeert en terugvalt op de default van de server. Hierbij geldt dat instellingen van het gebruikersprofiel voorrang krijgt op die van de .default-user van de server.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

IgnoreRemoteKeyboardLayout=1 (dword)