20 November 2014

AppSense - Save Cookies in IE10/IE11 with WebCacheV01.dat

Hi,

after my latest Internet Explorer Upgrade on a Citrix XenApp 6.5 Farm on Windows 2008 R2 we discovered a problem with the persistence of the cookies. We need to persist the cookies for one of the applications so we are redirecting the cookies folder to a network share which worked great until our upgrade to Internet Explorer 11. The problem is that from IE 10 upwards, you have a webcachev01.dat file where some cookie settings are saved additionally under %LocalAppdata%\Microsoft\Windows\WebCache. The file is locked during the whole Citrix session by a scheduled task which runs on logon, so you couldn't copy it easily on logoff.
After some searching on the web (Thanks to: http://vthoughtsofit.blogspot.co.at/2014/04/internet-explorer-10-webcache-file.html) I have found the solution for the problem.

You have to do the following:
On Logoff:
  • You have to stop the scheduled task with a custom PowerShell script
  • Then mirror the folder to a network share.
On Logon:
  • You have to stop the scheduled task with a custom powershell script
  • Mirror the folder back from the network share.
  • Start the scheduled task again with a PowerShell script.
Here is the link to the AppSense configuration file: http://1drv.ms/11FNprc


Grettings

michael.obernberger

08 February 2013

Citrix - Receiver for Windows RT with .ICA File support released

Hello,

yesterday the newest Citrix Receiver for Windows RT (Version 1.2.0.136) was released which introduces .ICA file support on my Microsoft Surface tablet. Now I am trying to replace my work notebook with my Microsoft Surface.

Thanks to Citrix for releasing that.

Here is the download link: http://apps.microsoft.com/windows/en-us/app/citrix-receiver/dcbba44a-a3fd-41f4-951d-1117998c583d

Grettings

michael.obernberger

29 January 2013

AppSense - Environment Manager 8.4 - new Features

Hi,

as I am testing right now the new DesktopNow Product (former Management Suite) I will give you a short overview of the new features in Envionment Manager 8.4

  • Configuration Change Tracking:
    I have waited for this feature for a long time, now all changes are saved in a file (history.sdf) in the configuration. This feature has to be explicity enabled in your configuration on the "Change Tracking" ribbon
  • Configuration Layering:
    Also a long awaited feature for bigger environments. So if you have different teams for your Citrix Farm or your desktops but want to have the same EM configuration now you have the chance to layer it one configuration. So you have a host configuration which is your base and then you could add different layers to this base configuration. So any team could work on this own configuration and don't see the whole configuration.
  • Configuration Upgrade Tool:
    A textbased tool to upgrade more configuration from an older version to the latest 8.4 version.
  • Endpoint Merging:
    Here you could more configurations on the endpoint to a new one without the need to re-rollout the whole configuration if you only change one litte thing. This has to be done with XML Manifest files and seems to be very complicated to me on the first look but I have not tested it right now so thats only a first look.
  • SCCM 2012:
    Now you could open and save configuration from your SCCM 2012 server.
  • MSP Patching:
    As most of the great software vendors now also AppSense switched to MSP Patching model which seems to be a great step forward in the technology which minimizes the number of reboots if you rollout a new version.
  • Personalization Server:
    Some updates on handling deleted data and updates for the Quick Setup Wizard.
So we have waited some time for the new release but my tests are running very smooth so it seems to be a stable product with some great new features.

Grettings

michael.obernberger

21 January 2013

AppSense Environment Manger vs. Microsoft UE-V


Hi,

I have started to test Microsoft UE-V to see what the differences/ advantages are against AppSense Environment Manager.

Prerequisites:

EM: 
For a minimum configuration and tests you need an Active Directory and a server where you install a Microsoft SQL Server Express, EM Personalization Server and the EM Console. 
UE-V: 
You need an Active Directory and a fileserver where to save your settings and your settings templates. 

Conclusion:
So as you could see here the prerequisites are nearly the same except of the SQL Server.


Installation:

EM: 
The installation of the AppSense EM is very straight forward and documented good in the admin guides and the SQL Server Express 2008 R2 is included in the installation media. 
The installation on the client side is also straight forward and all prerequisites are also on the installation media.

UE-V:
The only thing to install on the server is the MDOP 2012 Group Policy Templates to configure UE-V via the Group Policy Management Console. As I have seen right now you could also deploy the UE-V agent via commandline and set the configuration so you do not need the Group Policy templates but it is so much easier to configure it with GPOs.
On the client side the only prerequisite is .NET Framework 4 or .NET Framework 3.5 SP1. 

Conclusion:
One big advantage of EM is the broader client support as you could install it from Windows XP and above as UE-V only supports Windows 7 and above. The downside is that you need an additional component which you also have to update and maintain as this is the SQL Server which is needed.


Configuration:

EM:
The first time configuration is documented on the AppSense site and there is also a Quick setup wizard for user personalization and some common application templates (Adobe Reader, Google Chrome, Lotus Notes, Internet Explorer, Mozilla Firefox and Office 2003, 2007, 2010) which are configured for you. So after the installation you could go on and start with your tests shortly without so much knowledge about the Personalization Server.

UE-V:
The only thing you have to do is to install the agent and do some configuration via GPOs which should be done in about 5-10 minutes and then you are ready to start. There are only MS application pre-configured (Calc, IE 8,9,10, Office 2010, Lync 2010, Notepad, Wordpad and some desktop settings like Themes) which could be captured to your network share.

Conclusion: So for a test environment the configuration tasks are nearly the same for both products. In my point of view the AppSense environment will be a little more complex in a production environment but also more flexible.


Architecture/Design:

The main difference you see at the architectural side is that EM is working with a SQL database at the backend and UE-V is storing its settings on a fileshare. So if your company does not have a SQL server installed and you want to work with AppSense you have to install minimum two SQL Server for failover reasons, so this could be a point where EM loses against UE-V as nearly every company on the world has a fileserver so UE-V is always possible.
There is no management/configuration console on the UE-V side so no administrative overhead on the server side but the problem with that is if you want to reset the application states with UE-V you have to "powershell" something so not very comfortable especially for the user.
As the UE-V configuration is working with GPOs which is a very robust infrastructure since a decade you likely won't see any misconfigurations or problems with that. 
The personalization itself is stored in the SQL database but with the tool "Personalization Analysis" you could read/export/import all settings for the specified user which is perfect if you need to troubleshoot. As UE-V saves all settings in the .pkgx format which isn't readable from any software I know, so it is really hard to troubleshoot the personalized settings if a user has a problem.
As AppSense saves there settings in a SQL database there is a possibility to rollback the settings of an application to a state one day/week/month before to resolve some issues. On the UE-V side the only thing you could do is to reset the application to a pristine state but not to settings which was made before.
The application settings are written back to the fileshare/SQL database on application stop so both vendors working with the same triggers here so there is no need to logoff for an application setting.



Conclusion (Differences/Advantages):

At first I am much more experienced with EM than with UE-V and I only tested it for a project to find the differences of these solutions so if any of my information are incorrect, please give me a comment and I will change it.

One thing I have seen which is better done by AppSense is the sizing of the profiles if you configure it like best practices or as the templates from the Quick setup wizard. I have made a test with Office 2010 and changed something in Word and Excel and the AppSense profile of the whole Office suite was about 300kb. I have changed exactly the same with the default UE-V templates and the whole Office settings were about 14MB great so this about 47-times bigger than the AppSense profile. If there any optimizations it is ok but this shouldn't be the case with the default configured settings. The problem with this is that you will notice the 14MB if there are copied back on a new machine to get your settings.
Another one is the not readable file format (.pkgx) which isn't very good for troubleshooting purposes if you want to see why the application for the specific user isn't working correctly. You could only reset it to a pristine state and all customizations for the user are lost.
One big plus of the EM is the variety of the clients supported. As UE-V is only supported from Windows 7/Windows 2008 R2 up, EM is supported from Windows XP/Windows 2003 up. The next thing is that EM is officially supported from AppSense on Citrix XenApp and XenDesktop and on vmware View. I have not found any official statement on the Microsoft site but I am not 100 percent sure if you will get support when you have problem with UE-V on your XenDesktop Farm.
One good thing on UE-V is the template generator which is a very easy to use application where you could find out on which registry keys and folder your application stores the configuration. I am also using this right now for my EM tests as it is much easier as the AppSense Configuration Assistant.
The Migration Mode is a big plus for EM as there is a possibility to grab the settings of an existing application so you have not to start with clean settings when you start with a user virtualization product.


At the end I want to say that UE-V is a great product for the version 1.0 and I am looking forward to see the next versions but at the state of now AppSense EM is much more advanced product. I would say that at the present time I would recommend to implement EM and not UE-V.

So if you have any improvements or if you see any wrong facts give me a comment as I have only tested UE-V but have not worked in deep with it.
Best Regards,
Michael


P.S. Please note that English is my second language. I am trying my best here, but just in case you read an odd sounding sentence every now and then, I hope you will excuse me.

07 January 2013

AppSense - How to configure Adobe Reader language

Hi,

today we are looking at a short configuration example. I want to configure the Adobe Reader language on the startup of the process.
I have found the following article on the Adobe KB (http://helpx.adobe.com/acrobat/kb/controlling-reader-mui-startup-language.html) where they say that you have to configure the UseMUI key but this didn't worked for me so I did the second on solution which is described on the same page. Here is a screenshot of my configuration. I am working with an Else/If condition because the users where Adobe Reader should be set to English are in a seperate securtiy group so I am checking for that group and doing my configuration based on the results. They rest of the people should get Adobe Reader in German, so here is my configuration:

These are the registry keys for English language:


And here you go with the keys for the german language:


That's it, so very easy to do that.

Grettings

michael.obernberger

28 December 2012

AppSense - How to configure an AutoCAD 2013 profile on first launch with Environment Manager

Hi,

I am currently working on a project on with AutoCAD 2013 to automatically preconfigure it on the first launch for a user. So here are the steps how to achieve that with EM.

  1. On an admin workstation start up AutoCAD 2013 and configure all the things you want to have for your users on first launch.
  2. When you are done stop the application and copy the following things to a network share:
    1. %APPDATA%\Autodesk
    2. %LOCALAPPDATA%\Autodesk
    3. HKEY_CURRENT_USER\Software\Autodesk (-> export this key as a .reg file)
  3. Now we are starting with the first time configuration. The first thing is that I am using an If/Else condition to check if there are already configuration settings on a network share for the user. If this is true I am copying back in this settings but if this condition is false then I am firing up the first time configuration settings which are the following.
  4. I am creating an Process started trigger for the AutoCAD 2013 application and configuring the following settings:
                            
    As a short explanation: I am creating the folders under %APPDATA% und %LOCALAPPDATA% and then copying back the folders from the network share where we saved the pre-configured settings from number 2. With the registry we have to do some AppSense "magic" because there is the username of pre-configured session hard-coded into the REG-file, so I am copying the reg-file to a temporary location on the disk, then do a textfile update where I am searching for the false username and replace it with the acutal username with the variable %username% and the end I am doing a reg import to import the changed registry-file for the user.
  5. When you have done that you are able to pre-configure your AutoCAD for all of your users on their first launch.


Grettings

michael.obernberger

27 November 2012

AppSense - How to personalize the Windows "Libraries"

Hi,

if you need to personalize the libraries for your users it is very easy done with AppSense. The whole thing you have to do is to make a mirror folder action which copies the whole folder %APPDATA%\Microsoft\Windows\Libraries to a network location (Homedrive, Homepath, ...) on logoff and copy it back on logon.

I have attached a short template configuration for this, which could be downloaded here.

Grettings

michael.obernberger

16 November 2012

AppSense - Default printer not being captured at logoff

Hello,

I had the following problem at an environment. When the user changed his default printer into a XenDesktop/XenApp Session it was not being captured correctly from the AppSense Environment Manager. After some research we found that it seems that a Citrix service is changing the default printer at logoff before EM could capture it and after some digging around we found that the following Citrix printer policy have to set to "Do not adjust the user's default printer":

After setting this policy everything worked correctly.

Grettings

michael.obernberger

21 June 2012

AppSense - Mouse Lags in a XenApp Environment

Hi,

I have installed a new XenApp 6.5 Farm with Local Profiles and AppSense User Virtualization. So I had the problem that on the first login the mouse movement in a Published Application was very, very sluggish. So after two or three days full of testing I have found that the following key seems to be a problem: HKCU\Control Panel\Desktop\UserPreferencesMask
After some more searching in the Internet I have found the following forum entry which gave me the sollution: http://forums.citrix.com/thread.jspa?threadID=261090
As a short compendium you have to make a AppSense Logon Configuration or a Group Policy Preference which sets the above registry key to hex : 90,12,01,80. I have provided a screenshot how it looks like:

This should solve your problem with the sluggish mouse movements.

Grettings

michael.obernberger

18 June 2012

AppSense - CCA on provisioned images

Hi,

I have updated my AppSense Management Server last week to the latest version (8.3.43.0) and had the problem after updating my Golden Images with the new CCA, that there was some weird behavior in the AMC, that some machines disappeared or showed status with 0% rolled out. After a short discussion the AppSense support gave me the solution.
It seems that something has changed in the 8.3.x CCA because at previous CCA updates I have installed the new CCA on the golden image and provisioned it again and it worked ok. With the new CCA you have to delete the group-id and machine-id of the CCA deployment and then provision the machine. So here is the correct process of updating the CCA:

  1. Install the latest CCA on the machine in Private image mode.
  2. Before provisioning the machine stop the service "AppSense Client Communications Agent"
  3. Now change the the following two registry keys to 0:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\AppSense Technologies\Communications Agent] "machine id"="{00000000-0000-0000-0000-000000000000}"
    • [HKEY_LOCAL_MACHINE\SOFTWARE\AppSense Technologies\Communications Agent] "group id"="{00000000-0000-0000-0000-000000000000}"
With these steps all machines should show up correctly in your AMC.

Update: This is also applies for vmware linked clones. Thanks to Peter for this information.


Grettings

michael.obernberger

16 June 2012

AppSense - Working with Else If Conditions


Hi,

Appsense introduced the Else If condition in version 8.1 or 8.2, I am not sure about that but it is one of the greates new conditions you get in EM. I will post an example where you could see, you powerful it is.

I have a XenApp 6.5 Farm with Office 2007 installed with various languages and I want to make sure, that the users from the various countries getting the correct language displayed. So I have a security group for each lanugange called: All_English, All_French, All_Italian and the default is german.
So the first thing I have made is a Process Started trigger for the different Office applications (Access, Word, Excel, Outlook, Powerpoint), then I am checking with a reusable node if you connect to the Citrix-Server and connecting via ICA so that language isn't changed for Administrators which are connecting via RDP. So here is a screenshot from the configuration right now:

Then I am configuring some Registry Keys which should prevent the users from any manual input on first start and doing some general Group policy actions.

And so the last thing is now to configure the language correctly for the different users with an Else If Condition. I am starting with the first one which is checking if the user is in the group All_English and configuring the group policies with the language for that and then add a new Else If for French and a new one for Italian and the last thing is an Else condition if the user is in none of the above groups to configure Office in German and thats it. I will attach some screenshot for you to better understand. The first one is a picture how I am checking the group membership in the If Condition. the second one is a overview of which GPOs I am setting. The third one, is the whole structure of the Else If condition.


So hopefully you now better understand or see how powerful this condition is to structure you configuration easier and faster.

Grettings

michael.obernberger

19 March 2012

AppSense - Set the system language for users on logon

Hello,

some of our new VDI users want to have their system language/program language in English-UK. Our Windows 7 SP1 Masterimage hast German as default installation language and default location. So these are the steps required for making it multilanguage compatible.

  1. Install the Windows 7 SP1 Language Pack for English which are listed here: http://www.mydigitallife.info/windows-7-sp1-mui-language-packs-official-direct-download-links/
  2. Install the Office Language Pack. You will be able to download it via the licensing portal or you could buy it directly from Microsoft if you do not have an enterprise agreement.
  3. Check the other applications you have installed for multilanguage features. Here are some examples of mine:
    1. Adobe Reader: You could set Adobe Reader 9/X with a registry key that it takes the language from the user account. See it here:  http://helpx.adobe.com/acrobat/kb/controlling-reader-mui-startup-language.html
    2. 7-Zip: You could set the language to English with the following registry key: HKEY_CURRENT_USER\Software\7-ZIP
      ValueName: Lang
      ValueType: REG_SZ
      Value: en
  4. To make the setting of the language silenty on login the first thing you have to do is to make a language XML file where you configure your settings. See some information on this here, here and here. When you are done with this than copy the file to a central location or in your master image.
  5. Now I am making a new logon action where I am first checking if the OS is Windows 7 or Windows 2008R2 because this way is only supported from Windows Vista upwards. Then I am checking for a security group where all English Speaking Users are grouped into and then we are doing the "magic" with a custom execute action where we firing up the control panel item for "Regions and language" and do a silent import of our before created XML file. Even more I am setting two group policy objects to restrict this user only to English as language.

The rest of the configuration for Office, Adobe Reader, 7-Zip and so on I am doing with process started triggers for faster logon times.

Best Regards,

michael.obernberger

16 March 2012

AppSense - How to delete or add users to a group

Hi,

I want to add a group to the local administrator group on logon dependent on the existence of a specific EXE file. So as you could do this with group policies built in function.

But there is a way to do this with AppSense Environment Manager. So the first thing I am doing is to check for a specific exe-File on x86 or x64 and if this exists I am firing a custom execute to add the group "Testgroup" to the local Administrators group:

The only "problem" with this command is that you have to be connected to the network for this to function correctly.


michael.obernberger

09 March 2012

Citrix XenDesktop 5.6 is now available for download

Hello,

since today Citrix XenDesktop 5.6 is available for download from the Citrix website.

The new features are:

  • Personal vDisk - This feature is a personalization solution for virtual desktops. Two new types of catalog allow you to preserve the assignment of users to desktops even when the disk is cleaned at restart; the same user is assigned the same desktop for later sessions. The new catalogs arepooled with personal vDisk (for pooled-static virtual desktops) that you manage with Desktop Studio and streamed with personal vDisk that you manage with Provisioning Services. In addition, a dedicated storage disk is created, before logon, so users can store their data on the desktop, including any applications they install. For background information on this feature, see About Personal vDisks.
  • System Center support - XenDesktop now supports Microsoft System Center 2012 Configuration Manager and Microsoft System Center 2012 Virtual Machine Manager.
  • Virtual Desktop Agent - A new version of the Virtual Desktop Agent fixes issues in the version included with XenDesktop 5.5. These are the issues which are fixed: http://support.citrix.com/article/CTX124164
  • Citrix Licensing - Citrix Licensing 11.10 lets you assign access to the License Administration Console using Active Directory Users and Groups.
  • Desktop Director - Desktop Director 2.1 supports personal vDisks and contains fixes since the last release. For more information, see the Desktop Director documentation
.

Best Regards,
michael.obernberger

08 March 2012

Citrix - How to pass through a parameter to a published application

Hello,

I want to give you a short how-to for passing through a parameter to a published Citrix XenApp Application.
I have tested this on XenApp 5 with Feature Pack 3 and Online Plugin 12.1.

  • The first thing you have to do is changing your published application Location. Go to the command line and at the end of the executable type %** (without quotation marks) and click OK.
  • On your client you could now fire up the published application with the parameters you want to have with the command line:
    "C:\Program Files\Citrix\ICA Client\pnagent.exe" /QLaunch "FARMNAME:PUBLISHEDAPP" /param:"X:\test.txt"
    You have to change the Farmname and Published Application Name and set the parameters under quotation marks.
Thats it and with this shortcut you could fire up your application with custom parameters.


Best Regards,

michael.obernberger

14 February 2012

AppSense - How to enable/disable Proxy depending on your location / Proxy de-/aktivieren je nachdem wo man sich befindet

Hallo,

da wir unsere Proxysettings via Gruppenrichtlinie verteilen hatten wir immer wieder das Problem, dass die User mit ihren Notebooks zu Hause nicht surfen konnten, daher haben wir nun im AppSense folgende Konfiguration abgebildet.



  • Weiters habe ich nun eine Reusable Condition angelegt wo die Netzwerke abgefragt werden:

  • Nun wird dies alles in einen Resuable Node zusammengefasst und zwar wird hier zuerst abgefragt ob es sich um ein Notebook handelt und dann wird der Proxy erstmal auf 0 gesetzt und danach dann geprüft ob er in einem der vorgegeben Netze ist und danach auf 1 gesetzt.

Danach habe ich diese beim Login und beim Network Connected eingefügt!
Anbei auch nochmal die ganze Konfiguration, wobei ich für diese keine Haftung übernehme!


Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

10 February 2012

AppSense - Problems with Applications which rely on the "Shell Folders" Key and the location is on a network share

Hallo,

ich hatte vor kurzem nach einem Upgrade auf die aktuellste Environment Manager Version 8.2 das Problem das gewisse Citrix Applikationen nicht mehr einwandfrei funktioniert haben. Wir setzen in unserer derzeitigen XenApp Farm noch auf Roaming Profiles/Folderredirection daher ist z.B. der Appdata Ordner auf einem Netzwerkshare.
Nach einer langen Suche und großer Hilfe vom AppSense Support wurde mir die Ursache präsentiert. Und zwar läuft hier die Funktion SHGetFolderPath in ein Timeout und daher wird der Registry Wert in dem Key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders auf NULL gesetzt und die Applikation funktioniert nicht mehr.

Mit folgendem Registry Key kann das Problem gelöst werden: HKEY_LOCAL_MACHINE\SOFTWARE\AppSense\Environment Manager
REG_DWORD: CreateSpecialPaths  mit dem Wert 0 einfügen

Weitere Infos dazu auch in der AppSense KB unter dem Link: https://www.myappsense.com/Knowledgebase/TN-150617.aspx

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

AppSense - How to set a environment variable at Session Unlock/Lock

Hallo,

ich hatte heute die Herausforderung ein Environment Variable beim Session Unlock zu setzen. Dies kann zwar mit dem Environment Manager konfiguriert werden jedoch wird die Variable nicht gesetzt. Nach einem kurzen Meinungsaustausch mit dem AppSense Support wurde mir mitgeteilt dass Windows beim Session Unlock nicht immer die Variablen refreshed und dies somit nicht zu 100% funktioniert.
Nach ein paar weiteren Tests habe ich festgestellt dass das in Windows eingebaute Programm SETX.EXE eine Environment Variable setzt und diese sofort auch für den Gebrauch verfügbar ist. Also lasse ich nun folgende Custom Action laufen beim Session Unlock um die Variable zu setzen:

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

02 February 2012

AppSense - How to apply registry keys to a personalized application on process started

Hallo,

da bei einer personalisierten Applikation alle Registry Zugriffe in die virtuelle Registry umgeleitet werden ist es nicht so einfach möglich für solch eine Applikation Registry Keys zu setzen, dafür gibt es aber den APPSENSESPECIAL Switch.
Anbei habe ich beim Process Started der Applikation notepad.exe mit folgender Custom Execute Action das Ziel erreicht.

Hiermit wird beim Start der Applikation "notepad.exe" ein Registry File importiert. Ich rufe die reg.exe als reg1.exe von einem Netzwerkshare auf, da die normale reg.exe in der Default Appsense Blacklist ist und somit dies nicht funktioniert.

Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article

28 December 2011

Citrix - Access Gateway 5.0.4 released!!!

Hallo,

seit ca. 1 Woche ist das neueste Release des Access Gateway 5 zum Download verfügbar unter:  https://www.citrix.com/site/SS/downloads/details.asp?downloadId=2319663&productId=15005
Die wichtigsten Neuerungen sind:

  • Man kann nur direkt über die Logon Point Konfiguration auch das Aussehen anpassen wobei man hier entweder zwischen dem Standard Aussehen, dem neuen Cloud Gateway Interface und einem völlig selbst angepassten Interface wechseln kann.
  • Man kann nun auch bei einem Basic Logon Point Webresourcen (Intranet, OWA, usw.) hinzufügen um diese über das Access Gateway abzusichern.
Grüße

michael.obernberger

P.S. I am writing my blog in german because that is my mother language but if there are english people who want to have a translated article, please leave a comment on the article