User driven application installatie met RES Workspace Manager en RES Automation Manager.

English version on Resguru.com

RES heeft op het moment van schrijven, nog geen echte mogelijkheid om applicaties te installeren op het werkstation van een gebruiker, op het moment dat een gebruiker deze nodig heeft. Uiteraard kun je er ook virtualisatie voor gebruiken en de applicatie streamen, maar dit is niet in alle gevallen mogelijk.

Een oplossing is RES Automation Manager hierbij te gaan gebruiken. Automation Manager is een tool, die o.a. installaties op een werkstation kan uitvoeren. Workspace Manager heeft een integratie met RES Automation Manager. Door een RES AM-actie aan een applicatie in Workspace Manager toe te voegen en een aantal simpele trucs, kan hierdoor een installatie op afroep plaatsvinden op het werkstation.

Eerst de voorbereidingen. Als voorbeeld nemen we 7zip. Je maakt een module aan en plaatst hierin de tasks om de installatie uit te voeren. In dit geval zoeken we eerst uit hoe je de installatie “stil” krijgt. Het is niet zo netjes als de gebruiker van alles moet invoeren om de installatie te laten lukken. Dat vergroot de kans op fouten en de kans op telefoontjes naar de helpdesk. Bij 7zip kun je de installer stil krijgen door de optie /S.

We maken een nieuwe resource aan en plaatsen daar de executable van 7zip in. Vervolgens maken we de module aan en voegen hierin de task toe om een unattended installatie uit te voeren.

Deze module testen we eerst uit op een testmachine. Als dit geheel werkt voegen we als eerste een task toe, die de gebruiker een bericht geeft dat de installatie loopt omdat deze nog niet is aangetroffen op de machine waar hij op zit. Hiervoor plaatsen we een messagebox task voor de installatietaken die al in de module staan.

Daarna voegen we een taak toe, die AM in een later stadium helpt om te bepalen of de software wel of niet is geïnstalleerd. Hiervoor zijn verschillende mogelijkheden. Je kunt bv. een bestand plaatsen op de machine of een registrykey toevoegen. In dit geval kiezen we voor het laatste. We plaatsen een registrykey waarvan de naam de naam van het programma wordt en de waarde het versienummer. Daardoor kunnen we eventueel bij een update checken of deze gedraaid moet worden.

Daarna passen we de 1ste taak aan. We plaatsen er een conditie op. Deze checkt of de registrykey die we hebben aangemaakt bij de installatie, ook daadwerkelijk bestaat. Is dit het geval, dan doen we helemaal niets en stoppen alle taken, is dit niet het geval, dan voeren we de installatietaken allemaal uit.

Degenen die RES AM een beetje kennen, zullen zich mogelijk afvragen waarom we niet de conditie gebruiken om te controleren of een bestand met een bepaalde versie aanwezig is. De reden hiervoor is, dat het checken van een registrykey sneller gaat en daarnaast komt het zo nu en dan wel eens voor dat ontwikkelaars vergeten een versienummer op een bestand te plaatsen, of deze te laten verschillen bij nieuwe versies.

De module in RES AM is nu klaar. Nu moeten we hem alleen nog koppelen aan onze shortcut in RES Workspace Manager. Als eerste moeten we zorgen dat de integratie met RES AM binnen RES WM geregeld is. Ga hiervoor naar Setup -> Integration -> RES Automation Manager en vul alle gegevens in. Test vervolgens de verbinding.

Hierna maak je de shortcut naar de applicatie aan, zoals je normaal ook doet. Let erop dat het vinkje “do not show when executable is not found’ bij instellingen niet is aangevinkt. Daarna ga je naar Configuration -> Actions en voeg je een nieuwe Automation Task toe. Zet een vinkje bij Wait for task to finish en Run before other tasks.

Alles is nu klaar voor gebruik. Als een gebruiker de shortcut in zijn startmenu aanklikt, of als via een file extension (mits geregistreerd binnen Workspace Manager) de applicatie gestart wordt, zal eerst de aktie van RES AM draaien. RES AM controleert eerst of de applicatie al geïnstalleerd is via de registry key. Is dat niet het geval, dan draait eerst de installatie taak voordat de applicatie wordt gestart. Is de applicatie al geïnstalleerd, dan zal de applicatie direct starten. Uiteraard zit er een minimale vertraging in. Bij een normale omgeving zal dit ongeveer 3-5 seconde zijn, mits de applicatie nog niet is geïnstalleerd.

Ook werkt deze methode niet altijd. Applicaties waarbij een reboot vereist is, kunnen op deze manier niet worden geïnstalleerd. Je zou daarmee immers de machine waar de gebruiker op werkt, een reboot moeten geven. Ook is deze methode niet aan te raden op een Terminal Server oplossing.