Wednesday, April 21, 2010

Windows 7 – Always show icons in the System Tray

Windows 7 changes the default functionality of the System Tray to hide icons created there by default.  Instead, users have to click a strange up arrow:


It can be fixed per user and per application by clicking Customise, and changing icons to “Show icon and notification”.


There is also a checkbox for “Always show all icons and notifications on the taskbar” – again, this is per user.

To stop this behaviour for all users you can force all System Tray icons to be visible on the Taskbar in regedit.  Open Regedit and find:


Create a new DWORD value called EnableAutoTray.  Leave its value as 0 (zero).  Log off and log back on or reboot and regardless of what you have previously set, all icons are now visible.  Setting it to 1 will set it back to default for everyone, and removing the key lets you define it per user by putting it in HKCU.



Sunday, April 11, 2010

Windows 7 overtakes Windows XP?

Now I know that Windows 7 already makes Vista look like an unpopular and almost forgotten relation who hasn’t come round for Christmas for years, but I was surprised to see on my stats for the last month (and I had quite a lot of hits this month, so these aren’t mostly me or anything) that Windows 7 had overtaken the aged and wrinkly Windows XP as the biggest Windows OS among my visitors.

Anyway, I’m quite glad to see this sudden and long overdue demise of Windows XP, since I had started to think in the Vista years that I would be seeing it hanging around more or less forever. 

In non Windows operating systems, Linux came second with 5%, followed by Mac on 2.2%.  I had one iPhone visitor.  Crazy. 


Wednesday, April 7, 2010

Scripting an uninstall of any Windows program

Something I’ve had to figure out for a script to uninstall any version of the Citrix client without prompting the user is to find how to uninstall any specific program.

This is saved in the registry for every installed program and the string for a program from one PC should work on any PC – providing its the same version of the program. 

Open Regedit and go to this location:


Below this location are lots of folders with GUID names – press CTRL-F and type something from the name of the product you need the uninstall line for.  It should jump to the right folder (check it has!) and then look for the value “UninstallString”.  The contents of this are what you are after.  Mostly this will start msiexec.exe…

You might well want to edit it before you include it in a script – for instance on an MsiExec.exe command adding the switches “REBOOT=ReallySuppress /qb!-“ will suppress a reboot and make it completely non-interactive, so the user just sees a brief status bar as it uninstalls.  Without it, it might prompt for uninstall or a reboot.


Friday, April 2, 2010

Installing XenApp 6

It seems like a long wait (because it’s been a long wait) but finally the wait for XenApp 6 is over.  This is something I’ve been waiting for after forming a low opinion of XenApp 5 in benchmarking and I’m looking forward to seeing what a more developed version of XenApp is like, especially running on Windows Server 2008 R2 (or “Windows 7 Server” as they really should have called it)

Downloaded the massive 4.8gb ISO of XenApp 6, so its time to install a test farm.

  • Install Windows 2008 R2, with .NET 3.5 sp1
  • Logon to the server again but NOT USING REMOTE DESKTOP!  Use VNC, use ILO, plug a monitor in, just don’t use Terminal Services.  It won’t work.
  • Extract the XenApp 6 ISO to a folder on the network with 7zip
  • Run autorun.exe (as administrator)
  • Click Install XenApp Server


  • Click Add Server Roles


  • Select your XenApp edition.  In my case, its Enterprise. 


  • Choose your server roles.  You will need at least a license server as well, but if you have a spare machine (a virtual is fine) its a good role to have a dedicated server for.  Remember it will have to be Windows Server 2008 R2 as well if its going to be serving your Terminal Services CALs.


  • Choose your server roles.  XenApp Server is the only required one for your first server, but the XenApp Management role might be a good idea for one of your servers so you can host the app on the farm.  You can also install the XenApp Management tools to your PC, which is a good idea for when there’s a problem with your farm that stops you launching apps!  I’ve also selected the EdgeSight Agent as well since I’m planning to deploy an EdgeSight server later on.



  • That’s a lot of Visual C++ Redistributables.  No Java pre-req though, thank God.  Click Install to carry on, agree to any UAC prompts and log back in after reboots as needed.  If you have not installed the Remote Desktop roles before install you’ll need to restart it manually when it tells you the restart was pending.  After reboot, run XenApp Server Role Manager to carry on.





  • After install, click Finish.  Select the Role Manager from the Start Menu if its not launched and click Configure to set up your farm.


The server should now be ready to join to a farm or create a new one.  After this it will need licensing – so the licensing components seen above need installing somewhere and some Citrix licenses adding.  You will need Terminal Services CALs within 120 days as well.

The web interface install is the other requirement for actually using your farm.  Older versions work fine with XenApp 6 (at least the XenApp 5 ones do), but the web interface 5.3 ships new with XenApp 6.  All this can be installed on a single server but its best to separate the different functions if you can.

    Thursday, April 1, 2010

    Citrix Web Client 12.0 - “A remote application is trying to access files on your computer”…

    We’ve had some fun with the new v12.0 XenApp Client – by default each user on web interface sites is asked when they launch applications that try to use the local drives.  The message below pops up, which is nicely redesigned since the previous versions.


    If the user clicks Yes, access to resources such as local drive mappings is then enabled (read only if the checkbox was clicked).  Otherwise, you can get errors such as “The folder ‘c:\*.*’ isn’t accessible”.


    If you want to avoid errors such as this, decide whether you want applications to have access to local drives (different for everyone I’m sure, but you probably do), create a text file called “webica.ini” at these locations automatically at logon:

    Windows Vista and 7:  C:\Users\%USERNAME%\AppData\Roaming\ICAClient

    Window XP and 2000: C:\Documents and Settings\%USERNAME%\Application Data\ICAClient

    The file contents for allow access and never ask is: