Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like

Archive for November, 2010

Citrix Web Interface starts very slowly

I remembered from a previous project that when the Citrix Web Interface this is caused by a setting called generatePublisherEvidence in the Aspnet.config file.

This behaviour has been documented by Citrix in CTX117273.

If you read it carefully you will see the note that you need to fix it in 2 places for an x64 system.

If you know me a little than you have probably guessed I wanted to fix this with a nice script. I have chooses PowerShell this time because it has good support for XML and I made a one-liner so I can easily use it in an Embedded Altiris script.

The script changes the config file for both x86 and x64:

EDIT: If you run by commandline you need to care of quotes within quotes, easiest thing to do is to use double quotes (“) to surround the commandline and use single quotes (‘) for Strings inside the commandline:

Script to register ASP.NET in IIS

I did an unattended install of the Citrix WebInterface on a testmachine and it failed with error 258.

The logfile clearly indicates the reason:

[ ERROR ] com.citrix.wi.install.SetupErrorReporter: Error 258 occurred: ASP.NET 2.0 must be registered and enabled in Microsoft Internet Information Services before the Web Interface can be installed.

We can register ASP.NET in IIS with the Aspnet_regiis.exe tool that comes with the .NET framework.

The commandline would be:

aspnet_regiis.exe -enable -ir

We do need to make sure we are using the proper version of the tool (x86 or x64), I did that in the Embedded Altiris Script:

Related Articles:

This means you are installing the wrong edition, eg x86 version on an x64 OS.

All available version are listed on the MSDN Visual J# Redistributable Packages page.

Related: The case of the VMware vSphere Client

A while ago I created a script that I can run as embedded script in Altiris that creates a Server Manager Answer File (for Server 2008).

I could have simply done an echo >answer.xml but I wanted a well formed XML that could be read and displayed in an XML editor or Internet Explorer when needed.

I use the Microsoft.XMLDom object in the script the create the XML and I think the code is easy to understand so I will just show it here: (more…)

Disabling Java Autoupdate

I did an unattended install of Java Jre1.6_0.22 using an mst file that puts all (auto)update properties to off.

However it seems that Java simply ignores this, so usually a script runs after the install to the delete some registry keys and perform some extra configuration.

With more recent Java versions it’s easier to simply uninstall the update component with the following commandline:

msiexec /x {4A03706F-666A-4037-7777-5F2748764D10} /qb-

Altiris AxSched ignores the DSN parameter

I was playing around with the AxSched tool that comes with Altiris, in my case the version that comes with v6.9 build 453.

I could not make it connect to the Deployment Server from my test machine, it seemed like the /dsn parameter I used was totally ignored.

I also tried the /d and /db parameters but they didn’t have any effect at all, the message was always:

Error opening database connection:
SQL Server does not exist or access denied.
ConnectionOpen (Connect()).

So I opened AxSched in Ida Pro and set a Breakpoint to the place where the SQL Connection seems to be made:


Ida nicely hints us that the ConnectionString is in the ECX register so we only have to inspect it to see it’s value.

Actually AxSched does several attemps and the used Connection Strings are:

  1. DRIVER={SQL Server};DSN=;SERVER=;Trusted_Connection=yes;
  2. DRIVER={SQL Server};DSN=;SERVER=;UID=sa;PWD=;Trusted_Connection=no;
  3. DSN=Altiris eXpress Database;
  4. DSN=Altiris eXpress Database;Trusted_Connection=yes;
  5. DSN=Altiris eXpress Database;UID=sa;PWD=;Trusted_Connection=no;

So I bypassed by adding a DSN with the name Altiris eXpress Database and then it works.

Earlier today I wrote about my Altiris Job Builder tool but when I tested the actual produced build job I noticed something weird: the job was scheduled but not executed.

I then tried to manually push a job to this server and that one executed fine.

When I clicked the Job I could see that it was scheduled:


But when I clicked the Server it wasn’t there:



Altiris Job Builder

I have created a little tool for myself that I have call Altiris Job Builder, it retreives the Jobs from the Altiris database and shows them in a Treeview.

Then I can assemble a Master Build Job by dragging the needed Jobs to another Treeview on the right. Since it’s just for me it doesn’t have a fancy gui:


So why did I write it? Well I have divided my Jobs into Prerequisites and Packages, for instance IIS and Terminal Server and Java are prereqisuites for Citrix. But many prereqisuites are required for one or more other packages, eg Java is also used for certain applications. (more…)

Citrix and Java JRE Versions

If you have ever installed Citrix Presentation Server/XenApp or one of the management consoles then you have probably dealt with Java versions.

Citrix is very picky about the Java version so it’s usually best to initially install the Jre version that is delivered with the product.

In my case however I needed to install the CMC for Xenapp 5 on Windows 2003, it requires JRE 5.0 Update 9 but this version was undesirable.

So I tried to install the CMC with the current JRE version (1.6.0_22 at this time) but it makes the Installer exit immediately:



I ran a VBScript that queries the Win32_Product WMI class on Windows 2003 but it returned error 0x80041010 instead of the expected results.

I looked up that errorcode and it means WBEM_E_INVALID_CLASS. This happened because the “WMI Windows Installer Provider” was not installed.

You can do this through Add/Remove Programs | Windows Components | Management and Monitoring Tools | WMI Windows Installer Provider.

Or if you want to do this with a script you can use SysocMgr: