$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like
After updating a Citrix License server from 11.6.1 to 11.10 the Citrix Licensing Service crashed immediately after startup.
In the Event Log the following error was shown:
I suspected that there was a corrupt licensing file in the MyFiles folder (Default C:\Program Files\Citrix\Licensing\MyFiles).
22 Aug // php the_time('Y') ?>
I wanted to call a hash function from a .net executable from my code. My first step was to inspect the executable with Reflector.
The Hash function was in a namespace called Core:
1 2 3 4 5 6 7 8 9 10 11 12 | namespace TheExe.Core { internal static class AssemblyInfo internal static class StringExtensionMethods } internal static class StringExtensionMethods { // Methods public static string Hash(this string original, string password); // More methods... } |
Notice that the Core namespace is marked as internal so it was not meant to be callable outside of the executable. It’s still possible to call it using Reflection:
After joining a new Windows 2008 R2 Server to the domain I could not login to the domain.
I would get the following error message:
Additionally the following error was logged in the Eventlog:
I had to troubleshoot an application that was published with Citrix XenApp. The problem with this application was that it didn’t have an button/icon in the taskbar and the window would sometimes disappear.
I noticed that this (cr)application was written in Visual Basic, so I decided to run it through a decompilation tool.
The decompiler was able to list the forms used in the Application:
I am using a PowerShell script to copy some elements of from the users old profile location to a new location. This includes the Nethood ("My Network Places") folder which contains the Network Places shortcuts.
A user reported that she could not save documents to Network Places anymore and after inspection the Network Places shortcuts were broken.
I started comparing the old Nethood folder to the new and observed the following difference in Explorer:
When copying entries from the Nethood folder with Explorer manually they worked fine, so somehow Explorer gives the Nethood folder special treatment.
18 Jul // php the_time('Y') ?>
Today I was asked to troubleshoot an executable that didn’t work correctly on Windows XP Embedded.
On startup it displayed the following message:
1 2 3 4 5 6 7 | Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass embly 'System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b0 3f5f7f11d50a3a' or one of its dependencies. The system cannot find the path spec ified. File name: 'System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyTok en=b03f5f7f11d50a3a' ---> System.IO.DirectoryNotFoundException: The system canno t find the path specified. (Exception from HRESULT: 0x80070003) |
I verified that System.Configuration.dll was present (in C:\Windows\Microsoft.NET\Framework\v2.0.50727).
I was just browsing through the Options tab in Excel 2010 when I noticed the following setting:
This feature was introduced in Excel 2007.
In the default settings, multi-threaded calculation is Enabled with "Use all processors on this computer".
On a physical desktop this would be the preferred setting since it will make formula calculation as fast as possible.
This morning Arjan Beijer sent me an interesting link to a youtube video about obtaining the Citrix IMA Datastore password using Windbg.
The video shows a method, discovered by Denis Gundarev to obtain the IMA Datastore password. Basically he uses DSMaint.exe and set’s a breakpoint on the call to CryptUnprotectData and then reads the password from memory.
I tried to call the CryptUnprotectData API with the data read from the registry directly but this failed with error NTE_BAD_KEY_STATE, this is defined in winerror.h and it means “Key not valid for use in specified state”.
Just a small post today: a small commandline utility that reads the “DefaultPassword” LSA secret.
This secret is stored in the registry under the SECURITY Hive:
After figuring out how to encode and decode the Citrix passwords my next step for the upcoming Citrix Launcher is experiment with config.xml and authenticating to the Citrix Web Interface.
I imported the NFuse.dtd from the Citrix Web Interface into Delphi with the XML Data Binding Wizard. The results in an NFuse Unit so I can easily create the XML data.
To create an authentication packet I use the following code: