Página 1 de 1

[RESUELTO] Wads - Instalación fallida de Windows 11

Publicado: 5 de noviembre de 2024 - 9:10 a. m.
por Vercingétorix
Buen día,
wapt 2.5.5.15697 con Wads estamos intentando instalar windows 11 con un iso en 24h2.
Nos encontramos con una instalación incompleta que termina con "Error en la instalación de Windows 11".
Encontrarás adjunto el archivo de registro de errores ("setuperr.log" "setupact.log") en caso de que lo necesites.
Estamos investigando esto principalmente desde el lado de Microsoft, pero en caso de que haya encontrado este tipo de problema, estoy abriendo una publicación sobre el tema.
Estos son los tipos de errores encontrados en los registros:

Código: Seleccionar todo

MOUPG  CSetupManager::InitializeImageDeployAction(8932): Result = 0x80070002[gle=0x00000002]
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::DlpManagerCallback(2626): Result = 0x80070002[gle=0x00000002]
2024-10-31 11:01:28, Error                 MOUPG  SendCallbackMessage: [0x20001] -> user callback returned 0x80070002[gle=0x00000002]
2024-10-31 11:01:28, Error                 MOUPG  CDlpTask::SendCallbackMessage(2696): Result = 0x80070002[gle=0x00000002]
2024-10-31 11:01:28, Error                 MOUPG  CDlpTask::ExecuteActions(3487): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CDlpTask::Execute(1643): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::ExecuteTask(3116): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::ExecuteTask(3078): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::ExecuteInstallMode(1159): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::ExecuteDownlevelMode(609): Result = 0x80070002
2024-10-31 11:01:28, Error                 MOUPG  CSetupManager::GetDUSetupResults(8418): Result = 0x80070490
2024-10-31 11:02:32, Error                 MOUPG  CSetupManager::Execute(345): Result = 0x80070002
2024-10-31 11:02:32, Error                 MOUPG  CSetupHost::Execute(517): Result = 0x80070002
Si tienes alguna idea, estamos todos atentos.
Gracias de antemano.
Buen día.

Re: Wads - Instalación fallida de Windows 11

Publicado: 5 de noviembre de 2024 - 12:52 p. m.
por sfonteneau
Buen día

De hecho, Windows 11 24h2 requiere modificaciones.

El archivo XML ya no debe comenzar con comentarios sino directamente con:

Código: Seleccionar todo

<?xml version="1.0" encoding="utf-8"?>
Entonces esto debe eliminarse:

Código: Seleccionar todo

<FullName>superadmin</FullName>
Y esto también hay que eliminarlo:

Código: Seleccionar todo

<Path>install.wim</Path>
La nueva plantilla es por tanto:

