Monday, July 04, 2005 7:20 PM
hannes
Paladin/COM+ transactions on Windows 2000
I will check these issues on Windows XP when possible, and post any remaining issues to the Paladin Knowledge Base. For now, it is only useful to developers working on Windows 2000, which I guess is me.
Error: Failed to register assembly 'Paladin.Core, Version=0.9....
Resolution:
The COM+ application can not register automatically for some reason.
Execute regsvcs Paladin.Core.dll and do the same for all assemblies that take part in COM+ transactions.
The assemblies will also need to have strong names (signed with a key).
Signing is not possible for the web application assembly, so all business components should be moved to another assembly.
Whenever an assembly's COM+ components are modified, the COM+ application should be registered again.
Error: An error occurred while enlisting in a distributed transaction.
Resolution:
This could happen when the assembly that you are creating the object from does not have a strong name - an issue if you would like to use ServicedBusinessComponent in your web application.
I attempted to solve this issue by changing the Paladin Enterprise Services COM+ application's activation type to server application. This in turn produces an Access is denied error. The system event log reports that this is because an IUSR_ account is used to attempt launching a DCOM Server. I did not attempt to resolve this security issue, and abandoned this approach.
To work around this issue, you can create a replacement class in a signed assembly. Any class that inherits from ServicedBusinessBase will do. This wrapper class can then be used within the web application without problems.