mirror of
https://github.com/pbatard/rufus.git
synced 2025-05-31 14:58:26 -04:00
[wue] fix MSA bypass not being applied unless SB/TPM or RAM/Disk bypass is also selected
* In a manner that defies logic, Microsoft designed Windows setup to parse Autounattend.xml for windowsPE tasks in the PE environment, but only carry out the copying of that file to %WINDIR%\Panther for subsequent processing with the other passes *IF* there exist an actual windowsPE section. * In short, when using the Autounattend.xml method, Microsoft have made all passes there dependent on the existence of a windowsPE pass, regardless of whether that pass has any use or not. * Working around this would be fine and all (just add an empty windowsPE pass so that the later passes get executed) if the absence of a windowsPE pass didn't also determine whether the user will be presented with the default Windows setup screens that include the "Repair your computer" option or a completely different set of screens (c.f. #1971). * This means that, to keep users happy, we need to add yet another method to carry out tasks that should have remained the realm of boot.wim's Autounattend.xml, and instead create a \sources\$OEM$\$$\Panther\unattend.xml when there are no windowsPE tasks (on account that setup copies anything found under \sources\$OEM$\$$\ to %WINDIR%\). Only through this can we have the specialize and oobeSystem tasks actually carried out (for bypassing MSA requirements of skipping the data collection screens) while keeping the original Windows Setup look and feel. * Closes #1981
This commit is contained in:
parent
2b7b81808f
commit
5117a3b4a8
4 changed files with 70 additions and 30 deletions
13
src/rufus.h
13
src/rufus.h
|
@ -499,12 +499,13 @@ enum ArchType {
|
|||
};
|
||||
|
||||
// Windows User Experience (unattend.xml) options
|
||||
#define UNATTEND_SECUREBOOT_TPM_MASK 0x01
|
||||
#define UNATTEND_MINRAM_MINDISK_MASK 0x02
|
||||
#define UNATTEND_NO_ONLINE_ACCOUNT_MASK 0x04
|
||||
#define UNATTEND_NO_DATA_COLLECTION_MASK 0x08
|
||||
#define UNATTEND_OFFLINE_INTERNAL_DRIVES 0x10
|
||||
#define UNATTEND_DEFAULT_MASK 0x1F
|
||||
#define UNATTEND_SECUREBOOT_TPM_MASK 0x00001
|
||||
#define UNATTEND_MINRAM_MINDISK_MASK 0x00002
|
||||
#define UNATTEND_NO_ONLINE_ACCOUNT_MASK 0x00004
|
||||
#define UNATTEND_NO_DATA_COLLECTION_MASK 0x00008
|
||||
#define UNATTEND_OFFLINE_INTERNAL_DRIVES 0x00010
|
||||
#define UNATTEND_DEFAULT_MASK 0x0001F
|
||||
#define UNATTEND_WINDOWS_TO_GO 0x10000 // Special flag for Windows To Go
|
||||
|
||||
#define UNATTEND_WINPE_SETUP_MASK (UNATTEND_SECUREBOOT_TPM_MASK | UNATTEND_MINRAM_MINDISK_MASK)
|
||||
#define UNATTEND_SPECIALIZE_DEPLOYMENT_MASK (UNATTEND_NO_ONLINE_ACCOUNT_MASK)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue