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

Solution 1:

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.

Solution 2:

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.


Solution 3:

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%).

Solution 4:

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.

Solution 5:

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