De uitdaging van vandaag: AutoCAD Civil 3D 2012 (deel 2)

In het eerste deel kwam een probleem aan het licht met AutoCAD Civil 3D 2012. Na installatie draait er bij het inloggen van elke gebruiker een setup, die echter wordt geblokkeerd door AppGuard.

Vanuit de eventviewer weten we dat het deze setup/repair in ieder geval door het ontbreken van een registrykey wordt veroorzaakt. Na wat zoekwerk blijkt dat AutoCAD dit de Secundairy Installer noemt. Je kunt niet direct vinden wat deze doet, maar er is wel een KB artikel dat beschrijft hoe je bij een gebruiker met problemen, deze opnieuw kan laten starten. Daarin staat wat je uit het profiel van de gebruiker moet verwijderen. Dit principe draaien we om. Om te voorkomen dat deze Secundairy Installer gaat draaien, gaan we RES Workspace Manager al deze zaken voor ons in het profiel plaatsen.

autocad4Hiervoor starten we eenmalig AutoCAD op onder een administrator account. Na het afsluiten van AutoCAD mag je een export van de registry key HKCU\Software\Autodesk\AutoCAD\R18.2\ACAD-A000:409. In deze export moeten we enkel zaken veranderen. Er staan immers paden in die naar het account verwijzen van het administrator account.

