I have a DLL (written in VB6..). It registers and runs fine on most machines and installations. However one installation is a T/S (Terminal Server), running Server 2003/R2/SP2. I get a failure with the following message:
DllRegisterServer in C:\Program files\ApplicationPath\ModulesPath\dllname.DLL failed. Return code was: 0x80004005
I've made sure the path has the directory where the module & it's dependencies reside, I've made sure to run the CMD prompt as Administrator with the "Run this program with restricted access" checkbox UN-CHECKED.
I've run depends.exe, and it says IESHIMS.DLL & WER.DLL are missing, but they're also missing on another 2003 Svr/R2/SP2 box, where it registers and runs fine.
Anyone have any ideas of where & what to look for? I've also spent some time comparing the folder permissions, file contents & versions, etc.. between a working and non-working server.
0x80004005 is typically ACCESS_DENIED. Sometimes, permissions and configuration on Terminal Server setups can be a little off the map. Drives/locations can be virtualized, and certain paths are clamped down to keep the configuration clean. That's what I'd suspect at first, at least.
If you've already ensured that the command prompt was run with Admin privs, direct permissions on the folders in the TS box may be the problem.
Good luck.