Microsoft Office 2013 outlook cannot provide form scripting support. This feature is not available. For more information, contact your system administrator

I have been asked to look into an issue with Outlook published in Citrix when users started getting error when they access files and folders within Outlook 2013 client. I have seen this happening before for older Outlook clients running on Citrix but never bothered to document it. But when I had the issue this time, it look me quite a few hours to figure out the correct GUID for MS Office 2013.

Firstly, I asked Google for the answer and there are tons of article explaining the fix but none of them worked for me as the GUID was incorrect in my case. Most of these articles are written for Outlook 2010 and below.

I went out hunting for the GUID and I figured it out from the C:\MSOCache folder. Note that this is a hidden folder so you need to enable hidden files to be able to view this. Under All Users folder, you can see a deluge of GUIDs from the Office installation and the one that I was looking for contained the below files. Though the issue was specifically for Outlook, the fix should be applied to the Office package itself


That’s all I need to run the command that fixes the issue. The command line is below

msiexec /i {90150000-0011-0000-0000-0000000FF1CE} ADDLOCAL=OutlookVBScript /qb

You can omit the -C towards the end of the GUID. The command ran successfully and users never reported the issue with Outlook again



ISS Roles Required for Citrix Desktop Director

Desktop Director runs on top of Microsoft IIS. The below are the IIS roles required for Desktop Director to function properly.


  • Web Server > Common HTTP Features >
Static Content
Default Document
HTTP Errors
HTTP Redirection
  • Web Server > Application Development >
.NET Extensibility
ISAPI Extensions
ISAPI Filters
  • Web Server > Health and Diagnostics >
HTTP Logging
  • Web Server > Security >
Request Filtering
  • Web Server > Performance >
Static Content Compression
Dynamic Content Compression
  • Web Server > Management Tools >
IIS Management Console
Management Service
  • Web Server > Management Tools > IIS 6 Management Compatibility
IIS 6 Metabase Compatibility

Tweaking Netscaler for XenApp/XenDesktop via TCP Profiles

I have recently come across this super blog from Citrix folks on the NetScaler Traffic Management classes. I thought i would rather add this in my blog for easy reference.

NetScaler has a highly scalable TCP stack which is built to take care of varying network conditions and various types of clients/servers. In any communication channel over TCP what makes difference is the client side stack, server side stack, intermediaries and network conditions. Beyond these core aspects the application layer as well impacts with the nature of application, size of request/response and how it makes difference to TCP connection characteristics.

For most cases what we have in default TCP stack holds well but if you know more about your application, client/servers and network conditions then you can use one of the built-in TCP profiles. These TCP profiles have fine-tuned TCP parameters which make significant difference in terms of lower latency, faster response time and better bandwidth utilization in given Application and network environment. NetScaler also allows you to create your own TCP profiles with these core TCP parameters which can optimize the TCP stack for your deployment. The TCP profile can be used globally which has system wide impact and it can also be used per vserver and service to localize the impact. Which means you can have different virtual TCP stacks for multiple vservers and services within same NetScaler, isn’t it really interesting?

The built-in profiles are aimed at common deployment scenarios based on different network and application characteristics. Let us understand the system supplied built-in TCP profiles:


  • Nstcp_default_profile
    • Default TCP profile impacting system globally
    • Any changes impacts the global TCP settings
    • Does not need to be bound to explicit vserver/services
    • Gets overridden by the vserver/service level profiles
  • Nstcp_default_tcp_lfp
    • This profile is recommended to be used in networks with
      • High bandwidth
      • Low packet loss
      • High Round-Trip Time (RTT)
    • Suitable for WAN kind of environments
    • Useful when there is dedicated bandwidth
    • Enterprise use cases across WAN
  • Nstcp_default_tcp_lnp
    • This profile is recommended to be used in networks with
      • Low bandwidth
      • High packet loss
      • High Round-Trip Time (RTT)
    • Suitable for WAN kind of environments
    • Useful when there is restricted bandwidth
    • Online use cases across WAN in shared bandwidth
  • Nstcp_default_tcp_lan
    • This profile is suitable for the LAN
    • Mostly to be used with servers in same datacenter
    • Useful when access is limited to same local network
  • Nstcp_default_tcp_lfp_thin_stream
    • Similar to Nstcp_default_tcp_lfp
    • Tuned for Small packets flow
  • Nstcp_default_tcp_lnp_thin_stream
    • Similar to Nstcp_default_tcp_lnp
    • Tuned for Small packets flow
  • Nstcp_default_tcp_lan_thin_stream
    • Similar to Nstcp_default_tcp_lap
    • Tuned for Small packets flow
  • Nstcp_default_tcp_interactive_stream
    • This profile is recommended to be used with
      • Chatty applications like telnet
      • Application virtualization environment
      • Small packet and quick feedback based Apps
    • Should work with different kind of networks
  • Nstcp_internal_apps
    • This profile is recommended only for Internal services
    • Should not be used for any other network service

Full credit to Citrite “Abhilash Verma” for taking time to write this stuff and the original writing could be found here

All you need to know about Citrix CPU Utilization Management

Citrix CPU Utilization is a cool technology but there are a lot of confusion around it on how to successfully use and implement it.  Here is a summary on how to enable it in  Citrix environments.

Citrix CPU Management

cannot operate correctly when Microsoft’s Fair Share Scheduling (DFSS) is enabled. Citrix CPU Management services therefore check the status of DFSS before starting. If DFSS is found to be enabled, then the Citrix CPU Management services will not start and will instead write the following error event to the Windows Application Log
Source: CTXCPUUtilMgmt
Description: The Dynamic Fair Share Scheduling (DFSS) aspect of the Remote Desktop Services role is currently enabled. CPU Utilization Management does not operate correctly when DFSS is enabled, so CPU Utilization Management has stopped. Before using CPU Utilization Management, disable DFSS. For instructions on how to disable DFSS, see help for Microsoft Remote Desktop Services or Citrix XenApp.DFSS may be configured via Group Policy or via a dedicated registry key. When DFSS is configured via Group Policy, the dedicated DFSS registry key has no effect.The DFSS Group Policy setting is “Turn off Fair Share CPU Scheduling” and this setting is under the following GP node:
Computer Configuration
-> Administrative Templates
-> Windows Components
-> Remote Desktop Services
-> Remote Desktop Session Host
->ConnectionsThe dedicated DFSS registry key is:
Key name: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System
Value name: EnableCpuQuota
Value meaning: A value of 0, is used to disable DFSS. A value of 1 is used to enable DFSS.

If the “Turn off Fair Share CPU Scheduling” GP setting is not configured then Citrix CPU Utilization Management determines the status of DFSS via the dedicated DFSS registry key.

If the “Turn off Fair Share CPU Scheduling” GP setting is enabled then Citrix CPU Utilization Management assumes the DFSS is disabled, the dedicated DFSS registy key is ignored and the Citrix CPU Utilization Management services will start.

If the “Turn off Fair Share CPU Scheduling” GP setting is disabled then Citrix CPU Utilization Management assumes the DFSS is enabled, the dedicated DFSS registy key is ignored and the Citrix CPU Utilization Management services will not start.

Unfortunately there is one complication in all the the above, see Microsoft TechNet articale “Group Policy to disable DFSS is not functional” found at “”. DFSS should therefore not be configured via Group Policy, and should instead be configured by the dedicated DFSS registry key. This is also discussed in Citrix Knowledge Base article CTX127135 “”.