An error occurred while validating. HRESULT = '8000000A'

て烟熏妆下的殇ゞ 提交于 2019-11-26 19:30:27
oɔɯǝɹ

This is a known issue in Visual Studio 2010 (a race condition). See this connect item.

We've run into this as well, and had a very unsatisfying support call on this issue with Microsoft. Long story short: it's a known issue, it won't be solved, and Microsoft advises to move away from Visual Studio Setup projects (.vdproj).

We've worked around this issue by triggering the MSI build a second time when it fails a first time. Not nice, but it works most of the time (error rate is down from ~ 10% to ~ 1%).

kristian mo

Update for those who got this issue for VS2013 or VS2015 after upgrading a VS200X setup project using the Microsoft Visual Studio Installer Projects extension.

Following the recipe for v1.0.0.0 from MS finally made it work for me:

Microsoft Visual Studio Installer Projects

Unfortunately we couldn't address all cases of the command line issue for this release as we're still investigating the appropriate way to address them. What we do have is a workaround that we believe will work for almost all of them. If you are still suffering this issue then you can try to change the DWORD value for the following registry value to 0: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\MSBuild\EnableOutOfProcBuild (VS2013)
or
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\MSBuild\EnableOutOfProcBuild (VS2015)
If this doesn't exist you can create it as a DWORD.

I read somewhere online about this, and I have fixed it like this (it was suggested by someone):

  • open your setup project file (.vdproj) in notepad (or any other text editor)
  • delete these lines at a beginning of the .vdproj file:

    "SccProjectName" = "8:"
    "SccLocalPath" = "8:"
    "SccAuxPath" = "8:"
    "SccProvider" = "8:"
    
  • build again - error is gone

That error didn't stop me from deploying, building, debugging (or anyting) my project it just annoyed me. And it came on even if I set all projects to be build in a current configuration and the setup project not to.

Aussie Ash

Update as of 6/14/2017

the Microsoft Visual Studio 2017 Installer Projects extension now includes a command line helper tool for making the registry setting much easier to apply Microsoft Visual Studio 2017 Installer Projects

Example paths of the tool (based on the version of Visual Studio installed)

Professional Edition: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe


Community Edition: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe

From the README


This simple tool is meant to help users set the registry key needed to get around this error that can appear when building installer projects using command line builds:

ERROR: An error occurred while validating. HRESULT = '8000000A'

The tool is meant for Visual Studio 2017+ and sets this reg key for a particular installed Visual Studio instance for the current user. So if you're setting this on a build agent make sure to use the user account that the build will use.

Run "DisableOutOfProcBuild.exe help" for usage details.


Permanent solution (+ for build-machines)

Visual Studio 2017

For VS 2017, call the following CMD scripts under your target Windows account:

Community edition
Professional edition
Enterprise edition

TL;DR. Notes for poor DisableOutOfProcBuild.exe, the Microsoft's offered solution that I use for VS 2017.

  1. DisableOutOfProcBuild.exe doesn't assume you will call it out of its installation folder. So, you can't copy this .exe file. (By the way, if you want to build .vdproj, you must install VS.)
  2. DisableOutOfProcBuild.exe will only work if the current CMD directory is set to the installation location of DisableOutOfProcBuild.exe.

As an example, for VS Professional edition we must call

CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe


Visual Studio 2015 and earlier

by CMD for the current Windows user

For many people the creation/correction under HKEY_CURRENT_USER\.. doesn't always work or work permanently.
Trying to solve this, I found that in fact I have to create/change some weird key under HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild

But I also found that if I will be using a CMD console for HKCU with the proposed fix
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
this will write the value exactly into that weird key HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xx..., not to the HKEY_CURRENT_USER.

So, this works from a first shot and forever. Just use the CMD console.

REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
@REM (use 12.0_Config for VS2013)

Solver for Build Servers

On the other hand this code always works for a current user account which launches it (because of HKEY_CURRENT_USER). But build-servers often use dedicated accounts or Local System, etc.

I fixed it on my build-machines by adding the following simple batch file to my build tasks (Jenkins, TeamCity, CruiseControl)

VS-2015, VS-2013, VS-2017-Community, VS-2017-Professional, VS-2017-Enterprise

As pointed out in the comments here, for VS2017 you will need to create the DWORD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0_[IDKey]_Config\MSBuild\EnableOutOfProcBuild Replace [IDKey] with the ID suffix of the existing 15.0 subkey of VisualStudio.

For example, if under VisualStudio you see the key "15.0_abcd1234" it would be "15.0_abcd1234_Config".

I have faced with this issue after I moved my project to another PC(VS 2010, multiple projects in a solution).

It was already built my project in the source computer but after I copied to target, I wasn't be able to build my Setup Project and having this error.

I opened the /Debug folder under my Setup Project root path, there were MyProject.msi and setup.exe files, I deleted them and built my project again, it worked. Hope it works for some fellas, too.

Checking the project dependencies may help.

In VS 2010 right click in your solution explorer then click Detected Dependencies and Refresh Dependencies, it sometime resolves the problem.

I am using VS 2017 but none of above solution work. So, upgraded latest version of VS 2017 and apply @AussieAsh solution and its work fine...

I hope this solution may someone will work.

with me it was caused by a wrong .suo file. ( caused by skydrive ) deleting this file solved the problem.

Visual Studio 2017 stores the information previously stored in the public registry within a new private registry: C:\Users\\AppData\Local\Microsoft\VisualStudio\15.0_6de65198\privateregistry.bin

This is where you need to add the EnableOutOfProcBuild as per the instructions for VS2013/VS2015.

To update the private registry you can use Regedit.

Click to select the HKEY_USERS node.

Select File > Load Hive and navigate to the privateregistry.bin file. When you select it Regedit will ask for a name - it doesn't matter what you call it as we will soon be done.

Now the registry structure will appear and you can navigate down to the Microsoft\VisualStudio\15.0_Config\MSBuild

Create a new DWORD EnableOutOfProcBuild with a value of 0.

Once done select the hive's root (whatever you named it earlier) and use File > Unload Hive to detach from it.

Now it should work :o)

My Visual Studio 2013 somehow became Experimental so it started using another registry key for EnableOutOfProcBuild

To be sure I just added another line in my batch file for setting the registry value and it started working:

REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0Exp_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f

Just run this exe

(Visual Studio 2017 Community edition)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe

(Visual Studio 2017 Enterprise edition)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe

Had this problem today, try restarting Visual Studio, if that doesn't do it create a new project, save it and then copy the files from the problem project over. both methods worked for me.

Please clean the solution first, build the solution and than try to build the installer. It will remove the error.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!