0

XenApp : création d’applications en masse

Ca nous est tous arrivé un jour de se retrouver devant LA fameuse demande de création d’applications en masse (dans notre cas plus 300 applications one shoot).

En plein match de la coupe du monde, 300 applis à créer, avec 300 tickets différents bien sûr 🙂

 

Le script powershell joint à ce billet permet la création des applications “en masse”, avec les utilisateurs/groupes et l’icone associée au binaire de publication (sauf si votre chemin applicatif est un bacth, script etc..). Là où c’est pratique c’est que le script repose sur un fichier de configuration (format csv) dans lesquel vos productions applicatives vont rentrer toutes les informations nécessaires à la création des applications (sinon c’est à vous de le faire 😉 ).

En argument lors du lancement vous pouvez indiquez un Delivery Controller (exemple : Xa7x_CreateApps.ps1 MonDeliveryController), en l’absence d’argument le script considère que le serveur local est un Delivery Controller.

 


XA7x_CreateApps.zip

 

 

 

 

0

WEM : Database creation error

Lors d’un POC nous avons installé WEM 4.06 afin de montrer tous les avantages de WEM dans un environnement de type bureau publié (publish desktop), lors de la création de la base WEM nous avons rencontré l’erreur “Database creation error”.

Ca commence pas bien notre POC 🙂

 

L’avantage de WEM est que tout est logué durant l’installation, direction le fichier de log situé dans C:\Program Files (x86)\Norskale\Norskale Infrastructure Services\ Citrix WEM Database Management Utility Debug Log.log.

La lecture du fichier de log nous renseigne rapidement sur la cause du problème :

 

Exception -> DbCreateRequestExecutor.
() : System.Exception: SqlDatabaseHelper.[1]() connection Error : 5133 | Directory lookup for the file “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\TESTDBWEM_Data.mdf” failed with the operating system error 3(The system cannot find the path….

 

En échangeant avec les DBAs on comprend que la couche SQL est installée dans un chemin spécifique, une fois le chemin d’installation dument rempli dans le wizard WEM, l’install se poursuit avant que nous rencontrions une nouvelle erreur “Database creation error”, et encore cette fois le fichier de log WEM nous donne l’origine du problème.

 

There is already a master key in the database. Please drop it before performing this statement.

 

Pour corriger cette erreur nous avons demandé aux collègues DBAs de passer la requête ci-dessous :

 

USE VotreBaseWEM;
DROP MASTER KEY;
GO

 

Une fois la requête executée l’installation s’est poursuivie sans problème.

On vous conseille aussi de jetter un oeil sur la CTX228982  https://support.citrix.com/article/CTX228982/ au cas ou 😉 .

 

 

0

Erreur installation VDA 7.15 LTSR CU1

Lors d’une mise à jour d’un VDA 7.6 LTSR vers la 7.15 CU1 (vers un VDA 7.15 LTSR CU1) nous avons recontré l’erreur ci-dessous.

 

 

 

Error Id: XDMI:1AA44929

Exception:

Citrix.MetaInstaller.Exceptions.MetaInstallerException ‘NDP452-KB2901907-x86-x64-AllOS-ENU.exe’ component failed to install with error 0x000013EC.
at Citrix.MetaInstaller.Prerequisites.DotNet452Component.Install(InstallationContext context)
at Citrix.MetaInstaller.InstallationManager.InstallComponent(IInstallableComponent component, InstallationContext installContext)

 

On va la faire courte, c’est juste un problème d’espace disque, donc rien de bien méchant, sauf que nos amis de chez Citrix pourraient faire un check d’espace disque avant l’installation d’un VDA (ou de sa mise à jour)……. ou pas 🙂

 

S’il n’y a plus de place pour installer Microsoft .NET Framework 4.5.2 on va pas aller très loin 🙂

 

 

 

 

 

 

2

XenAppUsr_7x V2.1

Enfin on s’est décidé à mettre à jour XenApp_Usr7x V2, en effet nombre d’entre vous nous ont remonté des bugs sous XenDesktop (merci encore pour vos retours).

Outre la correction de bugs nous avons rajouté les features ci-dessous et enfin un Admin Guide 🙂 .

 

  • Formulaire principal : possibilité de faire un gpupdate sur le serveur hébergeant l’utilisateur sélectionné
  • Formulaire principal : possibilité d’afficher les informations d’un process (process id, command line, creation date, executable path et le WorkingSetSize en dinamique)
  • Formulaire principal : envoi dans le clipboard de toutes les informations utilisateurs affichées
  • Formulaire principal : ajout du menu action (permettant de faire une recherche d’une Application/server/Delivery Group…)
  • Formulaire Server : lancement d’un GPUPDATE sur le serveur
  • Formulaire Server : possibilité de mettre en maintenance un serveur
  • Formulaire Delivery Group : possibilité de mettre en maintenance un Delivery Group
  • Formulaire Application : possibilité de mettre en maintenance une application
  • Admin guide au format pdf
  • Nouveau SplashScreen

 

XenApp_Usr7x-V2.1.rar

 

L’admin guide en ligne (disponible aussi dans le fichier rar) :

0

Troubleshooting for newbies (erreur upgrade VDA)

 

Dans ce billet rien de très follichon juste une erreur lors d’un upgrade de Vda 7.14.1 vers 7.15 LTSR (CU1) sur un serveur W2K16 US.

Donc il est 2:00 du mat, il est temps de matter un épisode de notre série favorite du moment et la bim un upgrade de VDA qui nous pond une erreur.

 

Encore une erreur bien parlante 🙂

 

En cliquant sur View détails on avait ça :

Error Id: XDMI:619E0143

Exception:

System.NullReferenceException Object reference not set to an instance of an object.
at Citrix.MetaInstaller.UI.Pages.Common.ViewModels.ComponentPageViewModel..ctor(MainWindowViewModel mainWindowViewModel, BaseDataModel dataModel)
at Citrix.MetaInstaller.UI.Pages.Vda.ViewModels.VdaMainWindowViewModel.CreatePages()
at Citrix.MetaInstaller.WizardFramework.MainWindowViewModel.Initialize()
at Citrix.MetaInstaller.UI.Pages.Vda.ViewModels.VdaMainWindowViewModel.Initialize()
at Citrix.MetaInstaller.MetaInstallerWpfApplication.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run()
at Citrix.MetaInstaller.MetaInstallerApplication.Run(String[] args)
at Citrix.MetaInstaller.MetaInstallerApplication.InstallResultMain(String[] args)

 

Bon on n’est pas plus avancé, mais un reflex de Sysadmin nous est revenu en cette heure tardive, lancez l’install du Vda via un “Run as administator” et là ça passe direct.

 

On est bon pour aller matter notre série 🙂

Tags: , ,