I’m Brian and I love technology, and writing.
Being as this is my first post on Citrixology I figured that I should introduce myself.
Before any of that I would like to personally thank Lal for the opportunity he has given me to post to his Citrix blog. I have used his blog during research for some of my publications while posting to LinkedIn over the last 3 years.
A little about me –
I have worked in the IT industry for the last 14 years. I’ve always had a passion for technology ever since receiving my first Commodore 64. I wanted to take it apart and see how it magically worked, and I did.
I started my IT career on the Helpdesk of a large government defense sub-contractor. Quickly moving up the ranks to building / deploying Windows base images for Windows XP machines using Ghost.
Since then I have worked at a K-12 school as an administrator, an MSP managing their 13 engineer service desk and most recently working for the Industry Standard in VDI / SBC bench-marking / load testing software.
I currently work for Login VSI.
Login VSI is considered the industry standard for bench-marking / change management for large scale VDI / SBC deployments.
I’ve work with all the major vendors in this space.
Through my career journey I have the opportunity to work with a multitude of technology, and it has given me a unique perspective working with so many different software / hardware solutions.
In 2014 I decided that I would like to publish to LinkedIn when the feature became available. I have built a solid following on LinkedIn, and expanded to Medium and now w/ Lal’s blessing Citrixology. I hope to cover many topics during my tenor here, and learn a whole bunch in the process.
Thanks for joining me on this journey, and stay tuned for some exciting content!
Have you ever wondered what happens when Citrix Receiver is reset? There are times when Receiver needs a bit of love and care from the Citrix admins. I came across an issue recently where I had to reset Receiver client and thought I should put this down on what gets removed and what gets retained for future reference.
Resetting Receiver to factory defaults removes the following items:
- All accounts and stores.
- All apps delivered by the Self-Service Plug-in, along with their icons and registry keys.
- All file type associations created by the Self-Service Plug-in.
- Cached files and saved passwords.
- Per-user registry settings that are user preferences and, for per-machine installations, all user-specific registry settings.
- NetScaler Gateway registry settings for Receiver.
Resetting Receiver does not impact the following items:
- Receiver or Plug-in installation.
- Per-machine ICA lockdown settings.
How do you reset Receiver?
You can also use the command line interface to reset Receiver or try and create a script for the same:
“C:\Program Files (x86)\Citrix\ICA Client\SelfServicePlugin\CleanUp.exe” -cleanUser”
Right click the Receiver icon in the notification area and select Advanced Preferences
In the dialog, select Reset Receiver and click OK
Quick shout out to Trishanka Saikia from Citrix Technical Support for this info.
AppDisk is an awesome technology from Citrix but it comes with its own quirks which admins/consultants should be aware of. Below are some of the items that i thought are important to know about the technology and how to set it up.
There are a few things to keep in mind before attempting to create an AppDisk.
AppDisk additional permissions
- when you specify a size for the AppDisk, you wouldn’t be able to utilize all the size that you allocated. for eg, for an AppDisk size of 5 GB only, 3.66 are useable so always give some extra when creating appdisks
- Don’t create snapshots of the machine prior to creating the AppDisk when using MCS Catalogs
- There is currently no way to resize the AppDisk from within the Studio. PowerShell is the way to go.
- There is NO versioning built into AppDisks at this stage. All that you are doing when clicking on “Create New Version” is creating a clone of the existing AppDisk which could be used to edit and update the AppDisk
- Enable both the Shadow Copy and Microsoft Software Shadow Copy Service Provider services. https://support.citrix.com/article/CTX211853
- Some of the commands that you will find useful when working with AppDisks are as follows
To get a list of all the active tasks running, run the below
>Get-AppLibTask -active $true
To stop a particular task, run the Get-AppLibTask and take a note of the task ID
The above stop command will not remove the failed task from the Studio console. to remove it completely from the studio, run the following command
- In many cases, AppDisks work on different OSs. For example, you can add an AppDisk that was created on a Windows 7 VM to a Delivery Group containing Windows 2008 R2 machines, as long as both OSs have the same bitness (32 bit or 64 bit) and both support the application. However, Citrix recommends you do not add an AppDisk created on a later OS version (such as Windows 10) to a Delivery Group containing machines running an earlier OS version (such as Windows 7), because it might not work correctly.
- Finally, the link here from Citrix is a MUST READ as it covers a lot of information on MCS type and PVS type deployments https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-8/install-configure/appdisks.html
- Boot the reserved VM into the Maintenance environment and leave it at the login screen
- Head to the Studio console and select the AppDisk node. Click Create AppDisk
- Specify the size of the disk and a name of the AppDisk in the wizard.
- As soon as the AppDisk creation begins, the VM will be restarted. Boot the VM back into the Maintenance vDisk
- Now wait for the process to complete
- In the mean time, you would be able to see a drive mapping with label (Citrix) being created on the VM with the specified disk size of the AppDisk (5 GB in my case)
- Refresh the Studio console to ensure that the VM is powered ON and is registered.
- Be patient as this could take while to complete.
- If the process gets stuck at “Creating…..” state, run the command
Get-AppLibTask -active $true
Check the value of TaskProgress and if it is at 95%, its time to restart the VM.
- Once restarted, boot the machine back into the Maintenance disk
- Ensure that the VM is registered. Login to the VDA now and make sure that the AV agent isnt running (I have seen that logging into the server helps speed up things)
- The AppDisk creation process should now be complete.
- Its time now to install the applications- Right click the AppDisk name and select Install Applications
- Once you are happy with the app install, its time to seal the disk
- Right click and select “Seal AppDisk”
- When the sealing process is started, the VM will restart. Just ensure that the VM restarts back into the maintenance disk
- Once the server is back up, log into the server to speed up the sealing process. if there are AV agents running, temporarily disable it
- The VM will restart again
- choose the maintenance disk again and boot into it
- it is at this stage, it will start AppDNA disk analysis (assuming that you have AppDNA integration configured)
- Refresh the Studio now and you can see the Appdisk is at Ready(AppDNA:Capturing) state
- Soon the process should complete. The AppDisk should now be ready for app delivery
- Head on to the PVS console and delete the Maintenance vDisk that was initially created for AppDisk . Once the AppDisk is sealed, you MUST boot into the vDisk version before the Maintenence version to be able to see the applications installed on the AppDisk. Strange but true 🙂
- If you need to edit(add more apps) a Sealed Appdisk, create a fresh Maintenance vDisk and continue with the updates. The older Maintenance vDisks will not work once sealed and should be removed from PVS console (Versioning)
Assigning an AppDisk
As previously stated, AppDisks require a machine catalog that isnt assigned to any delivery groups. So naturally the first step after creating an AppDisk is to create a delivery group and attach the AppDisk to it.
Updating an AppDisk
- Create a Maintenance vDisk from the PVS Console
- Change the VM type to Maintenance in the PVS Console (Device Collections)
- If the Prep machine is already a member of a Delivery group, remove it from the delivery group.
- Boot the Prep VM into the Maintenance vDisk and leave it at the login screen
- Go to AppDisk node in Citrix Studio and select the AppDisk that needs to be updated.
- Choose Create New Version
- Give it a name and select the Machine catalog name where the prep machine resides
- Click Create New Version
- At this point, it creates a Control Disk
- The Prep VM will now restart. the next step is to “Reserve” the Virtual machine
- Boot the VM back into the Maintenance vDisk
- It then proceeds with the Layer creation and completes it. It would say ready to install applications in Studio
- Proceed to install applications as you would normally do
- Seal the Appdisks when completed.
- Delete the Maintenance version from the PVS console and change the VM type to Production from Maintenance
Diagnosing issues with AppDisk
AppDisks come with a logging tool that could be found here at C:\Program Files\Citrix\personal vDisk\bin\CtxAppDisksDiag.exe
Run the above tool as an admin and select the folder where you would like to see the log files and click OK
Importing an AppDisk
There are times you will need to import a pre-created AppDisk to the Studio. This method will also work for the manually built virtual machines.
Carl Stalhood has detailed the process to import AppDisks in his blog post here
There are many a time you would want to look at the vServer performance due to many reasons – you are just too curious to see all the numbers, you have an issue with excessive resource utilization due to a particular vServer or you are seeing unusual amount of hits in Netscaler Insight Center graphs.
There are a couple of ways you could check it – via the NetScaler GUI and via the command line.
Via the GUI, its quite simple as all you need to do is to select the vServer and click on Statistics button to see the performance counters. the result will be as follows
Via the NetScaler GUI
Via the command line , it’s a bit more powerful as it gives the overall resource usage of the NetScaler appliance as well on top of all sorts of info at regular intervals. Here is what you need to do to check the realtime stats of a vServer
#nsconmsg -i vServername -s ConLb=2 -d oldconmsg
via Putty / Command Line
Setting up flash redirection to work in Citrix could sometimes be a daunting task. There are a multitude of moving parts to this solution and a slight error could lead to days of troubleshooting and remediation work. I thought i will document the procedures that I followed to successfully setup Flash redirection to work on XenApp 7.5 farm and thin clients for a customer environment.
I am not going into the details of this technology and what each versions flash redirection does as you can read about them here
I strongly recommend you read the PDF document from Citrix on HDX redirection in general.
The below procedures apply to all the versions of XenApp and XenDesktop where flash redirection is applicable. My particular case was XenApp 7.5 with IE 11
Please also check the pre-requisites section on this Citrix KB article https://support.citrix.com/article/CTX205558
We will split the setup into 2 parts – Server side (VDA or Citrix Servers) setup and Client side setup
Server Side setup
- Citrix Policies – Setup the Citrix policies for flash in Studio or Delivery Services Console as the case may be. Below is how they should look like if they are correctly configured. Also note that the latency threshold may differ according to your network conditions.
- Flash Hotfixes – Look out for any specific hotfixes by Citrix to enable Flash acceleration. There is one required for XenApp 7.5 VDA and is available here . You may have a different version so go online and check if there is a specific hotfox availabe for Flash redirection to work. I had to download the hotfix and install on the VDA
- Version of IE – 32 bit Internet Explorer must be used for Flash redirection to work even if you are using a 64 bit OS like Windows Server 2012 R2. Citrix recommends using IE 11
- Flash Player Active X Plugins – Active X plugins are required on the server side for flash acceleration to work. These plugins integrate with Internet Explorer and could be installed separately if you are using IE 10 and below. You may visit Adobe Flash website to download a specific version of the Active X component. With IE 11, the Active X components are built-in alongside the browser (not a good thing in my opinion) and update are available as Windows updates from Microsoft’s site.
- Flash Player NPAPI Plugins – It’s good to keep the IE Active X Controls and the NPAPI plugin versions the same. Though NPAPI plugins are required only for non-IE browsers according to theory, this seem to have an effect on the success of flash redirection
- Special IE Settings – Disable Enhanced Protection Mode in IE, Some websites like YouTube.com need to be added to compatibility view mode for flash redirection to work. you may also need to add the website to Trusted Sites in IE in certain cases.
Client Side Setup
- Flash Player Active X Plugins/Controls – This is a critical piece. This should either be equal to or greater than the version being run on the server.
- Flash Player NPAPI Plugins – I would say this is the most important bit as we found out that even though you use IE in the Citrix session, NPAPI versions are compatibility checked and matched. If the check failed, flash redirection stopped working regardless of the Active X (IE) version. Keep client side NPAPI version the same or above as your NPAPI version on the server for Flash redirection to work.
- Configure the ADM file for HDX Mediastream for Flash on all the corporate domain joined clients. This is not a requirement but still nice to have configured. Without this, your clients will still work if they meet the rest of the requirements
Other key things to note
- Dont perform an upgrade of an existing Flash player plugin for client or server. Always install a fresh copy.
- Flash Logging is a must have when you setup flash redirection. In most of the cases, logging will be turn ON by default and will be found under Event Viewer > Applications and Service Log > Citrix >Multimedia >Flash
- When Flash redirection works, PseudoContainer.exe will run on the client device. Spot it using Task Manager >Details/Processes Tab
- There is a troubleshooting guide for Flash redirection from Citrix and could be found here http://support.citrix.com/article/CTX127188
- Citrix has got a How to guide for setting up Flash and could be found here http://support.citrix.com/article/CTX124190
- Flash Logging could be enabled following the KB http://support.citrix.com/article/CTX141595
- Check the Flash Redirection compatibility KB from Citrix here http://support.citrix.com/article/CTX136588
That’s it folks. Feel free to post your comments below