Skip to content

Commit 59d7fe8

Browse files
DISMTools 0.5.1 Preview 4 (#152)
* Update assembly information * [Component] Update DPS to 3.1.1 * DISMTools Nightly Installer * [Unattended answer file] Massive overhaul (Preview 4) (#150) * DISMTools Nightly Installer * [Unattended answer file] Change WPA3-PSK to WPA3-SAE I didn't do enough research. Anyway, now it's fixed * DISMTools Nightly Installer * [Unattended answer file] Add explanation for "Skip connection" * [Unattended answer file] Add UnattendGen and finish basics * DISMTools Nightly Installer * [Unattended answer file] Polish creation wizard (part 1) * [Unattended answer file] Polish creation wizard (part 2) * [Unattended answer file] Polish creation wizard (part 3) * DISMTools Nightly Installer * [Unattended answer file] Remove Serbia in accordance to UnattendGen * [Unattended answer file] Download Self-Contained UnattendGen if necessary (pt. 1) * DISMTools Nightly Installer * [Unattended answer file] Remove UnattendGen installer when done * [Unattended answer file] Remove folders from older implementation * [Unattended answer file] Perform some final adjustments to creation * [Unattended answer file] Add basic manager * [Unattended answer file] Finalize unattended features (Preview 4) * DISMTools Nightly Installer --------- Co-authored-by: CodingWonders <[email protected]> * DISMTools Nightly Installer * [Unattended answer file] Dispose of panel when not needed * DISMTools Nightly Installer * [Unattended answer file] Add option to PE Helper * DISMTools Nightly Installer * [Task] Fixed issue in online installation mgmt. mode * DISMTools Nightly Installer * [Video] Move to background thread Fixes #151 * DISMTools Nightly Installer * [ISO Creator] Modify anchor * DISMTools Nightly Installer * [PE Helper] Remove Mandatory property for unattend * DISMTools Nightly Installer * [Info Dialog] Fix search for capabilities * DISMTools Nightly Installer * [REL] Update What's New section and new Update Info files * DISMTools Nightly Installer --------- Co-authored-by: CodingWonders <[email protected]>
1 parent d650384 commit 59d7fe8

File tree

288 files changed

+3686
-2192
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

288 files changed

+3686
-2192
lines changed

DISMTools.vbproj

Lines changed: 96 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,10 @@
110110
<Private>True</Private>
111111
</Reference>
112112
<Reference Include="WeifenLuo.WinFormsUI.Docking, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481, processorArchitecture=MSIL">
113-
<HintPath>packages\DockPanelSuite.3.1.0\lib\net40\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
113+
<HintPath>packages\DockPanelSuite.3.1.1\lib\net40\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
114114
</Reference>
115115
<Reference Include="WeifenLuo.WinFormsUI.Docking.ThemeVS2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481, processorArchitecture=MSIL">
116-
<HintPath>packages\DockPanelSuite.ThemeVS2012.3.1.0\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2012.dll</HintPath>
116+
<HintPath>packages\DockPanelSuite.ThemeVS2012.3.1.1\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2012.dll</HintPath>
117117
</Reference>
118118
</ItemGroup>
119119
<ItemGroup>
@@ -570,6 +570,12 @@
570570
<Compile Include="Panels\Img_Ops\Switch\SingleImageIndexError.vb">
571571
<SubType>Form</SubType>
572572
</Compile>
573+
<Compile Include="Panels\Img_Ops\Unattend\ApplyUnattendFile.Designer.vb">
574+
<DependentUpon>ApplyUnattendFile.vb</DependentUpon>
575+
</Compile>
576+
<Compile Include="Panels\Img_Ops\Unattend\ApplyUnattendFile.vb">
577+
<SubType>Form</SubType>
578+
</Compile>
573579
<Compile Include="Panels\Img_Ops\WinPE\SetScratchSpace.Designer.vb">
574580
<DependentUpon>SetScratchSpace.vb</DependentUpon>
575581
</Compile>
@@ -964,6 +970,9 @@
964970
<EmbeddedResource Include="Panels\Img_Ops\Switch\SingleImageIndexError.resx">
965971
<DependentUpon>SingleImageIndexError.vb</DependentUpon>
966972
</EmbeddedResource>
973+
<EmbeddedResource Include="Panels\Img_Ops\Unattend\ApplyUnattendFile.resx">
974+
<DependentUpon>ApplyUnattendFile.vb</DependentUpon>
975+
</EmbeddedResource>
967976
<EmbeddedResource Include="Panels\Img_Ops\WinPE\SetScratchSpace.resx">
968977
<DependentUpon>SetScratchSpace.vb</DependentUpon>
969978
</EmbeddedResource>
@@ -1138,6 +1147,18 @@
11381147
</None>
11391148
<None Include="Tools\DT_IEConfig.reg" />
11401149
<None Include="Tools\DT_WinADK.reg" />
1150+
<None Include="Tools\UnattendGen\win-arm64\publish\UnattendGen.deps.json" />
1151+
<None Include="Tools\UnattendGen\win-arm64\publish\UnattendGen.runtimeconfig.json" />
1152+
<None Include="Tools\UnattendGen\win-arm64\UnattendGen.deps.json" />
1153+
<None Include="Tools\UnattendGen\win-arm64\UnattendGen.runtimeconfig.json" />
1154+
<None Include="Tools\UnattendGen\win-x64\publish\UnattendGen.deps.json" />
1155+
<None Include="Tools\UnattendGen\win-x64\publish\UnattendGen.runtimeconfig.json" />
1156+
<None Include="Tools\UnattendGen\win-x64\UnattendGen.deps.json" />
1157+
<None Include="Tools\UnattendGen\win-x64\UnattendGen.runtimeconfig.json" />
1158+
<None Include="Tools\UnattendGen\win-x86\publish\UnattendGen.deps.json" />
1159+
<None Include="Tools\UnattendGen\win-x86\publish\UnattendGen.runtimeconfig.json" />
1160+
<None Include="Tools\UnattendGen\win-x86\UnattendGen.deps.json" />
1161+
<None Include="Tools\UnattendGen\win-x86\UnattendGen.runtimeconfig.json" />
11411162
</ItemGroup>
11421163
<ItemGroup>
11431164
<None Include="Panels\readme.md" />
@@ -1317,6 +1338,73 @@
13171338
<Content Include="Installer\ISPPBuiltins.iss" />
13181339
<Content Include="Installer\license.txt" />
13191340
<Content Include="logo.ico" />
1341+
<Content Include="ThemeVS2012\Resources\Dockindicator_PaneDiamond_Hotspot.png" />
1342+
<Content Include="ThemeVS2012\Resources\DockIndicator_PaneDiamond_HotspotIndex.png" />
1343+
<Content Include="ThemeVS2012\Resources\MaskArrowBottom.png" />
1344+
<Content Include="ThemeVS2012\Resources\MaskArrowLeft.png" />
1345+
<Content Include="ThemeVS2012\Resources\MaskArrowRight.png" />
1346+
<Content Include="ThemeVS2012\Resources\MaskArrowTop.png" />
1347+
<Content Include="ThemeVS2012\Resources\MaskCoreBottom.png" />
1348+
<Content Include="ThemeVS2012\Resources\MaskCoreCenter.png" />
1349+
<Content Include="ThemeVS2012\Resources\MaskCoreLeft.png" />
1350+
<Content Include="ThemeVS2012\Resources\MaskCoreRight.png" />
1351+
<Content Include="ThemeVS2012\Resources\MaskCoreTop.png" />
1352+
<Content Include="ThemeVS2012\Resources\MaskDock.png" />
1353+
<Content Include="ThemeVS2012\Resources\MaskDockFive.png" />
1354+
<Content Include="ThemeVS2012\Resources\MaskTabClose.png" />
1355+
<Content Include="ThemeVS2012\Resources\MaskTabList.png" />
1356+
<Content Include="ThemeVS2012\Resources\MaskTabOverflow.png" />
1357+
<Content Include="ThemeVS2012\Resources\MaskToolWindowAutoHide.png" />
1358+
<Content Include="ThemeVS2012\Resources\MaskToolWindowClose.png" />
1359+
<Content Include="ThemeVS2012\Resources\MaskToolWindowDock.png" />
1360+
<Content Include="ThemeVS2012\Resources\MaskToolWindowOption.png" />
1361+
<Content Include="ThemeVS2012\Resources\MaskWindowBottom.png" />
1362+
<Content Include="ThemeVS2012\Resources\MaskWindowCenter.png" />
1363+
<Content Include="ThemeVS2012\Resources\MaskWindowLeft.png" />
1364+
<Content Include="ThemeVS2012\Resources\MaskWindowRight.png" />
1365+
<Content Include="ThemeVS2012\Resources\MaskWindowTop.png" />
1366+
<Content Include="Tools\UnattendGen\win-arm64\Library-License.txt" />
1367+
<Content Include="Tools\UnattendGen\win-arm64\LICENSE.txt" />
1368+
<Content Include="Tools\UnattendGen\win-arm64\Newtonsoft.Json.dll" />
1369+
<Content Include="Tools\UnattendGen\win-arm64\publish\Newtonsoft.Json.dll" />
1370+
<Content Include="Tools\UnattendGen\win-arm64\publish\UnattendGen.dll" />
1371+
<Content Include="Tools\UnattendGen\win-arm64\publish\UnattendGen.exe" />
1372+
<Content Include="Tools\UnattendGen\win-arm64\publish\UnattendGen.pdb" />
1373+
<Content Include="Tools\UnattendGen\win-arm64\publish\UnattendGenerator.dll" />
1374+
<Content Include="Tools\UnattendGen\win-arm64\publish\UnattendGenerator.pdb" />
1375+
<Content Include="Tools\UnattendGen\win-arm64\UnattendGen.dll" />
1376+
<Content Include="Tools\UnattendGen\win-arm64\UnattendGen.exe" />
1377+
<Content Include="Tools\UnattendGen\win-arm64\UnattendGen.pdb" />
1378+
<Content Include="Tools\UnattendGen\win-arm64\UnattendGenerator.dll" />
1379+
<Content Include="Tools\UnattendGen\win-arm64\UnattendGenerator.pdb" />
1380+
<Content Include="Tools\UnattendGen\win-x64\Library-License.txt" />
1381+
<Content Include="Tools\UnattendGen\win-x64\LICENSE.txt" />
1382+
<Content Include="Tools\UnattendGen\win-x64\Newtonsoft.Json.dll" />
1383+
<Content Include="Tools\UnattendGen\win-x64\publish\Newtonsoft.Json.dll" />
1384+
<Content Include="Tools\UnattendGen\win-x64\publish\UnattendGen.dll" />
1385+
<Content Include="Tools\UnattendGen\win-x64\publish\UnattendGen.exe" />
1386+
<Content Include="Tools\UnattendGen\win-x64\publish\UnattendGen.pdb" />
1387+
<Content Include="Tools\UnattendGen\win-x64\publish\UnattendGenerator.dll" />
1388+
<Content Include="Tools\UnattendGen\win-x64\publish\UnattendGenerator.pdb" />
1389+
<Content Include="Tools\UnattendGen\win-x64\UnattendGen.dll" />
1390+
<Content Include="Tools\UnattendGen\win-x64\UnattendGen.exe" />
1391+
<Content Include="Tools\UnattendGen\win-x64\UnattendGen.pdb" />
1392+
<Content Include="Tools\UnattendGen\win-x64\UnattendGenerator.dll" />
1393+
<Content Include="Tools\UnattendGen\win-x64\UnattendGenerator.pdb" />
1394+
<Content Include="Tools\UnattendGen\win-x86\Library-License.txt" />
1395+
<Content Include="Tools\UnattendGen\win-x86\LICENSE.txt" />
1396+
<Content Include="Tools\UnattendGen\win-x86\Newtonsoft.Json.dll" />
1397+
<Content Include="Tools\UnattendGen\win-x86\publish\Newtonsoft.Json.dll" />
1398+
<Content Include="Tools\UnattendGen\win-x86\publish\UnattendGen.dll" />
1399+
<Content Include="Tools\UnattendGen\win-x86\publish\UnattendGen.exe" />
1400+
<Content Include="Tools\UnattendGen\win-x86\publish\UnattendGen.pdb" />
1401+
<Content Include="Tools\UnattendGen\win-x86\publish\UnattendGenerator.dll" />
1402+
<Content Include="Tools\UnattendGen\win-x86\publish\UnattendGenerator.pdb" />
1403+
<Content Include="Tools\UnattendGen\win-x86\UnattendGen.dll" />
1404+
<Content Include="Tools\UnattendGen\win-x86\UnattendGen.exe" />
1405+
<Content Include="Tools\UnattendGen\win-x86\UnattendGen.pdb" />
1406+
<Content Include="Tools\UnattendGen\win-x86\UnattendGenerator.dll" />
1407+
<Content Include="Tools\UnattendGen\win-x86\UnattendGenerator.pdb" />
13201408
<None Include="Resources\actions\validation.png" />
13211409
<None Include="Resources\setting_migration.ico" />
13221410
<None Include="Resources\secprogress_classic.png" />
@@ -1380,31 +1468,6 @@
13801468
<None Include="Resources\progresspanel_logview_shown.png" />
13811469
<None Include="Resources\create_iso.png" />
13821470
<None Include="Resources\set_layeredkeyboarddriver.png" />
1383-
<Content Include="ThemeVS2012\Resources\Dockindicator_PaneDiamond_Hotspot.png" />
1384-
<Content Include="ThemeVS2012\Resources\DockIndicator_PaneDiamond_HotspotIndex.png" />
1385-
<Content Include="ThemeVS2012\Resources\MaskArrowBottom.png" />
1386-
<Content Include="ThemeVS2012\Resources\MaskArrowLeft.png" />
1387-
<Content Include="ThemeVS2012\Resources\MaskArrowRight.png" />
1388-
<Content Include="ThemeVS2012\Resources\MaskArrowTop.png" />
1389-
<Content Include="ThemeVS2012\Resources\MaskCoreBottom.png" />
1390-
<Content Include="ThemeVS2012\Resources\MaskCoreCenter.png" />
1391-
<Content Include="ThemeVS2012\Resources\MaskCoreLeft.png" />
1392-
<Content Include="ThemeVS2012\Resources\MaskCoreRight.png" />
1393-
<Content Include="ThemeVS2012\Resources\MaskCoreTop.png" />
1394-
<Content Include="ThemeVS2012\Resources\MaskDock.png" />
1395-
<Content Include="ThemeVS2012\Resources\MaskDockFive.png" />
1396-
<Content Include="ThemeVS2012\Resources\MaskTabClose.png" />
1397-
<Content Include="ThemeVS2012\Resources\MaskTabList.png" />
1398-
<Content Include="ThemeVS2012\Resources\MaskTabOverflow.png" />
1399-
<Content Include="ThemeVS2012\Resources\MaskToolWindowAutoHide.png" />
1400-
<Content Include="ThemeVS2012\Resources\MaskToolWindowClose.png" />
1401-
<Content Include="ThemeVS2012\Resources\MaskToolWindowDock.png" />
1402-
<Content Include="ThemeVS2012\Resources\MaskToolWindowOption.png" />
1403-
<Content Include="ThemeVS2012\Resources\MaskWindowBottom.png" />
1404-
<Content Include="ThemeVS2012\Resources\MaskWindowCenter.png" />
1405-
<Content Include="ThemeVS2012\Resources\MaskWindowLeft.png" />
1406-
<Content Include="ThemeVS2012\Resources\MaskWindowRight.png" />
1407-
<Content Include="ThemeVS2012\Resources\MaskWindowTop.png" />
14081471
<None Include="Resources\startup\version.png" />
14091472
<None Include="Resources\startup\preview_flag.png" />
14101473
<None Include="Resources\startup\startup_bg.png" />
@@ -1726,6 +1789,12 @@ IF EXIST "$(SolutionDir)Tools\UnpEax\bin\Debug\UnpEax.exe" (
17261789
copy /y "$(SolutionDir)Tools\UnpEax\bin\Debug\UnpEax.exe" "Tools\UnpEax\UnpEax.exe"
17271790
)
17281791

1792+
:: Copy UnattendGen
1793+
IF EXIST "$(SolutionDir)Tools\UnattendGen" (
1794+
md "Tools\UnattendGen"
1795+
xcopy "$(SolutionDir)Tools\UnattendGen\*" "Tools\UnattendGen" /cehyi
1796+
)
1797+
17291798
IF NOT EXIST AutoUnattend (
17301799
md AutoUnattend
17311800
copy /y "$(SolutionDir)Elements\AutoUnattend\*.xml" AutoUnattend

Elements/AutoUnattend/GeoId.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,6 @@
206206
<GeoId Id="261" DisplayName="Yemen"/>
207207
<GeoId Id="263" DisplayName="Zambia"/>
208208
<GeoId Id="264" DisplayName="Zimbabwe"/>
209-
<GeoId Id="269" DisplayName="Serbia"/>
210209
<GeoId Id="270" DisplayName="Montenegro"/>
211210
<GeoId Id="271" DisplayName="Serbia"/>
212211
<GeoId Id="273" DisplayName="Curaçao"/>

Elements/AutoUnattend/NetworkConnections/WirelessSettings.vb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
Public Enum WiFiAuthenticationMode As Integer
1616
Open = 0
1717
WPA2_PSK = 1
18-
WPA3_PSK = 2
18+
WPA3_SAE = 2
1919
End Enum
2020

2121
Public Class WirelessValidator

Elements/AutoUnattend/UnattendedWizardPage.vb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Public Class UnattendedWizardPage
44

55
Public Enum Page As Integer
6-
DisclaimerPage = 0
6+
WelcomePage = 0
77
RegionalPage = 1
88
SysConfigPage = 2
99
TimeZonePage = 3
@@ -24,7 +24,7 @@
2424

2525
Public Property WizardPage As Page
2626

27-
Public Const PageCount As Integer = 15
27+
Public Const PageCount As Integer = 17
2828
End Class
2929

3030
End Namespace

Elements/KeyboardDrivers.vb

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,34 @@ Namespace Elements
8585
End Set
8686
End Property
8787

88-
Public Shared Function GetKeyboardDriver(mountDir As String) As LayeredKeyboardDriver
88+
Public Shared Function GetKeyboardDriver(mountDir As String, Optional onlineMode As Boolean = False) As LayeredKeyboardDriver
89+
If onlineMode Then
90+
Try
91+
' Grab override keyboard type from registry
92+
Dim OverrideKeybReg As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\i8042prt\Parameters", False)
93+
Dim OverrideKeybID As String = OverrideKeybReg.GetValue("OverrideKeyboardIdentifier")
94+
OverrideKeybReg.Close()
95+
' Check keyboard ID
96+
Select Case OverrideKeybID
97+
Case "PCAT_101KEY"
98+
Return LayeredKeyboardDriver.PCATKey
99+
Case "PCAT_101AKEY"
100+
Return LayeredKeyboardDriver.K_PCATKeyT1
101+
Case "PCAT_101BKEY"
102+
Return LayeredKeyboardDriver.K_PCATKeyT2
103+
Case "PCAT_101CKEY"
104+
Return LayeredKeyboardDriver.K_PCATKeyT3
105+
Case "PCAT_103KEY"
106+
Return LayeredKeyboardDriver.K_103106Key
107+
Case "PCAT_106KEY"
108+
Return LayeredKeyboardDriver.J_106109Key
109+
End Select
110+
Catch ex As Exception
111+
MessageBox.Show(ex.Message)
112+
Return LayeredKeyboardDriver.Unknown
113+
End Try
114+
Return LayeredKeyboardDriver.Unknown
115+
End If
89116
If (mountDir <> "") AndAlso (Directory.Exists(mountDir)) Then
90117
Try
91118
' Load the registry key

Helpers/extps1/PE_Helper/PE_Helper.ps1

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ param (
3333
[Parameter(ParameterSetName = 'StartPEGen', Mandatory = $true, Position = 1)] [string] $arch,
3434
[Parameter(ParameterSetName = 'StartPEGen', Mandatory = $true, Position = 2)] [string] $imgFile,
3535
[Parameter(ParameterSetName = 'StartPEGen', Mandatory = $true, Position = 3)] [string] $isoPath,
36+
[Parameter(ParameterSetName = 'StartPEGen', Position = 4)] [string] $unattendFile,
3637
[Parameter(ParameterSetName = 'StartDevelopment', Mandatory = $true, Position = 1)] [string] $testArch,
3738
[Parameter(ParameterSetName = 'StartDevelopment', Mandatory = $true, Position = 2)] [string] $targetPath
3839
)
@@ -174,6 +175,11 @@ function Start-PEGeneration
174175
Copy-Item -Path "$((Get-Location).Path)\files\diskpart\*.dp" -Destination "$((Get-Location).Path)\ISOTEMP\media\files\diskpart" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
175176
New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -ItemType Directory | Out-Null
176177
Copy-Item -Path "$((Get-Location).Path)\tools\DIM\*" -Destination "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
178+
if (($unattendFile -ne "") -and (Test-Path "$unattendFile" -PathType Leaf))
179+
{
180+
Write-Host "Unattended answer file has been detected. Copying to ISO file..."
181+
Copy-Item -Path "$unattendFile" -Destination "$((Get-Location).Path)\ISOTEMP\media\unattend.xml" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
182+
}
177183
Write-Host "Deleting temporary files..."
178184
Remove-Item -Path "$((Get-Location).Path)\ISOTEMP\OCs" -Recurse -Force -ErrorAction SilentlyContinue
179185
if ($?)
@@ -715,6 +721,18 @@ function Start-OSApplication
715721
Write-Host "Failed to apply the Windows image."
716722
}
717723
if ($serviceableArchitecture) { Set-Serviceability -ImagePath "$($driveLetter):\" } else { Write-Host "Serviceability tests will not be run: the image architecture and the PE architecture are different." }
724+
if (Test-Path "$((Get-Location).Path)\unattend.xml" -PathType Leaf)
725+
{
726+
Write-Host "A possible unattended answer file has been detected, applying it... " -NoNewline
727+
if ((Start-DismCommand -Verb UnattendApply -ImagePath "$($driveLetter):\" -unattendPath "$((Get-Location).Path)\unattend.xml") -eq $true)
728+
{
729+
Write-Host "SUCCESS" -ForegroundColor White -BackgroundColor DarkGreen
730+
}
731+
else
732+
{
733+
Write-Host "FAILURE" -ForegroundColor Black -BackgroundColor DarkRed
734+
}
735+
}
718736
$driverPath = "$([IO.Path]::GetPathRoot([Environment]::GetFolderPath([Environment+SpecialFolder]::Windows)))DT_InstDrvs.txt"
719737
if ((Test-Path "$($driveLetter):\`$DISMTOOLS.~LS") -and ($serviceableArchitecture) -and (Test-Path -Path $driverPath -PathType Leaf))
720738
{
@@ -1080,7 +1098,7 @@ function Start-DismCommand
10801098
#>
10811099
[CmdletBinding(DefaultParameterSetName='Default')]
10821100
param (
1083-
[Parameter(Mandatory = $true, Position=0)] [ValidateSet('Mount', 'Commit', 'Unmount', 'Apply', 'Add-Package', 'Remove-Package', 'Enable-Feature', 'Disable-Feature', 'Add-Appx', 'Remove-Appx', 'Add-Capability', 'Remove-Capability', 'Add-Driver')] [string] $Verb,
1101+
[Parameter(Mandatory = $true, Position=0)] [ValidateSet('Mount', 'Commit', 'Unmount', 'Apply', 'Add-Package', 'Remove-Package', 'Enable-Feature', 'Disable-Feature', 'Add-Appx', 'Remove-Appx', 'Add-Capability', 'Remove-Capability', 'Add-Driver', 'UnattendApply')] [string] $Verb,
10841102
[Parameter(Mandatory = $true, Position=1)] [string] $ImagePath,
10851103
# Parameters for mount command
10861104
[Parameter(ParameterSetName='Mount', Mandatory = $true, Position = 2)] [int] $ImageIndex,
@@ -1114,7 +1132,9 @@ function Start-DismCommand
11141132
[Parameter(ParameterSetName='Remove-Capability', Mandatory = $true, Position=2)] [string] $CapabilityRemovalName,
11151133
# Parameters for driver addition
11161134
[Parameter(ParameterSetName='Add-Driver', Mandatory = $true, Position=2)] [string] $DriverAdditionFile,
1117-
[Parameter(ParameterSetName='Add-Driver', Mandatory = $true, Position=3)] [bool] $DriverAdditionRecurse
1135+
[Parameter(ParameterSetName='Add-Driver', Mandatory = $true, Position=3)] [bool] $DriverAdditionRecurse,
1136+
# Parameters for unattended answer file application
1137+
[Parameter(ParameterSetName='UnattendApply', Mandatory = $true, Position=2)] [string] $unattendPath
11181138
)
11191139
try
11201140
{
@@ -1209,6 +1229,9 @@ function Start-DismCommand
12091229
}
12101230
}
12111231
}
1232+
"UnattendApply" {
1233+
Apply-WindowsUnattend -Path "$ImagePath" -UnattendPath "$unattendPath" -NoRestart
1234+
}
12121235
default {
12131236

12141237
}

Installer/Nightly/dt_setup.exe

212 KB
Binary file not shown.

0 commit comments

Comments
 (0)