autocad2Zoek in de .reg-file naar de waarde c:\users\[administrator account]\AppData\Local en verander dit in %localappdata%. Zoek daarna naar c:\users\[administrator account\AppData\Roaming en verander dit in %appdata%. Importeer vervolgens het registry-bestand in de RES WM Console.

autocad7Vervolgens hebben we nog een aantal bestanden nodig die in het profiel worden opgeslagen. Ga hiervoor binnen de RESS WM Console naar Compositie>Acties per type>Bestanden en Mappen>Profielmap gebruiker. Maak daar een map AppData aan met twee submappen: Local en Roaming. Voeg daarna de mappen AutoDesk toe met alle inhoud en submappen die er onder vallen. Eerst importeer je hem van c:\users\[administrator account]\AppData\Local\AutoDesk en vervolgens c:\users\[administrator account\AppData\Roaming\AutoDesk.

autocad6AutoCad plaats ruim 30mb aan bestanden in het profiel van de gebruiker en deze heeft vervolgens nog niets gedaan (AutoCAD nog nooit opgestart). Daarom raad ik aan voor AutoCad een silo te maken met mandatory profielen of aparte roaming profielen en een eigen Workspace. Bij uitloggen kan de AutoDesk mappen verwijderd worden, zolang je maar de instellingen opslaat uit het register en van de AppData Roaming map (de Local Appdata kan genegeerd worden). Gebruik je roaming profielen, verwijder dan de mappen uit AppData bij het uitloggen van een gebruiker (bij een mandatory profiel worden ze vanzelf verwijderd). Bovenstaande registry en profielmappen laat je voor iedereen op deze silo/workspace plaatsen bij inloggen en opslaan bij uitloggen. Daarmee voorkom je dat profielen van alle gebruikers te groot worden door de overbodige AutoCad data.

Bij het inloggen gebeurd nu het volgende: RES Workspace Manager staat als Shell ingesteld. Deze start bij het inloggen van een gebruiker op. Verwerkt de registersleutels van AutoCAD in het profiel van de gebruiker en vult de mappen binnen AppData. Daarna wordt pas explorer.exe gestart en controleert Windows/AutoCad het profiel van de gebruiker. Aangezien alle informatie in het profiel aanwezig is, wordt geen repair/setup gestart en logt de gebruiker verder normaal in.

Ik heb bij AutoCad supportdesk een vraag uit staan wat de secundairy setup precies triggered bij het inloggen. Mocht ik daar antwoord op krijgen, dan wordt dat bij dit artikel geplaatst, zodat je mogelijk geen silo meer nodig hebt en bovenstaande niet bij alle gebruikers hoeft uit te voeren, maar de registrykey en AppData bestanden op een gebruikersgroep kan plaatsen.

De uitdaging van vandaag: AutoCAD Civil 3D 2012 (deel 1)

autocad1Vandaag voor een klant AutoCAD Civil 3D 2012 geautomatiseerd uitgerold via RES Automation Manager in een beheerde XenApp omgeving met RES Workspace Manager en AppGuard aktief.

Wat beloofde een eenvoudig dagje te worden, heeft toch redelijk wat uitdagingen en een lange dag opgeleverd.

De automatische installatie

De automatische installatie is vrij simpel. Als je de setup van AutoCAD Civil 3D 2012 start heb je de optie om een stille netwerkinstallatie te maken. Je geeft de opties aan en zelfs de laatste servicepacks worden geintegreerd in een netwerk installatie. Zo zouden installatie-programma’s van applicaties vaker gemaakt moeten worden. Wat dat betreft op dit punt een pluim voor Autodesk.

De uitrol was een klein ander verhaal. De setup maakt een shortcut. Die had ik 1-op-1 overgenomen in RES AM via een unattended installation task. Helaas werkte dit niet helemaal. De setup start en na een minuut of 11 was de installatie klaar op de server (taskmanager toonde geen setup*32.exe meer). Echter RES AM liep maar door… en door… en na 45 minuten heb ik hem maar gestopt. RES AM had niet door dat de installatie gestopt was. Via een commandline task werkte het ook al niet. Op die manier kreeg ik binnen 3 sec. een ‘ik ben klaar’ melding, maar setup.exe draaide nog. Dit probleem had ik eerder gezien bij de Oracle Client. Deze had echter een WAIT parameter om de setup te laten wachten met een ‘ok’ teruggeven tot hij daadwerkelijk klaar was. Uiteindelijk voor AutoCAD de parameter /W gevonden. Volgens documentatie bedoelt voor SCCM deployment, maar werkt ook goed met RES AM. Lijkt erop dat die dus ook een soort ‘waçht tot installatie daadwerkelijk klaar is met doorgeven van ‘ok’. Via een unattended commandline loopt het nu perfect (setup.exe /W /qb /I [path naar ini]).

De beheeromgeving

autocad3De eerste keer dat een normale gebruiker (dus met restricties) inlogt op de server krijgen we een interessant fenomeen. Nadat het RES Workspace Manager splashscreen is gestart en halverwege is, zien we een popup van AutoCAD met direct erna een foutmelding dat de Windows Installer niet kan draaien. Mogelijk is AppGuard de boosdoener, maar in de RES WM console is geen melding te vinden van een blokkade. Dit komt vermoedelijk omdat de RES Workspace Manager omgeving van de gebruiker nog niet helemaal gestart is!.

De eventviewer van Windows geeft echter wel een melding:

“De detectie van product {5783F2D7-A000-0409-0102-0060B0CE6BBA}, functie P, onderdeel {705EFC43-67E2-4278-9281-7B6B54D0EB75} is mislukt. De bron HKEY_CURRENT_USER(64)\Software\Autodesk\AutoCAD\R18.2\ACAD-A000:409\Profiles\AutoCAD\Menus\Group2 bestaat niet.”

Wat triggered echter deze repair functie van een MSI? Blijkbaar heeft AutoCAD Civil 3D 2012 een directe verbinding met de Windows Verkenner (explorer.exe) en daarmee de Windows Shell. Want bij een test waarbij we AutoCAD de-installeren van de server, krijgen we een popup dat explorer.exe moet worden afgesloten. Echter, alle schermen zijn al weggeklikt en de melding blijft. Forceren van afsluiten zien we de shell gekilled worden (geen taakbalk meer) en gaat de de-installatie beginnen.

De oplossing van dit probleem bespreek ik verder in deel 2 van deze blog.