gea-engineer: pre-stage .NET 3.5 + VC++ redists via FlatUnattend

Add RunSynchronous Orders 39-49: enable NetFx3 from staged sxs + install the VC++ 2005-2022 redistributables at specialize, before the first-logon engineering installer. Each command is if-exist guarded against the extra_engineering\prereqs payload, so gea-standard (which shares this template) skips them. Payloads staged on the share under gea-engineer Deploy\Applications\extra_engineering\prereqs.
This commit is contained in:
cproudlock
2026-07-23 09:21:49 -04:00
parent 0c4c2a245d
commit e7be0f5391

View File

@@ -1,307 +1,363 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" <unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- 1. windowsPE is intentionally empty --> <!-- 1. windowsPE is intentionally empty -->
<settings pass="windowsPE" /> <settings pass="windowsPE" />
<!-- 2. Offline servicing (drivers) --> <!-- 2. Offline servicing (drivers) -->
<settings pass="offlineServicing"> <settings pass="offlineServicing">
<component name="Microsoft-Windows-PnpCustomizationsNonWinPE" <component name="Microsoft-Windows-PnpCustomizationsNonWinPE"
processorArchitecture="amd64" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" publicKeyToken="31bf3856ad364e35"
language="neutral" language="neutral"
versionScope="nonSxS"> versionScope="nonSxS">
<DriverPaths> <DriverPaths>
<PathAndCredentials wcm:action="add" wcm:keyValue="1"> <PathAndCredentials wcm:action="add" wcm:keyValue="1">
<Path>W:\Drivers</Path> <Path>W:\Drivers</Path>
</PathAndCredentials> </PathAndCredentials>
<PathAndCredentials wcm:action="add" wcm:keyValue="2"> <PathAndCredentials wcm:action="add" wcm:keyValue="2">
<Path>W:\Deploy\Applications\extra\printdrivers\BROTHER\UNIV-PS-01181\PS\64</Path> <Path>W:\Deploy\Applications\extra\printdrivers\BROTHER\UNIV-PS-01181\PS\64</Path>
</PathAndCredentials> </PathAndCredentials>
<PathAndCredentials wcm:action="add" wcm:keyValue="3"> <PathAndCredentials wcm:action="add" wcm:keyValue="3">
<Path>W:\Deploy\Applications\extra\printdrivers\HP</Path> <Path>W:\Deploy\Applications\extra\printdrivers\HP</Path>
</PathAndCredentials> </PathAndCredentials>
<PathAndCredentials wcm:action="add" wcm:keyValue="4"> <PathAndCredentials wcm:action="add" wcm:keyValue="4">
<Path>W:\Deploy\Applications\extra\printdrivers\XEROX\UNIV_5.1035.2.0_PS_x64_Driver</Path> <Path>W:\Deploy\Applications\extra\printdrivers\XEROX\UNIV_5.1035.2.0_PS_x64_Driver</Path>
</PathAndCredentials> </PathAndCredentials>
</DriverPaths> </DriverPaths>
</component> </component>
</settings> </settings>
<!-- 3. specialize: computer naming + RunSynchronous all in ONE component --> <!-- 3. specialize: computer naming + RunSynchronous all in ONE component -->
<settings pass="specialize"> <settings pass="specialize">
<!-- 3a. Shell-Setup for naming/owner/org --> <!-- 3a. Shell-Setup for naming/owner/org -->
<component name="Microsoft-Windows-Shell-Setup" <component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" publicKeyToken="31bf3856ad364e35"
language="neutral" language="neutral"
versionScope="nonSxS"> versionScope="nonSxS">
<ComputerName>H%serialnumber%</ComputerName> <ComputerName>H%serialnumber%</ComputerName>
<RegisteredOrganization>GE Aerospace</RegisteredOrganization> <RegisteredOrganization>GE Aerospace</RegisteredOrganization>
<RegisteredOwner>GE</RegisteredOwner> <RegisteredOwner>GE</RegisteredOwner>
<TimeZone>Eastern Standard Time</TimeZone> <TimeZone>Eastern Standard Time</TimeZone>
</component> </component>
<!-- 3b. RunSynchronous for all of your installers, copies, etc. --> <!-- 3b. RunSynchronous for all of your installers, copies, etc. -->
<component name="Microsoft-Windows-Deployment" <component name="Microsoft-Windows-Deployment"
processorArchitecture="amd64" processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35" publicKeyToken="31bf3856ad364e35"
language="neutral" language="neutral"
versionScope="nonSxS"> versionScope="nonSxS">
<RunSynchronous> <RunSynchronous>
<!-- EAP-PEAP MSI --> <!-- EAP-PEAP MSI -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>1</Order> <Order>1</Order>
<Path>msiexec /i "C:\Deploy\Applications\extra\wireless\EAP-PEAP.msi" /quiet /norestart</Path> <Path>msiexec /i "C:\Deploy\Applications\extra\wireless\EAP-PEAP.msi" /quiet /norestart</Path>
<Description>Install EAP-PEAP</Description> <Description>Install EAP-PEAP</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Wi-Fi profiles --> <!-- Wi-Fi profiles -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>2</Order> <Order>2</Order>
<Path>cmd /c netsh wlan add profile filename="C:\Deploy\Applications\extra\wireless\BLUESSO.xml" user=all</Path> <Path>cmd /c netsh wlan add profile filename="C:\Deploy\Applications\extra\wireless\BLUESSO.xml" user=all</Path>
<Description>Add BLUESSO WiFi profile</Description> <Description>Add BLUESSO WiFi profile</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>3</Order> <Order>3</Order>
<Path>cmd /c netsh wlan add profile filename="C:\Deploy\Applications\extra\wireless\WiFi-Profile.xml" user=all</Path> <Path>cmd /c netsh wlan add profile filename="C:\Deploy\Applications\extra\wireless\WiFi-Profile.xml" user=all</Path>
<Description>Add generic WiFi profile</Description> <Description>Add generic WiFi profile</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Certificates --> <!-- Certificates -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>4</Order> <Order>4</Order>
<Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_External_Root_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_External_Root_CA_2_1.cer"</Path>
<Description>Install External Root Certificate</Description> <Description>Install External Root Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>5</Order> <Order>5</Order>
<Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_External_Intermediate_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_External_Intermediate_CA_2_1.cer"</Path>
<Description>Install External Intermediate Certificate</Description> <Description>Install External Intermediate Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>6</Order> <Order>6</Order>
<Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_Enterprise_Root_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_Enterprise_Root_CA_2_1.cer"</Path>
<Description>Install Enterprise Root Certificate</Description> <Description>Install Enterprise Root Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>7</Order> <Order>7</Order>
<Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Device_Issuing_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Device_Issuing_CA_2_1.cer"</Path>
<Description>Install Enterprise Device Issuing Certificate</Description> <Description>Install Enterprise Device Issuing Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>8</Order> <Order>8</Order>
<Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Server_Issuing_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Server_Issuing_CA_2_1.cer"</Path>
<Description>Install Enterprise Server Issuing Certificate</Description> <Description>Install Enterprise Server Issuing Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>9</Order> <Order>9</Order>
<Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Smart_Card_Issuing_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_Smart_Card_Issuing_CA_2_1.cer"</Path>
<Description>Install SmartCard Issuing Certificate</Description> <Description>Install SmartCard Issuing Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>10</Order> <Order>10</Order>
<Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_User_Issuing_CA_2_1.cer"</Path> <Path>cmd /c certutil -addstore CA "C:\Deploy\Applications\GE_Enterprise_User_Issuing_CA_2_1.cer"</Path>
<Description>Install User Issuing Certificate</Description> <Description>Install User Issuing Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>11</Order> <Order>11</Order>
<Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_Aerospace_Enterprise_Root_CA_1.cer"</Path> <Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\GE_Aerospace_Enterprise_Root_CA_1.cer"</Path>
<Description>Install Aerospace Enterprise Root CA</Description> <Description>Install Aerospace Enterprise Root CA</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>12</Order> <Order>12</Order>
<Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\ZscalerCommercialCertificate-2048-SHA256.crt"</Path> <Path>cmd /c certutil -addstore Root "C:\Deploy\Applications\ZscalerCommercialCertificate-2048-SHA256.crt"</Path>
<Description>Install Zscaler Certificate</Description> <Description>Install Zscaler Certificate</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Fonts --> <!-- Fonts -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>13</Order> <Order>13</Order>
<Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\3OF9.TTF" "%WINDIR%\Fonts\" /Y</Path> <Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\3OF9.TTF" "%WINDIR%\Fonts\" /Y</Path>
<Description>Copy 3OF9 Font</Description> <Description>Copy 3OF9 Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>14</Order> <Order>14</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "3 of 9 Barcode" /t REG_SZ /d "3OF9.TTF" /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "3 of 9 Barcode" /t REG_SZ /d "3OF9.TTF" /f</Path>
<Description>Register 3OF9 Barcode Font</Description> <Description>Register 3OF9 Barcode Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>15</Order> <Order>15</Order>
<Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\Code39AzaleaNarrow3.ttf" "%WINDIR%\Fonts\" /Y</Path> <Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\Code39AzaleaNarrow3.ttf" "%WINDIR%\Fonts\" /Y</Path>
<Description>Copy Code39 Azalea Narrow Font</Description> <Description>Copy Code39 Azalea Narrow Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>16</Order> <Order>16</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Code39AzaleaNarrow3" /t REG_SZ /d "Code39AzaleaNarrow3.ttf" /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Code39AzaleaNarrow3" /t REG_SZ /d "Code39AzaleaNarrow3.ttf" /f</Path>
<Description>Register Code39 Azalea Narrow Font</Description> <Description>Register Code39 Azalea Narrow Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>17</Order> <Order>17</Order>
<Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\Code39Azalea.ttf" "%WINDIR%\Fonts\" /Y</Path> <Path>cmd /c copy "C:\Deploy\Applications\extra\fonts\Code39Azalea.ttf" "%WINDIR%\Fonts\" /Y</Path>
<Description>Copy Code39 Azalea Font</Description> <Description>Copy Code39 Azalea Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>18</Order> <Order>18</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Code39Azalea" /t REG_SZ /d "Code39Azalea.ttf" /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Code39Azalea" /t REG_SZ /d "Code39Azalea.ttf" /f</Path>
<Description>Register Code39 Azalea Font</Description> <Description>Register Code39 Azalea Font</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- OpenText installers --> <!-- OpenText installers -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>19</Order> <Order>19</Order>
<Path>C:\Deploy\Applications\extra\opentext\opentext_hostexplorer_sp1_15.0_v01.exe /quiet /norestart</Path> <Path>C:\Deploy\Applications\extra\opentext\opentext_hostexplorer_sp1_15.0_v01.exe /quiet /norestart</Path>
<Description>Install OpenText HostExplorer SP1</Description> <Description>Install OpenText HostExplorer SP1</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>20</Order> <Order>20</Order>
<Path>C:\Deploy\Applications\extra\opentext\J2SE_Runtime_Environment_1.6.0_22_Static_Config_V2_Co-Exist.EXE /silent /norestart</Path> <Path>C:\Deploy\Applications\extra\opentext\J2SE_Runtime_Environment_1.6.0_22_Static_Config_V2_Co-Exist.EXE /silent /norestart</Path>
<Description>Install J2SE Runtime Environment 1.6.0_22</Description> <Description>Install J2SE Runtime Environment 1.6.0_22</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>21</Order> <Order>21</Order>
<Path>C:\Deploy\Applications\extra\opentext\unattended.bat</Path> <Path>C:\Deploy\Applications\extra\opentext\unattended.bat</Path>
<Description>Install J2SE Runtime Environment 1.6.0_22</Description> <Description>Install J2SE Runtime Environment 1.6.0_22</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Adobe --> <!-- Adobe -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>22</Order> <Order>22</Order>
<Path>msiexec /i "C:\Deploy\Applications\extra\adobe\AcroRead.msi" TRANSFORMS="C:\Deploy\Applications\extra\adobe\AcroRead.mst" /quiet /norestart</Path> <Path>msiexec /i "C:\Deploy\Applications\extra\adobe\AcroRead.msi" TRANSFORMS="C:\Deploy\Applications\extra\adobe\AcroRead.mst" /quiet /norestart</Path>
<Description>Install Adobe</Description> <Description>Install Adobe</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>23</Order> <Order>23</Order>
<Path>msiexec /p "C:\Deploy\Applications\extra\adobe\AcroRdrDCUpd2500120531.msp" /quiet /norestart</Path> <Path>msiexec /p "C:\Deploy\Applications\extra\adobe\AcroRdrDCUpd2500120531.msp" /quiet /norestart</Path>
<Description>Apply Adobe Reader Update</Description> <Description>Apply Adobe Reader Update</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Java JRE 8 Enterprise Installation --> <!-- Java JRE 8 Enterprise Installation -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>26</Order> <Order>26</Order>
<Path>C:\Deploy\Applications\extra\java\jre-8u441-windows-i586.exe /s INSTALLDIR="C:\Program Files (x86)\Java\jre1.8.0_441" STATIC=1 AUTO_UPDATE=0 REBOOT=0 SPONSORS=0 WEB_JAVA=0 /L "C:\Windows\Logs\java-install.log"</Path> <Path>C:\Deploy\Applications\extra\java\jre-8u441-windows-i586.exe /s INSTALLDIR="C:\Program Files (x86)\Java\jre1.8.0_441" STATIC=1 AUTO_UPDATE=0 REBOOT=0 SPONSORS=0 WEB_JAVA=0 /L "C:\Windows\Logs\java-install.log"</Path>
<Description>Install Java JRE 8 Update 441 with Enterprise Settings and Logging</Description> <Description>Install Java JRE 8 Update 441 with Enterprise Settings and Logging</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Java Auto Updates via Registry (64-bit) --> <!-- Disable Java Auto Updates via Registry (64-bit) -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>27</Order> <Order>27</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t REG_DWORD /d 0 /f</Path>
<Description>Disable Java Auto Updates (64-bit)</Description> <Description>Disable Java Auto Updates (64-bit)</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Java Auto Updates via Registry (32-bit) --> <!-- Disable Java Auto Updates via Registry (32-bit) -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>28</Order> <Order>28</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t REG_DWORD /d 0 /f</Path>
<Description>Disable Java Auto Updates (32-bit)</Description> <Description>Disable Java Auto Updates (32-bit)</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Java Auto Update Check (64-bit) --> <!-- Disable Java Auto Update Check (64-bit) -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>29</Order> <Order>29</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableAutoUpdateCheck /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableAutoUpdateCheck /t REG_DWORD /d 0 /f</Path>
<Description>Disable Java Auto Update Check (64-bit)</Description> <Description>Disable Java Auto Update Check (64-bit)</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Java Auto Update Check (32-bit) --> <!-- Disable Java Auto Update Check (32-bit) -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>30</Order> <Order>30</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy" /v EnableAutoUpdateCheck /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy" /v EnableAutoUpdateCheck /t REG_DWORD /d 0 /f</Path>
<Description>Disable Java Auto Update Check (32-bit)</Description> <Description>Disable Java Auto Update Check (32-bit)</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Cortana --> <!-- Disable Cortana -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>31</Order> <Order>31</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v AllowCortana /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v AllowCortana /t REG_DWORD /d 0 /f</Path>
<Description>Disable Cortana</Description> <Description>Disable Cortana</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Web Search in Start Menu --> <!-- Disable Web Search in Start Menu -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>33</Order> <Order>33</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v DisableWebSearch /t REG_DWORD /d 1 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v DisableWebSearch /t REG_DWORD /d 1 /f</Path>
<Description>Disable Web Search in Start Menu</Description> <Description>Disable Web Search in Start Menu</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Bing / web search suggestions in Start menu. <!-- Disable Bing / web search suggestions in Start menu.
BingSearchEnabled is documented at HKCU\Software\Microsoft\Windows\CurrentVersion\Search BingSearchEnabled is documented at HKCU\Software\Microsoft\Windows\CurrentVersion\Search
(not HKLM), so the old HKLM policy placement was a no-op. The current documented (not HKLM), so the old HKLM policy placement was a no-op. The current documented
suppression is DisableSearchBoxSuggestions=1 at Software\Policies\Microsoft\Windows\Explorer. suppression is DisableSearchBoxSuggestions=1 at Software\Policies\Microsoft\Windows\Explorer.
Writing it into the Default User hive so every newly-created account inherits it. --> Writing it into the Default User hive so every newly-created account inherits it. -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>34</Order> <Order>34</Order>
<Path>cmd /c reg load HKU\TempDU C:\Users\Default\NTUSER.DAT &amp; reg add "HKU\TempDU\Software\Policies\Microsoft\Windows\Explorer" /v DisableSearchBoxSuggestions /t REG_DWORD /d 1 /f &amp; reg unload HKU\TempDU</Path> <Path>cmd /c reg load HKU\TempDU C:\Users\Default\NTUSER.DAT &amp; reg add "HKU\TempDU\Software\Policies\Microsoft\Windows\Explorer" /v DisableSearchBoxSuggestions /t REG_DWORD /d 1 /f &amp; reg unload HKU\TempDU</Path>
<Description>Disable Bing/web search suggestions (Default User hive)</Description> <Description>Disable Bing/web search suggestions (Default User hive)</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Search Web when searching Windows --> <!-- Disable Search Web when searching Windows -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>35</Order> <Order>35</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v ConnectedSearchUseWeb /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v ConnectedSearchUseWeb /t REG_DWORD /d 0 /f</Path>
<Description>Disable Connected Search Use Web</Description> <Description>Disable Connected Search Use Web</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Cortana Speech Recognition --> <!-- Disable Cortana Speech Recognition -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>36</Order> <Order>36</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\InputPersonalization" /v AllowInputPersonalization /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\InputPersonalization" /v AllowInputPersonalization /t REG_DWORD /d 0 /f</Path>
<Description>Disable Cortana Speech Recognition</Description> <Description>Disable Cortana Speech Recognition</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
<!-- Disable Search Highlights (news/trending) --> <!-- Disable Search Highlights (news/trending) -->
<RunSynchronousCommand wcm:action="add"> <RunSynchronousCommand wcm:action="add">
<Order>38</Order> <Order>38</Order>
<Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v EnableDynamicContentInWSB /t REG_DWORD /d 0 /f</Path> <Path>cmd /c reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v EnableDynamicContentInWSB /t REG_DWORD /d 0 /f</Path>
<Description>Disable Search Highlights</Description> <Description>Disable Search Highlights</Description>
</RunSynchronousCommand> </RunSynchronousCommand>
</RunSynchronous> <!-- Engineering prereqs: .NET 3.5 + VC++ redistributables (staged in extra_engineering\prereqs; if-exist guarded so non-engineering images skip) -->
</component> <RunSynchronousCommand wcm:action="add">
</settings> <Order>39</Order>
<Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\sxs\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab" dism /online /enable-feature /featurename:NetFx3 /all /source:"C:\Deploy\Applications\extra_engineering\prereqs\sxs" /limitaccess</Path>
<!-- 4. oobeSystem: hide OEM/EULA screens --> <Description>Enable .NET Framework 3.5 from staged sxs</Description>
<settings pass="oobeSystem"> </RunSynchronousCommand>
<component name="Microsoft-Windows-Shell-Setup" <RunSynchronousCommand wcm:action="add">
processorArchitecture="amd64" <Order>40</Order>
publicKeyToken="31bf3856ad364e35" <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v10.0.40219.325_x64\InstallMSVC2010Redist10.0.40219.325_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v10.0.40219.325_x64\InstallMSVC2010Redist10.0.40219.325_x64.exe"</Path>
language="neutral" <Description>VC++ 2010 x64</Description>
versionScope="nonSxS"> </RunSynchronousCommand>
<OOBE> <RunSynchronousCommand wcm:action="add">
<HideEULAPage>true</HideEULAPage> <Order>41</Order>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v10.0.40219.325\InstallMSVC2010Redist10.0.40219.325.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v10.0.40219.325\InstallMSVC2010Redist10.0.40219.325.exe"</Path>
<HideOnlineAccountScreens>false</HideOnlineAccountScreens> <Description>VC++ 2010 x86</Description>
<HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE> </RunSynchronousCommand>
<HideLocalAccountScreen>true</HideLocalAccountScreen> <RunSynchronousCommand wcm:action="add">
<NetworkLocation>Work</NetworkLocation> <Order>42</Order>
<ProtectYourPC>3</ProtectYourPC> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v11.0.60610.1_x64\InstallMSVC2012Redist11.0.60610.1_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v11.0.60610.1_x64\InstallMSVC2012Redist11.0.60610.1_x64.exe"</Path>
<SkipUserOOBE>false</SkipUserOOBE> <Description>VC++ 2012 x64</Description>
<SkipMachineOOBE>false</SkipMachineOOBE> </RunSynchronousCommand>
</OOBE> <RunSynchronousCommand wcm:action="add">
<FirstLogonCommands> <Order>43</Order>
<SynchronousCommand wcm:action="add"> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v11.0.60610.1\InstallMSVC2012Redist11.0.60610.1.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v11.0.60610.1\InstallMSVC2012Redist11.0.60610.1.exe"</Path>
<Order>1</Order> <Description>VC++ 2012 x86</Description>
<CommandLine>shutdown -a</CommandLine> </RunSynchronousCommand>
<Description>Cancel any scheduled shutdown from Office installation</Description> <RunSynchronousCommand wcm:action="add">
</SynchronousCommand> <Order>44</Order>
<Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v9.0.30729.5026_x64\InstallMSVC2008Redist.5026_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v9.0.30729.5026_x64\InstallMSVC2008Redist.5026_x64.exe"</Path>
<!-- Install Zscaler --> <Description>VC++ 2008 x64</Description>
<SynchronousCommand wcm:action="add"> </RunSynchronousCommand>
<Order>2</Order> <RunSynchronousCommand wcm:action="add">
<CommandLine>C:\Deploy\Applications\extra\zscaler\zscaler.bat</CommandLine> <Order>45</Order>
<Description>Install Zscaler Client Connector</Description> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v9.0.30729.5026\InstallMSVC2008Redist.5026.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v9.0.30729.5026\InstallMSVC2008Redist.5026.exe"</Path>
</SynchronousCommand> <Description>VC++ 2008 x86</Description>
</RunSynchronousCommand>
<!-- Install Microsoft Office --> <RunSynchronousCommand wcm:action="add">
<SynchronousCommand wcm:action="add"> <Order>46</Order>
<Order>3</Order> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v8.0.50727.6195_x64\InstallMSVC2005Redist.6195_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v8.0.50727.6195_x64\InstallMSVC2005Redist.6195_x64.exe"</Path>
<CommandLine>cmd /c "cd /d C:\Deploy\Applications\extra\office\ &amp;&amp; install.bat"</CommandLine> <Description>VC++ 2005 x64</Description>
<Description>Install Microsoft Office</Description> </RunSynchronousCommand>
</SynchronousCommand> <RunSynchronousCommand wcm:action="add">
</FirstLogonCommands> <Order>47</Order>
</component> <Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v8.0.50727.6195\InstallMSVC2005Redist.6195.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v8.0.50727.6195\InstallMSVC2005Redist.6195.exe"</Path>
</settings> <Description>VC++ 2005 x86</Description>
</RunSynchronousCommand>
</unattend> <RunSynchronousCommand wcm:action="add">
<Order>48</Order>
<Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v12.0.30501.0_x64\InstallMSVC2013Redist12.0.30501.0_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v12.0.30501.0_x64\InstallMSVC2013Redist12.0.30501.0_x64.exe"</Path>
<Description>VC++ 2013 x64</Description>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>49</Order>
<Path>cmd /c if exist "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v14.40.33816_x64\InstallMSVC20152022Redist14.40.33816_x64.exe" "C:\Deploy\Applications\extra_engineering\prereqs\redistrib\v14.40.33816_x64\InstallMSVC20152022Redist14.40.33816_x64.exe"</Path>
<Description>VC++ 2015-2022 x64</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
<!-- 4. oobeSystem: hide OEM/EULA screens -->
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
language="neutral"
versionScope="nonSxS">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>false</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>3</ProtectYourPC>
<SkipUserOOBE>false</SkipUserOOBE>
<SkipMachineOOBE>false</SkipMachineOOBE>
</OOBE>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>shutdown -a</CommandLine>
<Description>Cancel any scheduled shutdown from Office installation</Description>
</SynchronousCommand>
<!-- Install Zscaler -->
<SynchronousCommand wcm:action="add">
<Order>2</Order>
<CommandLine>C:\Deploy\Applications\extra\zscaler\zscaler.bat</CommandLine>
<Description>Install Zscaler Client Connector</Description>
</SynchronousCommand>
<!-- Install Microsoft Office -->
<SynchronousCommand wcm:action="add">
<Order>3</Order>
<CommandLine>cmd /c "cd /d C:\Deploy\Applications\extra\office\ &amp;&amp; install.bat"</CommandLine>
<Description>Install Microsoft Office</Description>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
</unattend>