Hi,
I've been suffering some infuriating teething troubles with SSIS today and thought it would make sense to write about them in case a) someone else runs into the same problems and more importantly b) I run into them again(!!!)
In short, we have a package which calls a bunch of other packages using the Execute Package Task. Up until recently we were executing everything in-process (ExecuteOutOfProcess=FALSE) but because of a bunch of other problems we've been having (more on that in a future blog post) we have had to change to execute child packages out of process. This worked fine in our dev and systest environments but failed when we pushed it to production. The error that we received was created when we tried to call the child package but the error from within SSIS was fairly useless:
Error 0x80070005 while loading package file "Package.dtsx". Access is denied.
because we knew that the required permissions were in place on the folder housing the packages. However, we did have more joy when we looked at the event log:
Source: DCOM
Description: The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID {1838B317-D927-4ED4-8B5C-A0A52D6F6CBE} to the user CT\sysminerva-etl SID (S-1-5-21-2052111302-854245398-1177238915-963642). This security permission can be modified using the Component Services administrative tool.

Searching the registry for that CLSID came up with:
The class Microsoft.SqlServer.Dts.Runtime.Wrapper.PackageRemoteClass seemed synonymous with executing a package out of process so we knew we were onto something. We compared our production server to our dev and systest servers and the only difference we found was that the account that executes our packages was not in the Administrators group. Optimistically we added the account to the Administrators group and reran. The same problem ocurred however and we were back to feeling glum.
Then our server guy had a brainwave. He said that the change we'd made might not have propogated to the required permissions on the COM server application and the only way to ensure that it did was a good old reboot. After the reboot we reran and everything worked successfully! Phew!
That's all. If you experience the same problem hopefully this will help.
-Jamie