Recently we updated a .NET 2.0 Windows Forms application on a client’s site.
The updated version starts well from a local drive but failed to start on a remote server via Citrix.
Error
Whenever we started the application it simply did not show up any window while displaying an error in the event log (in German):
Ereignistyp: Fehler
Ereignisquelle: .NET Runtime 2.0 Error Reporting
Ereigniskategorie: Keine
Ereigniskennung: 5000
Datum: 24.11.2009
Zeit: 17:20:28
Benutzer: Nicht zutreffend
Computer: MYSERVER
Beschreibung: EventType clr20r3, P1 myapplication.exe, P2 1.0.3615.30626, P3 4b0c0335, P4 system.configuration, P5 2.0.0.0, P6 4889de74, P7 1a6, P8 15a, P9 ioibmurhynrxkw0zxkyrvfn0boyyufow, P10 NIL.
The event log entry description points to the System.Configuration namespace, so it is likely that the issue was somehow related to the application configuration file „app.config“ (respectively „myapplication.exe.config“).
Steps to locate the issue
We isolated the issue by starting with a (nearly) empty „app.config“ file with which the application succeeded to start. We then added section by section back to the configuration file, until the error occurred again.
Cause
The bottom line was that a custom configuration section handler that worked well when being used in the locally started application did not work when being run from the Citrix server. A likely cause is that the Citrix server is a 64 bit machine whereas the other machine is a 32 bit machine.
Resolution
To resolve the issue we removed the custom configuration section handler and worked around it in code.