Ti ho parlato di rogne di Sysprep e upgrade in-place verso Windows 1709 giusto una manciata di giorni fa, facendo riferimento all’approfondimento che stai per leggere, dedicato a un problema specifico che ho avuto durante la chiusura di un’immagine, la quale mi ha generato un errore (poi compreso da log e risolto) riguardante MiracastView, una di quelle applicazioni installate insieme a Windows 10, non più presente su Windows 1709 (è rimasta al palo della 1703).
Appunti sparsi su Windows 10 1709, Sysprep e Upgrade in-place
MiracastView
Nel caso tu volessi capire cos’è Miracast:
Wi-Fi CERTIFIED Miracast™ enables seamless display of multimedia content between Miracast® devices. Miracast allows users to wirelessly share multimedia, including high-resolution pictures and high-definition (HD) video content between Wi-Fi devices, even if a Wi-Fi network is not available.
Continua su: wi-fi.org/discover-wi-fi/miracast
Appurato che la simpatica applicazione per lo streaming di immagini verso periferiche nella rete faceva parte di una installazione base di Windows 10 1703, questa non gode dello stesso trattamento nella versione 1709 dell’OS Microsoft, e in più impedisce una corretta chiusura dell’immagine (realizzata per upgrade da 1703 a 1709, chiaramente) che vede il suo completamento ultimo con un colpo di Sysprep prima dello spegnimento macchina (pronta poi alla clonazione). Questo è un esempio estrapolato da un mio setupact.log
(che trovi nella cartella C:\Windows\system32\Sysprep\Panther
):
2018-03-05 16:16:57, Info SYSPRP ======================================================== | |
2018-03-05 16:16:57, Info SYSPRP === Beginning of a new sysprep run === | |
2018-03-05 16:16:57, Info SYSPRP ======================================================== | |
2018-03-05 16:16:57, Info [0x0f004d] SYSPRP The time is now 2018-03-05 16:16:57 | |
2018-03-05 16:16:57, Info [0x0f004e] SYSPRP Initialized SysPrep log at C:\WINDOWS\System32\sysprep\Panther | |
2018-03-05 16:16:57, Info [0x0f0054] SYSPRP ValidatePrivileges:User has required privileges to sysprep machine | |
2018-03-05 16:16:57, Info [0x0f007e] SYSPRP FCreateTagFile:Tag file C:\WINDOWS\System32\sysprep\Sysprep_succeeded.tag does not already exist, no need to delete anything | |
2018-03-05 16:16:57, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'OOBE' | |
2018-03-05 16:16:57, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'GENERALIZE' | |
2018-03-05 16:16:57, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'SHUTDOWN' | |
2018-03-05 16:16:57, Info [0x0f005f] SYSPRP ParseCommands:Found supported command line option 'UNATTEND' | |
2018-03-05 16:16:57, Info [0x0f00d7] SYSPRP WinMain:Pre-validing 'cleanup' internal providers. | |
2018-03-05 16:16:57, Info SYSPRP RunExternalDlls:Running platform actions specified in action file for phase 3 | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateSession: Successfully created instance with action file C:\Windows\System32\Sysprep\ActionFiles\Cleanup.xml, and mode <null> | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::Validate: Beginning action execution from C:\Windows\System32\Sysprep\ActionFiles\Cleanup.xml | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateXPathForSelection: Sysprep mode in registry is <null> | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateXPathForSelection: Processor architecture in registry is AMD64 | |
2018-03-05 16:16:57, Info SYSPRP spopk.dll:: Sysprep will run on an upgraded OS. | |
2018-03-05 16:16:57, Info SYSPRP ActionPlatform::LaunchModule: Successfully executed 'Sysprep_Clean_Validate_Opk' from C:\Windows\System32\spopk.dll without error | |
2018-03-05 16:16:57, Info [0x0f00d7] SYSPRP WinMain:Pre-validing 'generalize' internal providers. | |
2018-03-05 16:16:57, Info SYSPRP RunExternalDlls:Running platform actions specified in action file for phase 1 | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateSession: Successfully created instance with action file C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml, and mode <null> | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::Validate: Beginning action execution from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateXPathForSelection: Sysprep mode in registry is <null> | |
2018-03-05 16:16:57, Info SYSPRP SysprepSession::CreateXPathForSelection: Processor architecture in registry is AMD64 | |
2018-03-05 16:16:57, Info SYSPRP Entering SysprepGeneralizeValidate (Appx) - validating whether all apps are also provisioned. | |
2018-03-05 16:16:57, Error SYSPRP Package Windows.MiracastView_6.3.0.0_neutral_neutral_cw5n1h2txyewy was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image. | |
2018-03-05 16:16:57, Error SYSPRP Failed to remove apps for the current user: 0x80073cf2. | |
2018-03-05 16:16:57, Error SYSPRP Exit code of RemoveAllApps thread was 0x3cf2. | |
2018-03-05 16:16:57, Error SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2 | |
2018-03-05 16:16:57, Error SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2 | |
2018-03-05 16:16:57, Error SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2 | |
2018-03-05 16:16:57, Error [0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2 | |
2018-03-05 16:16:57, Error [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2 | |
2018-03-05 16:17:07, Info [0x0f0052] SYSPRP Shutting down SysPrep log | |
2018-03-05 16:17:07, Info [0x0f004d] SYSPRP The time is now 2018-03-05 16:17:07 |
Ci sono diversi metodi per affrontare il problema, li ho provati e ti racconto come puoi aggirare l’ostacolo e chiudere con successo la tua immagine.
Secondo Microsoft
Esiste una procedura descritta da Microsoft in un documento di supporto che puoi trovare anche tu all’indirizzo support.microsoft.com/en-us/help/4057974/miracastview-cause-sysprep-error-windows-10-version-1709, la quale mostra il problema che mi sono ritrovato ad affrontare e propone alcune possibili soluzioni.
Il problema che accomuna queste soluzioni consiste nel fatto che debba esistere sul PC la cartella del vecchio Windows precedentemente abbandonato (causa upgrade), la cartella Windows.old
. Nel caso tu avessi già cancellato quella cartella, le soluzioni di Microsoft vengono a meno, e sarai costretto a passare al piano B.
Piano B: cosa puoi fare senza Windows.old
Ciò che ti serve è il file XML contente i riferimenti del pacchetto MiracastView (Windows.MiracastView_6.3.0.0_neutral_neutral_cw5n1h2txyewy.xml
) e un psexec
per lanciarti un prompt dei comandi a livello System, entrambi gli oggetti sono disponibili sul mio spazio Box: go.gioxx.org/miracast-sysprep.
Scarica il contenuto della cartella sul tuo PC (possibilmente in una cartella facile da raggiungere, io prenderò come esempio C:\temp
), quindi apri un prompt dei comandi come amministratore e spostati in C:\temp
, quindi usa il comando:
psexec \\%COMPUTERNAME% -s -i cmd
Puoi fare copia e incolla direttamente sul tuo prompt, non c’è nulla da modificare. Premendo invio dopo aver inserito il comando sopra riportato dovrai accettare la licenza che ti verrà proposta, quindi ti si dovrebbe aprire un’altra finestra del Prompt dei comandi. Quest’ultima sta girando –salvo errori– con privilegio System. A questo punto dovrai nuovamente spostarti nella C:\temp
e inserire questo ulteriore comando:
copy Windows.MiracastView_6.3.0.0_neutral_neutral_cw5n1h2txyewy.xml C:\ProgramData\Microsoft\Windows\AppRepository\
Questo comando –salvo errori– copierà il file XML di MiracastView all’interno della cartella usata da Windows per conservare tutti i file XML delle applicazioni installate da Store. Sei costretto a farlo con utenza System perché nonostante tu sia amministratore della macchina, la copia di dati all’interno della cartella AppRepository
nella %ProgramData%
ti è inibita.
Prova ora a disinstallare completamente il pacchetto di MiracastView via PowerShell, non dovresti riscontrare più anomalie, riuscendo così a sradicarlo completamente:
Sei ora pronto a chiudere l’immagine con Sysprep, ma fai prima pulizia (cleanmgr
) così da evitare di lasciare sporcizia in giro.
In caso di dubbi inerenti questo specifico articolo, lascia un commento nell’area preposta in coda all’articolo, cercherò di darti una mano a risolvere la tua anomalia legata a MiracastView.
riferimenti:
social.technet.microsoft.com/Forums/windows/en-US/e610f718-b2d4-45a2-b4ff-ded8c755bdbb/unable-to-sysprep-after-fall-creator-update-due-to-miracast?forum=win10itprosetup
social.technet.microsoft.com/Forums/en-US/3267d7a5-14a1-4fe2-925c-1bf6a216d7ab/windows-10-1709-sysprep-fail?forum=win10itprosetup
support.microsoft.com/en-us/help/2769827/sysprep-fails-after-you-remove-or-update-windows-store-apps-that-inclu
deploymentresearch.com/Research/Post/615/Fixing-why-Sysprep-fails-in-Windows-10-due-to-Windows-Store-updates
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)