Código: Seleccionar todo

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
	<!--https://schneegans.de/windows/unattend-generator/?LanguageMode=Unattended&UILanguage=en-US&Locale=en-US&Keyboard=00000409&GeoLocation=244&ProcessorArchitecture=amd64&ComputerNameMode=Random&CompactOsMode=Default&TimeZoneMode=Implicit&PartitionMode=Interactive&WindowsEditionMode=Unattended&WindowsEdition=pro&UserAccountMode=Unattended&AccountName0=Admin&AccountPassword0=password&AccountGroup0=Administrators&AccountName1=User&AccountPassword1=password&AccountGroup1=Users&AccountName2=&AccountName3=&AccountName4=&AutoLogonMode=Own&PasswordExpirationMode=Unlimited&LockoutMode=Default&HideFiles=Hidden&TaskbarSearch=Box&WifiMode=Interactive&ExpressSettings=DisableAll&KeysMode=Skip&ColorMode=Default&WallpaperMode=Default&StartTilesMode=Default&StartPinsMode=Default&WdacMode=Skip&Microsoft-Windows-UnattendedJoin=offlineServicing-->
	<settings pass="offlineServicing">
		<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<!--Placeholder-->
		</component>
	</settings>
	<settings pass="windowsPE">
		<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<SetupUILanguage>
				<UILanguage>en-US</UILanguage>
			</SetupUILanguage>
			<InputLocale>0409:00000409</InputLocale>
			<SystemLocale>en-US</SystemLocale>
			<UILanguage>en-US</UILanguage>
			<UserLocale>en-US</UserLocale>
		</component>
		<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<UserData>
				<ProductKey>
					<Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key>
				</ProductKey>
				<AcceptEula>true</AcceptEula>
			</UserData>
		</component>
	</settings>
	<settings pass="generalize"></settings>
	<settings pass="specialize">
		<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<RunSynchronous>
				<RunSynchronousCommand wcm:action="add">
					<Order>1</Order>
					<Path>net.exe accounts /maxpwage:UNLIMITED</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand wcm:action="add">
					<Order>2</Order>
					<Path>powershell.exe -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;"</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand wcm:action="add">
					<Order>3</Order>
					<Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand wcm:action="add">
					<Order>4</Order>
					<Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "UnattendedSetup" /t REG_SZ /d "powershell.exe -NoProfile -Command \"Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UserOnce.ps1' -Raw | Invoke-Expression;\"" /f</Path>
				</RunSynchronousCommand>
				<RunSynchronousCommand wcm:action="add">
					<Order>5</Order>
					<Path>reg.exe unload "HKU\DefaultUser"</Path>
				</RunSynchronousCommand>
			</RunSynchronous>
		</component>
	</settings>
	<settings pass="auditSystem"></settings>
	<settings pass="auditUser"></settings>
	<settings pass="oobeSystem">
		<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<InputLocale>0409:00000409</InputLocale>
			<SystemLocale>en-US</SystemLocale>
			<UILanguage>en-US</UILanguage>
			<UserLocale>en-US</UserLocale>
		</component>
		<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
			<UserAccounts>
				<LocalAccounts>
					<LocalAccount wcm:action="add">
						<Name>Admin</Name>
						<Group>Administrators</Group>
						<Password>
							<Value>password</Value>
							<PlainText>true</PlainText>
						</Password>
					</LocalAccount>
					<LocalAccount wcm:action="add">
						<Name>User</Name>
						<Group>Users</Group>
						<Password>
							<Value>password</Value>
							<PlainText>true</PlainText>
						</Password>
					</LocalAccount>
				</LocalAccounts>
			</UserAccounts>
			<AutoLogon>
				<Username>Admin</Username>
				<Enabled>true</Enabled>
				<LogonCount>1</LogonCount>
				<Password>
					<Value>password</Value>
					<PlainText>true</PlainText>
				</Password>
			</AutoLogon>
			<OOBE>
				<ProtectYourPC>3</ProtectYourPC>
				<HideEULAPage>true</HideEULAPage>
				<HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE>
				<HideOnlineAccountScreens>false</HideOnlineAccountScreens>
			</OOBE>
			<FirstLogonCommands>
				<SynchronousCommand wcm:action="add">
					<Order>1</Order>
					<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine>
				</SynchronousCommand>
			</FirstLogonCommands>
		</component>
	</settings>
	<Extensions xmlns="https://schneegans.de/windows/unattend-generator/">
		<ExtractScript>
param(
    [xml] $Document
);

$scriptsDir = 'C:\Windows\Setup\Scripts\';
foreach( $file in $Document.unattend.Extensions.File ) {
    $path = [System.Environment]::ExpandEnvironmentVariables(
        $file.GetAttribute( 'path' )
    );
    if( $path.StartsWith( $scriptsDir ) ) {
        mkdir -Path $scriptsDir -ErrorAction 'SilentlyContinue';
    }
    $encoding = switch( [System.IO.Path]::GetExtension( $path ) ) {
        { $_ -in '.ps1', '.xml' } { [System.Text.Encoding]::UTF8; }
        { $_ -in '.reg', '.vbs', '.js' } { [System.Text.UnicodeEncoding]::new( $false, $true ); }
        default { [System.Text.Encoding]::Default; }
    };
    [System.IO.File]::WriteAllBytes( $path, ( $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ) ) );
}
		</ExtractScript>
		<File path="C:\Windows\Setup\Scripts\UserOnce.ps1">
&amp; {
Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search' -Name 'SearchboxTaskbarMode' -Type 'DWord' -Value 2;
} *&gt;&amp;1 &gt;&gt; "$env:TEMP\UserOnce.log";
		</File>
	</Extensions>
</unattend>

[RESUELTO] Re: Wads - Instalación fallida de Windows 11

Publicado: 6 de noviembre de 2024 - 10:34 a. m.
por Vercingétorix
Buen día,
De hecho, el nuevo archivo de configuración proporcionado resuelve el problema.
Después de adaptarlo un poco, porque el idioma es estadounidense y no francés por ejemplo.

Código: Seleccionar todo

	
	<SetupUILanguage>
	<UILanguage>en-US</UILanguage>
	</SetupUILanguage>
	<InputLocale>0409:00000409</InputLocale>
	<SystemLocale>en-US</SystemLocale>
	<UILanguage>en-US</UILanguage>
	<UserLocale>en-US</UserLocale>  
El problema está pues resuelto.
Muchas gracias por tu ayuda.
Buen día.