The visual studio build step is not called at all

For a long time, I built an installer in visual studio that gave me this joyful error when I tried to use the program:

Getting the COM factory class for components with CLSID {EC10E7E8-797E-4495-A86D-3E9EADA6D5BB} failed due to the following error: 80040154.

From this it seems that I need to embed the manifest in the executable and to do so, I must add the following as a post build event:

"$ (DevEnvDir) .... \ VC \ bin \ mt.exe" -manifest "$ (ProjectDir) $ (TargetName) .exe.manifest" -outputresource: "$ (TargetDir) $ (TargetFileName)"; # 1

Well, when I do this and create the solution, the event is not called at all. In fact, I can put any old random text in the pre and post events and no error is thrown and I can't see anything getting called.

Is there something I should be doing differently to make this work?

Additional Information:

I am building from IDE. And when I switch build types for debug and release, I still trust the team in post build events.

Is there a way to see a log of what it is doing?

0


source to share


3 answers


Tool + Options, Project & Solutions, Build & Run, set MSBuild Project Build Verbosity to Details. You will get a ton of diagnostics in the Output window.



FWIW, the error message you are receiving is a simple "class unregistered" error. Fix with Regsvr32.exe

+1


source


two guesses:

  • build fails
  • your post / pre build events are defined in the project config which is not being built, for example you define your events in the "debug" build but build the "release" build.


Are you building a solution from the command line or something?

0


source


Here's what worked. You apparently don't need to bake the manifest into the program. It was enough to include the manifest in the msi package, and also include the DLL that the proxy missed.

Like most simple things when you know :-)

Why are the post build steps not named I don't know, but the real problem has been resolved.

0


source







All Articles