Folder Redirection und App-V– schon immer eine Story wert

Hallo zusammen,

nachdem es in App-V 4 immer mal Probleme im Zusammenhang mit Folder Redirection gibt, hat man sich gedacht man lässt das in App-V 5 erst mal ganz weg (den support dafür) – das war auch nicht so gut – also kam der support mit SP2 für App-V 5 wieder, und damit auch wieder ein paar Problemchen.

OK, bevor wir hier gleich etwas abtauchen ganz wichtig: Wer App-V 5 betriebt, Folder Redirection nutzt der muss auch Roaming Profiles benutzen oder eine Profil Lösung im einstaz haben die Registry Informationen mitnimmt. Alles andere ist nicht supported

Anwendungen schreiben Ihre Einstellung oft oder meistens in die Registry – darum fällt das folgende Problem gar nicht auf oder erst sehr spät.

Ein Beispiel:

Man startet als Benutzer (Folder Redirection für Appdata Roaming & Roaming Profile) Notepad ++

Nun stellt man die Sprache von Deutsch auf Englisch um:

image

Im Localappdata des Benutzers wird nun auch die XML von Notepad++ geschrieben

image

Wenn Notepad++ nun geschlossen wird, wird die ZIP Datei übertragen:

image

Wenn man sich den Inhalt ansieht sieht man das die Einstellung Englisch gewählt wurde.

image

Wenn der Benutzer sich nun wieder anmeldet würde man erwarten das Notepad++ mit einem Englischen UI aufgeht, tut es aber nicht.

Der Grund liegt darin dass Profil nach dem abmelden gelöscht wurde, in der Registry speichern wir einen Timestamp im Benutzerprofil:

HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<GUID>\AppDataTime

Dieser ist in diesem Scenario “älter” als das erstellungsdatum von LocalAppdata und somit wird nicht übertragen.

Eigendöich sollte das Löschen dieses Keys alleine helfen das Problem zu vermeiden, doch es gibt Situationen in denen das nicht genug ist, hier muss noch im HKLM angefasst werden. Markus Wälchli, war so nett und hat das gleich mal in einem Script Sample umgesetzt – das würde dann so aussehen:

Import-Module ActiveDirectory

$user=[Environment]::UserName

$UserSID = Get-ADUser $user

$UserSID = $UserSID.SID

$RegPathUser = "HKCU:\Software\Microsoft\AppV\Client\Packages"

$RegPathMachine = "HKLM:\SOFTWARE\Microsoft\AppV\MAV\Configuration\Packages"

$AppVGUIDUser = Get-ChildItem -Path $RegPathUser | Select pschildname

$AppVGUIDUser = $AppVGUIDUser.pschildname

foreach ($i in $AppVGUIDUser)

    {   

Remove-ItemProperty -path $regpathUser\$i -Name AppDataTime

    }

$AppVGUIDMachine = Get-ChildItem -Path $RegPathMachine | Select pschildname

$AppVGUIDMachine = $AppVGUIDMachine.pschildname

foreach ($i in $AppVGUIDMachine)

    {

Remove-Item -Recurse -path $regpathMachine\$i\UserConfigEx\$UserSID

}

 

Danke dafür.

Schönen Gruß

Sebastian Gernert – Escalation Engineer App-V