Error prj0050: failed to register the output. Make sure that you have the correct permission to modify the registry.
Project: Error prj0050: failed to register output. Make sure that you have the permission to modify the registry.
After reading it for a long time, I am an administrator and cannot delete debug. Project: Error prj0050: failed to register output. Please ensure you have the appropriate permissions to modify the registry is really troublesome.
I had to consider the changes step by step and found that a DLL was called.
This lib I already # pragma comment (Lib, "tmdapi. lib"), just delete the DLL call,
After thinking about it, you just need to export the DLL cpoy to the output directory. All third-party DLL files are put together and then registered.
Put it in the current directory, % WINDIR %, % WINDIR %/system32 !!!
The main reason is that no dependent database is connected !!!!!!
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/jasonM2008/archive/2009/01/23/3851377.aspx
Solution 2,
Turn off your antivirus software! After several hours, I did not know why the error occurred. I did not receive any error message when I directly executed the command through command lines. After a long time, I couldn't figure out why, suddenly it may be that the anti-virus software is strange. The reason is that the anti-virus software is a try!
This problem was later clarified because anti-virus software may mistakenly think it is a virus for this type of repeatedly registered DLL, so it was blocked!
Solution 3: this problem may be caused by no connection to generate the corresponding file.
Open the $ project path/debug/buildlog.htm file and search for the following text:
"Or the last incremental link does not generate it; a solution to the full link problem is being executed"
If this text appears, it indicates that your c ++ project generation scheme is an incremental link. The specific reason is:
Because the common "generate project" is incremental compilation, for example, A, B, and C are generated after compilation. OBJ, B. OBJ, C. OBJ, And now modify the C unit, then execute the "generate project" command to compile only the C unit and then directly link it. </P> <p> what you mentioned is that the compiler encountered some problems during the incremental compilation process.
Some people have suggested restarting vs to solve this problem, but sometimes it will become invalid. Now let's talk about my solution!
Right-click the project you want to generate, for example:
Then change the incremental link according to the modification:
Regenerate your project,
Then check whether there is still "or the previous incremental link does not generate it in/debug/buildlog.htm; solve the problem by executing the full link problem ".
If not, congratulations, at least you have succeeded at the link! In addition, you need to find the problem from/debug/buildlog.htm for all problems arising during the compilation process!
All problems encountered during compilation will be prompted here!
If the link is successful, but it still appears:
Error prj0050: failed to register the output. Make sure that you have the correct permission to modify the registry.
Check the/debug/buildlog.htm file and check
Creating Temporary File "D:/projects/ksnpasswordcontrol/debug/batw.b714563704. BAT, the content is <br/> [<br/> @ echo off </P> <p> Cd .. /debug </P> <p> regsvr32/s ". /ksnpasswordcontrol. OCX "</P> <p> If errorlevel 1 goto vcreporterror </P> <p> goto vcend </P> <p>: vcreporterror </P> <p> echo project: Error prj0050: failed to register output. Make sure that you have the permission to modify the registry. </P> <p>: vcend </P> <p>] <br/> creating command line "D:/projects/ksnpasswordcontrol/debug/batw.b714563704. bat "<br/>
The batw.b714563704. Bat directory is in the same directory as your ksnpasswordcontrol. ocx!
See how to modify:
Note that outdir and projectdir do not match!
The solution is to copy the generated items under $ (outdir) to $ (projectdir)/debug, and then register
Example: regsvr32 ksnpasswordcontrol. ocx
These files are copied from the $ (DIR) directory.