Have an older classic ASP site with three COM+ processes that are accessed by the site to create PDF file reports.
Migrating from IIS 6/Server 2003 to IIS 8.5/server 2012 R2. Both OS are 64-bit. So far everything works, except the COM+ containers keep returning "there is no default printer specified" errors.
The process identity for the COM+ are all set to a local user for which I have set a default printer (Bullzip PDF for both). They run in a separate process from IIS as well. When I see the COM+ in the task manager as they run, they all show this user in there. The COM+ are legacy 32-bit (written in Delphi) and have been properly registered, etc.
The IIS identity for the service is set to Local System for both 2003 (where it works) and 2012R2) where it does not.
Not that it should make a difference, but the old 2003 VM is on Amazon EC2 and the new 2012R2 VM is on Azure.
I'm trying to figure out why the COM+ is not picking up the default printer set for the process identity account. All COM+ settings are absolutely identical between the two machines, except for the accounts, which have changed names but are both machine admins with default printers set.
What am I missing?
I found the answer to the question:
http://support.microsoft.com/en-us/kb/184291
One must go into a machine account with the correct default printer, and export the registry keys from HKCU that correspond to ports, drivers and the selected default printer.
Then edit the .REG file to change HKEY_CURRENT_USER to HKEY_USERS\.DEFAULT -- then you double click each to upload the new keys into the registry. This sets up a machine default printer, and COM+ objects will have this information available to them, and voila! The problem is solved.
Thanks for those commenters who helped me to get my mind into the right frame to look at this problem from the correct perspective.