Customization Specification for Windows does not join VM to domain
search cancel

Customization Specification for Windows does not join VM to domain

book

Article ID: 342874

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:
Customization Specification for Windows does not join VM to domain.
Sysprep will fail

C:\Windows\System32\Sysprep\Panther\setuperr.log

setuperr.log 
==========
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Package Microsoft.PPIProject_10.0.17134.1_neutral_neutral_Cw5n1h2txyewy was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Failed to remove apps for the current user: 0x80073cf2.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error      [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error      [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2

Environment

VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x
VMware vCenter Server 6.x
VMware vCenter Server 7.x
VMware vCenter Server 8.x

Cause

This is not a VMware problem.

The Windows OS has a package(s) which need to be removed from the OS. The package(s) needs to be removed as it may be an older version or it may be a depreciated package exists in the OS.

Resolution

Before starting this procedure, download the core files from https://github.com/SoftSonic83/AppxDBEditor

In this example, the log snip is from Windows 10 Ent build 2004, the logs are located at  C:\Windows\System32\Sysprep\Panther\setuperr.log, and it is complaining about a specific package (PPIProject). You might need to repeat the same procedure for additional packages that are not functioning properly.
 
setuperr.log 
==========
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Package Microsoft.PPIProject_10.0.17134.1_neutral_neutral_Cw5n1h2txyewy was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Failed to remove apps for the current user: 0x80073cf2.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error                 SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error      [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2
YYYY-MM-DD HH:MM:SS, Error      [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2
 
Check in the existing package list, few of the packages might be deprecated by the vendor, or the package contains an old version, so we need to remove it.  The value of the package needs to be unflagged from the protected list ‘0’. If the value is 1, this means it is protected and cannot be removed.
AppxPackageDump.txt

PackageFullName                                                ISInbox
----------------------------------------------------------     ----------
Windows.PrintDialog_6.2.0.0_neutral_neutral_cmw5n1h2txyewy      1
1537c705-839a-4832-9118-54d4Bd6a0c89_10.0.17134.1_neutral      1
c5e2524a-ea46-4f67-841f-6a9465d9d515_10.0.17134.1_neutral      1
E2A4f912-2574-4A75-9BB0-0D023378592B_10.0.17134.1_neutral      1
F46D4000-FD22-4DB4-AC8E-4E1DDOE828FE_10.0.17134.1_neutral     1
Microsoft.AAD.BrokerPlugin_1000.17134.1.0_neutral_neutral      1
Microsoft.AccountsControl_10.0.17134.1_neutral_cw5n1h2tx        1
Microsoft.AsyncTextService_10.0.17134.1_neutral_8wekyb3d        1
Microsoft.BioEnrollment_10.0.17134.1_neutral_cw5n1h2txye        1
Microsoft.CredDialogHost_10.0.17134.1_neutral_cw5n1h2txy        1
Microsoft.ECApp_10.0.17134.1_neutral_8wekyb3d8bbew              1
Microsoft.LockApp_10.0.17134.1_neutral_cw5n1h2txyewy            1
Microsoft.MicrosoftEdgeDevToolsClient_1000.17134.556.0_ne      1
Microsoft.PPIProject_10.0.17134.1_neutral_neutral_Cw5n1h2txyewy 1
Microsoft.Win32WebViewHost_10.0.17134.1_neutral1_neutral_c    1
Microsoft.Windows.Apprep.ChxApp_1000.17134.1.0_neutral_ne      1
Microsoft.Windows.AssignedAccessLockApp_1000.17124.1.0_ne      1
Microsoft.Windows.CapturePicker_10.0.17134.1_neutral_cw5        1
Microsoft.Windows.CloudExperienceHost_10.0.17134_neutra        1
Microsoft.Windows.ContentDeliveryManager_10.0.17134_neu        1
Microsoft.Windows.Cortona_1.10.8.17134_neutral_neutral_cw      1
Microsoft.Windows.HolographicFirstRun_10.0.17134.1_neutra      1
Microsoft.Windows.OOBENetworkCaptivePortal_10.0.17134.1_n      1
Microsoft.Windows.OOBENetworkConnectionFlow 10.0.17134.1        1
 
Next, update the package value to zero. The protected flag needs to be removed before removing the package.
Create a file with any user friendly name and append the list of package names. If you have a list of package names handy, then add all package names at once, or else add one package at a time.


example file: removePPi.txt (use any friendly name)
UnlockPPI.txt
# uninstalled or a Value of 0 meaning that the Appx-Package can be uninstalled for all #
# Users.
# By Modifying the IsInbox-Value of an Appx-Package to 0 the Protection of the Package #
# will be disabled and it can be uninstalled by Setting Dialog or PowerShell.          #
# This File defines how the Protection State of the list Packages is modified by the   #
# Script. It's sufficient to only specify a Part of the Package Name. Thereby the File #
# will stay compatible among further Version Builds of Windows 10.                     #
########################################################################################
# Windows Holographic Features
Microsoft.PPIProjection_10.0.17134.1=0

Match the pattern, and it’s not mandatory to add the complete package name.

Once it is complete, open the batch file (Open AppxDBEditor.cmd) which you have downloaded earlier.




Select the option (2) - "Select Another Appx-Package List File"



Once successful, select M to modify the list while selecting Y to confirm, and wait for a moment. Once completed, select D to dump the package list.

Option D will create a file ‘AppxPackageDump.txt’ in the folder where the tool is being run.




Upon opening the file, the package, which was complaining now has the value ‘0’

AppxPackageDump.txt
Microsoft.Service.Store.Engagement_10.0.19011.0x64_8we 0
Microsoft.Service.Store.Engagement_10.0.19011.0x86_8we  0
Microsoft.VCLibs.140.00_14.0.27232.0_x64_8wekyb3d8bbwe 0
Microsoft.UI.Xaml.2.0_2.1810.18004.0_x86_8wekyb3d8bbwe  0
Microsoft.NET.Native.Framework.1.7_1.7.27413.0_x86_8weky 0
Microsoft.UI.Xaml.2.0_2.1810.18004.0_x64_8wekyb3d8bbwe  0
Microsoft.NET.Native.Framework.1.7_1.7.27413.0_x86_8weky 0
Microsoft.VCLibs.140.00_14.0.27232.0_x86_8wekyb3d8bbwe  0
Microsoft.NET.Native.Runtime.2.2_2.2.27328.0_x86_8wekyb3 0
Microsoft.NET.Native.Runtime.2.2_2.2.27328.0_x64_8wekyb3 0
Microsoft.PPIProjection_10.0.171341_neutral_neutral_cw5n 0
Microsoft.NET.Native.Framework.1.7 1.7.25531.0 x64 8weky 0

Now that the protected flag has been removed, using PowerShell, remove the package.

1. In PowerShell, execute the following commands:

  • Import-Module Appx
  • Import-Module Dism
  • cd ..\..\Windows\System32\

2. Remove the package from the PowerShell using the command below

  • Remove-AppxPackage -AllUsers -Package Microsoft.PPIProject_10.0.17134.1_neutral_neutral_Cw5n1h2txyewy -verbose

3. Once the package has been removed, run sysprep from the command line.

  • C: Windows\System32\Sysprep> sysprep.
  • Click on sysprep.exe.
  • On System Cleanup Action, select "Enter System Out-of-box Experience (OOBE)."
  • Check the box for "Generalize."
  • Under Shutdown Options, select "Reboot"
  • Click "OK."


If sysprep is not successful, review the setuperr.log file again and repeat these same procedures multiple times for all the different .appx packages that are in setuperr.log. Once all the .appx UWP packages that Sysprep is complaining about are removed the Vmware Customization Specification should complete.

If it is still failing, it is advised to contact the OS vendor.

Workaround:
Refer http://support.microsoft.com/kb/2769827