i recently changed from winserv03 enterprise to 08 for my legacy application. citrix xenapp is installed.
my application (via win32 calls to getprofilestring() and writeprofilestring(), used to read from the registry USR\software\microsoft\windows nt\currentversion\devices to get all client available printers.
my application also used to write to USR\software\microsoft\windows nt\currentversion\windows\device, to set the default printer for application to print to.
however, microsoft in winser08, added new support for 'session' printers which has broken my application's printing.
i think winserv08 is using different registry locations such as USR\software\microsoft\windows nt\currentversion\windows\sessiondefaultdevices\S-1-2-4-56-6… as its default printer. However, I'M NOT 100% sure and cannot access this registry key programmatically due to SIDs changing at every user login.