Blog Posts tagged with Citrix XenApp

Ask a question

Profiling Firefox in Citrix XenApp 6.5


In the next few steps I will share with you, as to how you should profile Firefox(ver. 13) in citrix xenapp 6.5


Firefox, as you all know is a web browser by Mozilla. Most of us have often struggled with the first few screens that come when you launch firefox for the first time after installation. Its really painful to repeat all those steps if you are planning to deploy this application over a network.


Firefox creates a profile under %Appdata% (roaming in case of windows 7). Now if you open this folder you will find a folder named mozilla. under this folder you will find the folder Firefox, under this folder you will find a folder named crash reports, profiles and a profiles.ini file. If you open this profiles.ini, you will find the following content in it



Now the most important thing in this ini file is the last line highlighted in bold in the above line. open the profile folder in the firectory where the profiles.ini file is present, you will find a folder by exactly similar name as in the above ini file. If you delete this folder firefox will again ask you to configure it, in the same manner it asked you , when you launched the application for the first. So to avoid this make sure you never delete this folder. Now  coming to the suppression of updates in the firefox. All the options related to pop up that surface after configuring firefox, updates, sending crash reports, etc.. are stored in prefs.js file. And this is the file that we are looking for.  This file is located in following location %AppData%\Mozilla\Firefox\Profiles\n9i7r825.default\prefs.js. Always keep a backup of this file , incase some of you dont wish to configure firefox over and again after installation. Just copy this file in the above mentioned location as soon as the installation is over, and the Firefox would bother you ever for the configuration

How to Profile:

Now what I am about to cover here is pertaining to XenApp 6.5.

1. Open the profiler in the profiling machine

2. Select New profile in the above step

3. Click next

4. name the profile as per your requirement.

5. Click next

6.Click next

7. Select the platform for which you wish to deploy the application and its language

8. now if your installation has just a single installer select the default option else select advanced option and  continue with the default option already present on the next screen and click next

9. Pass the exe and command line arguments if any on this screen and click next

10. Click launch installer. At this stage the installation of firefox would start. Proceed as if you were installing the firefox on your machine. Once done with installation, the next button will get highlighted by itself, click next it will take you to the next screen

Click next if you dont wish to install other applications alongside firefox and wish to profile those alongwith firefox, in which case you should select the second option. Rest i presume should be easy for all those reading this.

on the next screen the profiler will detect the installed applications by default. if it doesnt it means something went wrong and you need to start profiling again.

click next once you have run the application.

click next on this screen

follow the default settings on the next screen until you reach the final screen where the profiler asks you to build the profile as shown below

click finish and the profiler will build your profile. Exclusions related to files and folders can be done by opening the .profile file for upgrade. I will cover that later on, right now , dont wish to confuse the audience.

Finishing the application
Now if you'll remember i discussed something about the prefs.js file in the beginning. Yes, now that file comes into file. Now what i didnt tell you was, the xenapp 6.5 doesnt capture user related files , so how do we handle it? At this stage , we need to write a prelaunch vbscript which will copy this file everytime this application is launched

but first let me share with you the contents of prefs.js file

# Mozilla User Preferences

