4

Recently I migrated a C++ COM server project from Visual Studio 2008 to Visual Studio 2012. Apparently all went well except the postbuild event, which is

"$(TargetPath)" /RegServer

to register the COM server EXE. It's giving me the following output:

error MSB3073: The command ""D:\MVo\Phoenix2 VS2012\20_SOFTWARE\SRC\Debug\Phoenix2CMM.exe" /RegServer
:VCEnd" terminated with code -2147024891

When the quotation marks are left out, it's exiting with code 9009.

Strang enough, when I run the same statement in the cmd window, no error occurs, regardless of whether it's run as admin or not. The posbuild has not issued a warning or error in VS2008. What's happening?

Matz
  • 583
  • 1
  • 6
  • 21
  • 1
    `-2147024891` = `0x80070005` = `ERROR_ACCESS_DENIED` "Access is denied.". Start your VS IDE as Administrator. – Roman R. Jan 30 '14 at 09:53
  • I tried that; the code is -2147312566 then. Where can I look up these return codes? – Matz Jan 30 '14 at 10:02
  • 2
    [`-2147312566` = `0x80029C4A` = `TYPE_E_CANTLOADLIBRARY` "Error loading type library/DLL."](http://alax.info/blog/1383). You seem to have made a step forward, now the issue is related to your project (type library fell away from resource script?). – Roman R. Jan 30 '14 at 10:05
  • It works, thanks! Seems that during migration, the MIDL options got messed up a little, and so the TLB of the project wasn't there. – Matz Jan 30 '14 at 11:37

0 Answers0