/* Do not edit this file.
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 * To make a manual change to preferences, you can visit the URL about:config

user_pref("app.update.auto", false);
user_pref("app.update.enabled", false);
user_pref("app.update.mode", 0);
user_pref("app.update.service.enabled", false);
user_pref("browser.bookmarks.restore_default_bookmarks", false);
user_pref("browser.cache.disk.capacity", 1048576);
user_pref("browser.cache.disk.smart_size.first_run", false);
user_pref("browser.migration.version", 6);
user_pref("browser.places.smartBookmarksVersion", 3);
user_pref("browser.preferences.advanced.selectedTabIndex", 2);
user_pref("browser.rights.3.shown", true);
user_pref("browser.search.update", false);
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.startup.homepage_override.buildID", "20120614114901");
user_pref("browser.startup.homepage_override.mstone", "13.0.1");
user_pref("browser.taskbar.lastgroupid", "E7CF176E110C211B");
user_pref("extensions.blocklist.pingCountVersion", 0);
user_pref("extensions.bootstrappedAddons", "{}");
user_pref("extensions.databaseSchema", 12);
user_pref("extensions.enabledAddons", "{972ce4c6-7e08-4474-a285-3208198ce6fd}:13.0.1");
user_pref("extensions.installCache", "[{\"name\":\"app-global\",\"addons\":{\"{972ce4c6-7e08-4474-a285-3208198ce6fd}\":{\"descriptor\":\"C:\\\\Program Files (x86)\\\\Mozilla Firefox\\\\extensions\\\\{972ce4c6-7e08-4474-a285-3208198ce6fd}\",\"mtime\":1341981846073}}}]");
user_pref("extensions.lastAppVersion", "13.0.1");
user_pref("extensions.lastPlatformVersion", "13.0.1");
user_pref("extensions.pendingOperations", false);
user_pref("extensions.shownSelectionUI", true);
user_pref("intl.charsetmenu.browser.cache", "UTF-8");
user_pref("network.cookie.prefsMigrated", true);
user_pref("places.history.expiration.transient_current_max_pages", 104858);
user_pref("privacy.sanitize.migrateFx3Prefs", true);
user_pref("services.sync.clients.lastSync", "0");
user_pref("services.sync.clients.lastSyncLocal", "0");
user_pref("services.sync.globalScore", 0);
user_pref("services.sync.migrated", true);
user_pref("services.sync.nextSync", 0);
user_pref("services.sync.tabs.lastSync", "0");
user_pref("services.sync.tabs.lastSyncLocal", "0");
user_pref("toolkit.startup.last_success", 1341982165);
user_pref("toolkit.telemetry.prompted", 2);
user_pref("toolkit.telemetry.rejected", true);
user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/newkey", 1344569870);
user_pref("xpinstall.whitelist.add", "");
user_pref("xpinstall.whitelist.add.36", "");

the highlighted sections matter the most. If you observe closely, the highlighted lines are self explanatory, if not, let me tell you that those lines , will suppress automatic updates and automatic search engine updates.

now comes the the prelaunch vbscript file, but before that, did i tell you where you should keep this file , so that prelaunch.vbs copies this file everytime it runs in user. For that , open the .profile file generated in the above profiling steps. 

refer the image below

click update/install application , so that we can add file. click next on the screen that appears

on the next screen , select  advanced install, and click next. On the next screen , select "select files and folders radio button" and click next. it will take you to the following screen

the left hand section designates the files on the machine and the right hand section designates the file in the profiled application. Now in the left hand section, navigate to the desktop folder(i presume that should not be difficult ) Once on desktop folder, add that folder to the captured installation directory of firefox(u can keep the file anywhere in the captured directories, but i prefer INSTALLDIR). once the file is added , click next. On the next screen, select finish application and click next. again you will be presented with the screen asking you to run the application. Run the application and follow on screen instruction.When done , follow the default options on the screen untill you get the screen which asks you to build the profile and Voila!! you are done adding the file

Now lets write our vbscript file. Use the following content. I dont own any of the following content. Nor am i a very good scripter, but can write everyday scripts that can get the work done.


Option Explicit

On Error Resume Next

Dim objShell, objFso, struserpath, filepath, strCD, cmd, strAppdata, strSource1, strSource2, strDest, strDest1, strDest2, strDest3, strMicro, strFile

Set objShell=wscript.CreateObject ("wscript.Shell")
Set objFso=CreateObject ("Scripting.FileSystemObject")

strAppdata = objshell.expandenvironmentstrings("%appdata%")
strCD = objshell.expandenvironmentstrings("%ProgramFiles(x86)%")

strSource1 = strCD & "\Mozilla Firefox\profiles.ini"
strSource2 = strCD & "\Mozilla Firefox\prefs.js"
strMicro = strAppdata & "\Mozilla\"
strDest1 = strAppdata & "\Mozilla\Firefox\"
strDest2 = strAppData & "\Mozilla\Firefox\Profiles\"
strDest3 = strAppData & "\Mozilla\Firefox\Profiles\382pmpjp.default\"
strFile = strAppdata & "\Mozilla\Firefox\Profiles\382pmpjp.default\prefs.js"

If Not objFSO.FolderExists( strMicro ) Then
            objFSO.CreateFolder strMicro
End if

If Not objFSO.FolderExists( strDest1 ) Then
            objFSO.CreateFolder strDest1
End if

If Not objFSO.FolderExists( strDest2 ) Then
            objFSO.CreateFolder strDest2
End if

If Not objFSO.FolderExists( strDest3 ) Then
            objFSO.CreateFolder strDest3
End if

If Not objFSO.FileExists( strFile ) Then
         objFso.CopyFile strSource1 , strDest1
                 objFso.CopyFile strSource2 , strDest3, OVERWRITE_EXISTING
End if

Set objShell= nothing
Set objFso= nothing


Save this file by anyname.vbs
Now how to add this script to our profile?

again refer the following options

This time click properties and you will get the following screen

select the highlighted section. Uncheck the use profile settings. this will open up the prelaunch & Post exit scripts section.

Click Add. browse to the directory where you have kept your vbs file. Do not change any other option on the window unless you are sure about it. Once done adding the file, click apply and ok and save the profile on desktop. and you are done. Now when  you publish this application you will no longer get the same configuration windows and also the auto update will be disabled.


Do let me know if in case, someone finds any difficulty in the above mentioned steps



View comments (2)

Known Issues for Xenapp 6.5 2008 R2

Known Issues for XenApp 6.5 for Windows Server 2008 R2

Updated: 2012-02-13

Readme Version: 2


  • Installation Issues
  • SmartAuditor Issues
  • Application Streaming Issues
  • Single Sign-on Issues
  •  Other Known Issues

Installation Issues

  •  The Provisioning Services Target Device software resets your network connection during install. As a result, you may see user interface crashes or other failures if you select this component to install from a network location. Citrix recommends that you install the Provisioning Services Target Device software using one of the following methods [#229881]:
    • Install from a local DVD image or ISO
    • Copy the installation media locally before performing the installation
    • Select Manually Install Components from the Autorun menu
    • Install with a command-line installation
  • If you are installing the Configuration Manager Console Extension component of the XenApp Connector for Configuration Manager 2007 on a computer that has a remote Configuration Manager console installed, this warning might display: “Configuration Manager Console Extension is selected, but ConfigMgr 2007 R2 or higher is not installed. Install will continue, but the console extension feature will not be operable without ConfigMgr.” If the installed Configuration Manager console is from Microsoft System Center Configuration Manager 2007 R2 or R3, ignore this warning and continue installing the Configuration Manager Console Extension. The Configuration Manager Console Extension operates normally after installation. [#0034277]
  • After installing the Windows Desktop Experience Integration role through the XenApp Server Role Manager on a computer running a non-English operating system and configuring the CtxStartMenuTaskbarUser Group Policy Object (GPO), the PowerShell and Server Manager icons are not removed from the Taskbar as expected. Additionally, the Internet Explorer and Windows Media Player icons are not added to the Taskbar. This occurs because the script Enable-CtxDesktopExperienceUser.ps1 does not run correctly on non-English operating systems. To resolve this issue, download the updated Enable-CtxDesktopExperienceUser.ps1 script from CTX130208 in the Citrix Knowledge Center and replace the script on the XenApp server. [#261892]

SmartAuditor Issues

  • The SmartAuditor Player might fail to correctly display sessions launched with Citrix Receiver for Windows 3.0, instead showing a black screen in the Player window. To prevent this, disable the gradient fill feature on the XenApp server hosting the sessions by creating this DWORD registry on the server and setting its value to 1:HKLM\SOFTWARE\Citrix\Ica\Thinwire\DisableGdiPlusSupport.

Caution: Editing the Registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Sessions recorded after this change is made display correctly. [#254644]

  • The SmartAuditor Player might fail to play sessions launched with the Citrix Online Plug-in for Windows 12.1 or Citrix Receiver for Windows 3.0. To play these sessions, edit this text in the SmAudPlayer.exe.config file: <add key=”Windows” value=”12.00.9999”/>. To view sessions launched with Online Plug-in for Windows 12.1, change ”12.00.9999” to ”12.99.9999”. To view sessions launched with Receiver for Windows 3.0, change ”12.00.9999” to ”13.00.9999”. [#254795, #255780]
  • If SmartAuditor Administration components are installed on a XenApp server, the Citrix AppCenter console might not be able to complete discovery on the server. To resolve this issue, run:%SystemDrive%\Program Files (x86)\Citrix\System32\mfreg.exe /regserver.[#260133]

Application Streaming Issues

Issues for streaming Microsoft Office applications:

  • Profiling Microsoft Office 2010 SP1 is not supported in this release.

For best practices for streaming Office 2010 applications, seehttp://support.citrix.com/article/CTX124565 in the Citrix Knowledge Center.

  • Although the fonts for Office 2010 applications do not load during profiling, the fonts load correctly when the applications are launched on the user device. [#262124]
  • While profiling Microsoft Office 2010 applications, the option to Enable User Updates fails if the applications are published to stream to client desktops. To prevent this issue, do not use that profiling option for Office 2010 applications. [#259362]
  • When using the RadeCache flushall command, you might receive an Access Denied error for Microsoft Office applications that are streamed to server.

If this occurs, restart the server and run the flushall command again. [#262465]

  • When profiling Office 2010 on Windows 7 using the streaming profiler, if the operating system fails with a blue screen, the profiling workstation is probably missing Windows updates and a Microsoft Hotfix. To fix the issue, update the profiling workstation with the latest Windows updates and install the Microsoft Hotfix located at http://support.microsoft.com/kb/2359223/en-US. [#248727]
  • Streamed Office Project 2007 has the following known issues:
    • Creating Visual Reports in Project 2007 is not supported when users stream Project to their desktops, even when Excel 2007 is also streamed. [#223304]
    • Running Office Web Components in Project 2007 is not supported on Windows 7 operating systems. [#223553]

There are no workarounds for these issues.

Third-party known issues for application streaming:

  • This release does not support streaming IBM Personal Communications 4.2 or IBM ClearQuest. [#259830]
  • This release does not support streaming to clients through Web Interface on the following browsers: [#262650, 257135]
    • Microsoft Internet Explorer 9
    • Mozilla Firefox 4.0

Other known issues for application streaming:

  • Launching the streamed application SAP 7.20 or earlier versions on a non-English platform displays the user interface in English. In addition, the language drop-down located at File > Options > General > Language is blank.

As a workaround, install the SAP application in the profile, and after installation, open the command prompt inside the Profiler. Navigate to the Lang folder (C:\Program Files\SAP\FrontEnd\SAPgui\Lang\) and copy all the files to location C:\Lang\. [#260029]

  • After creating the first target, you cannot modify the "Enable User Updates" setting for the profile. The setting that you select for the first target applies to all other targets that you add to this profile, even if you manually select a different setting for subsequent targets. [#252225]
  • The Load Balancing policy fails to prevent a fallback option for delivery of an application published for dual-mode streaming (streamed if possible, otherwise stream accessed from a server).

The Load Balancing policy is supposed to be able to override the dual mode and force one or the other delivery method, disallowing the other, for the specified groups of users. In this release, the policy fails to prevent the fallback option, and the application will be delivered as specified in the publishing process. There is no workaround for this issue. [#258537]

  • An application that is streamed to the server cannot support more than one extra parameter when there is a space character in one of the parameters. While profiling, if you add an extra parameter that has spaces, only one parameter is supported. If there are no spaces in the parameter, multiple parameters are supported. [#262752]
  • The AppHubWhiteList is sometimes deleted when you update the Offline Plug-in. After updating the plug-in, verify that the AppHubWhiteList is still included with the plug-in, and if missing, add it manually. [#262709]

Single Sign-on Issues

  • Features that require the Single Sign-on Service might fail if the Single Sign-on Plug-in 5.0 is installed on user devices that do not have the Visual C++ 8.0 runtime library installed. To prevent this, ensure that the Visual C++ 8.0 runtime library is installed on the user device before installing the Single Sign-on Plug-in. [#261051]
  • On user devices that are running double-byte character language operating systems and have the Single Sign-on Plug-in 5.0 installed, Input Method Editor (IME) might fail against the question-based authentication dialog boxes for self-service password reset and self-service account unlock. To allow users to use account self-service from these user devices, ensure that their answers to security questions are in languages that do not require IME. [#262856]

Other Known Issues

  • XenApp servers might stop responding when multiple users are making frequent connections to the servers. Installing Service Pack 1 for Windows Server 2008 R2 or Microsoft Hotfix Windows.1-KB2383928-x64 on the server prevents this from occurring. See Microsoft Knowledge Base article #2383928 for more information. [#254069]
  • Adobe Flash content playback is poor when using server-side content fetching over a slow WAN connection. This may result in response failures for the Flash window or Web browser and extremely long buffer times and pauses. To avoid this issue, use server-rendered Flash delivery for user devices using WAN connections. [#261879]
  • When using Secure Gateway in an environment where data is encrypted using SSL protocol, SSL-secured sessions might disconnect unexpectedly, reporting an SSL Library Error 45. [#259611]
  • When publishing content to a XenApp server, the access control settings appear differently depending on whether you view them with the AppCenter console or with the XenApp command Get-XAApplication. For example, while the AppCenter might correctly display default settings, the XenApp command Get-XAApplication might display that no Access Gateway connections are allowed. This issue affects only the display of these settings; users can access the published content normally.

To ensure a consistent display of access control settings, use the XenApp SDK to configure and publish content applications. [#261283]

  • Published applications might fail to launch, displaying a black window in place of the application window, if system memory is low. This condition is indicated by this system event log message, with picadd as its source: "The Citrix Thinwire driver stopped because it cannot allocate the required memory. You may need to manually disconnect and restart any existing sessions." [#261647]
  • During session printer enumeration, Adobe Reader 10.1 may fail. As a workaround, edit your Adobe Reader preferences and uncheck the Enabled Protected Mode at startup checkbox. [#285090]


Be the first to comment

Too many App-V (4.6) OSDs on our client machines

So during a recent training course, at an existing client (they have now been operational for over a year) moving into the advanced material I get asked a question.

"On our servers we have some machines with about 3000 OSDs in the OSD cache. (they only have about 100 apps, some with multiple OSDs but way less than 3000), why is that?"

So, a little bit of info when I looked into it.

They were using app-v 4.6 in Citrix (I love Citrix). But they were using the MSI to install the apps. (yep a bit weird)

They started having a disk for each server, which started to take up a lot of storage when they ramped up their servers (not a lot of apps but a lot of servers). To get over that issue, they added a separate disk, that was when they noticed the extra OSDs.

So, I thought, hmmm, "Does the Citrix provisioning server know about the extra disk?"
"Probably not." Was the reply

So, I thought, it kind of figures that the MSI is installing the App-V app, putting the OSD file in the local cash (on that new extra disk).

Now I have never really looked into the MSI thing, I know it works, and I normally only use it for testing, just to make sure the shortcuts appear as expected and the FTA's work, but not actually in production as an App-V deployment option.

I do know that OSDs have a GUID, and they are put into the local cache, surely that has to be unique too.

So we looked into a bit, listed by the modified date, and there were lots of OSDs with the same date, opened them up in Notepad (other text editors are available) and I saw that they were actually the same OSD.

So, we looked at the app-v agent, checked what OSD the client was looking for.
Deleted all with the same date except the one that was needed, it all worked.
Then we renamed the remaining OSD and we get an error (as you would expect) and sure enough it was the error they had seen when they deleted ALL of the OSDs. Because its a crap MSI you cant repair the MSI to put the OSD back in the cache. (you need to remove it and reinstall it)

Just in case you ever wondered about this, when you install the MSI it creates a random unique name for the OSD file in the OSD cache.

We tested this by:
installing the MSI
rename the OSD
uninstall the MSI
restore the name of the OSD
reinstall the MSI
 and it adds another OSD with a different name, but the same date (when the OSD was created)

Solution options for this problem at this particular site...

  • tell the Citrix Provisioning services about the new disk and let it format it
  • write a script and do a delete *.* of the OSD cache

They chose the second option, easier to add a line in the batch file running the MSI's than engage with the Citrix team.

Happy days.

Be the first to comment
Showing 1 - 3 of 3 results

Top Contributors

Talk About Desktop Management