Skip to content

Commit 661a627

Browse files
DISMTools 0.7 Preview 2 (#256)
* Update assembly information * [Language Engine] Foundations * [Theme Engine] Theme Designer Made with love on an old Windows XP laptop with VS2005. Project converted to VS2012 with no problems. - The source-available version uses .NET 4.8 - The files with a "NET20" suffix indicate that they use .NET 2.0. This includes the original source code of the theme designer * [Fix] Fixed setting migration issue for color schemes * [PE Helper] Remove ARMHF support * [PE Helper] PXE/WDS Improvements Iteration number 1 for #230 * [PE Helper] Polish WDS script docs, add to DynaLog copyright list * [PE Helper] WDS Preparation Script Improvements - Fixed issues related to multicast transmissions - Improved multicast experience - Begin using `wdsutil` to create multicast AutoCast transmissions * [PE Helper] New server API for PXE/WDS helper Iteration number 2 for #230 * [Info Dialogs] Disable close button with new Window Helper * [PE Helper] Update HotInstall (05/14/2025) Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@6710527 * [PE Helper] Use variable to get image information instead of repetitive calls * [REL] Update What's New section
1 parent b4cc57d commit 661a627

Some content is hidden

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

59 files changed

+4758
-195
lines changed

DISMTools.sln

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Windows PE Tools", "Windows
2222
EndProject
2323
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core Application", "Core Application", "{89AEA3D0-02A9-44BA-83FB-DE1867902FD1}"
2424
EndProject
25+
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DT_ThemeDesigner", "Tools\DT_ThemeDesigner\DT_ThemeDesigner.vbproj", "{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}"
26+
EndProject
2527
Global
2628
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2729
Debug|Any CPU = Debug|Any CPU
@@ -154,15 +156,34 @@ Global
154156
{9DFE351C-3964-4DC0-BAAF-9307A4B697AF}.Release|Win32.ActiveCfg = Release|Any CPU
155157
{9DFE351C-3964-4DC0-BAAF-9307A4B697AF}.Release|x64.ActiveCfg = Release|Any CPU
156158
{9DFE351C-3964-4DC0-BAAF-9307A4B697AF}.Release|x86.ActiveCfg = Release|Any CPU
159+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|Any CPU.ActiveCfg = Release|Any CPU
160+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|Any CPU.Build.0 = Release|Any CPU
161+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
162+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|ARM64EC.ActiveCfg = Debug|Any CPU
163+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
164+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
165+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|Win32.ActiveCfg = Debug|Any CPU
166+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|x64.ActiveCfg = Debug|Any CPU
167+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Debug|x86.ActiveCfg = Debug|Any CPU
168+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
169+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|Any CPU.Build.0 = Release|Any CPU
170+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|ARM64.ActiveCfg = Release|Any CPU
171+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|ARM64EC.ActiveCfg = Release|Any CPU
172+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
173+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
174+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|Win32.ActiveCfg = Release|Any CPU
175+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|x64.ActiveCfg = Release|Any CPU
176+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F}.Release|x86.ActiveCfg = Release|Any CPU
157177
EndGlobalSection
158178
GlobalSection(SolutionProperties) = preSolution
159179
HideSolutionNode = FALSE
160180
EndGlobalSection
161181
GlobalSection(NestedProjects) = preSolution
182+
{042ED465-C910-407A-93D1-736639FF0EA5} = {89AEA3D0-02A9-44BA-83FB-DE1867902FD1}
162183
{9DFE351C-3964-4DC0-BAAF-9307A4B697AF} = {577F2635-34B0-4E7E-9CEB-4680D2F0E09D}
163184
{5330BC3F-1BFF-4200-8872-3A2236F814AB} = {577F2635-34B0-4E7E-9CEB-4680D2F0E09D}
185+
{6F4EED7E-FA26-423F-8263-78B4DD6B0F8F} = {577F2635-34B0-4E7E-9CEB-4680D2F0E09D}
164186
{ADFA0CB4-E66F-4956-937E-1B2C4AAF3092} = {73D2865D-C927-423D-AF86-DD905DC747D5}
165-
{042ED465-C910-407A-93D1-736639FF0EA5} = {89AEA3D0-02A9-44BA-83FB-DE1867902FD1}
166187
EndGlobalSection
167188
GlobalSection(ExtensibilityGlobals) = postSolution
168189
SolutionGuid = {2E6FA379-B09B-4996-BBD4-4DD8C85FE906}

DISMTools.vbproj

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -845,6 +845,7 @@
845845
<Compile Include="Utilities\DT_Utils.vb" />
846846
<Compile Include="Utilities\DynaLog.vb" />
847847
<Compile Include="Utilities\ImageWatcher.vb" />
848+
<Compile Include="Utilities\LanguageUtilities\LanguageHelper.vb" />
848849
<Compile Include="Utilities\ListViewColumnSorter.vb" />
849850
<Compile Include="Utilities\MarkdownHelper.vb" />
850851
<Compile Include="Utilities\PlaybookDetector.vb" />
@@ -856,6 +857,7 @@
856857
<Compile Include="Utilities\ThemeUtilities\ColorTables\LightModeColorTable.vb" />
857858
<Compile Include="Utilities\ThemeUtilities\Theme.vb" />
858859
<Compile Include="Utilities\ThemeUtilities\ThemeHelper.vb" />
860+
<Compile Include="Utilities\WindowHelper.vb" />
859861
<Compile Include="Videos\Video.vb" />
860862
</ItemGroup>
861863
<ItemGroup>
@@ -1214,6 +1216,15 @@
12141216
<None Include="Helpers\extps1\PE_Helper\PE_Helper.ps1">
12151217
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
12161218
</None>
1219+
<None Include="Helpers\extps1\PE_Helper\pxehelpers\common\PXEHelpers.Common.ps1">
1220+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1221+
</None>
1222+
<None Include="Helpers\extps1\PE_Helper\pxehelpers\wds\prepare_wds.ps1">
1223+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1224+
</None>
1225+
<None Include="Helpers\extps1\PE_Helper\pxehelpers\wds\wdshelper_server.ps1">
1226+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1227+
</None>
12171228
<None Include="Installer\Default.isl" />
12181229
<None Include="Installer\French.isl" />
12191230
<None Include="Installer\German.isl" />
@@ -1415,9 +1426,6 @@
14151426
<Content Include="Helpers\extps1\PE_Helper\backgrounds\winpe_amd64.jpg">
14161427
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
14171428
</Content>
1418-
<Content Include="Helpers\extps1\PE_Helper\backgrounds\winpe_arm.jpg">
1419-
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1420-
</Content>
14211429
<Content Include="Helpers\extps1\PE_Helper\backgrounds\winpe_arm64.jpg">
14221430
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
14231431
</Content>
@@ -1807,6 +1815,7 @@
18071815
<Folder Include="Panels\Set_Ops\" />
18081816
<Folder Include="Tools\UnpEax\" />
18091817
<Folder Include="Updater\" />
1818+
<Folder Include="Utilities\LanguageUtilities\LanguageFiles\" />
18101819
<Folder Include="wimlib\" />
18111820
</ItemGroup>
18121821
<ItemGroup>
@@ -1907,6 +1916,11 @@ IF EXIST "$(SolutionDir)Utilities\ThemeUtilities\ThemeFiles\*.ini" (
19071916
xcopy "$(SolutionDir)Utilities\ThemeUtilities\ThemeFiles\*.ini" "bin\themes" /cehyi
19081917
)
19091918

1919+
:: Copy Theme Designer
1920+
IF EXIST "$(SolutionDir)Tools\DT_ThemeDesigner\out\*.exe" (
1921+
xcopy "$(SolutionDir)Tools\DT_ThemeDesigner\out\*.exe" "Tools\ThemeDesigner" /cehyi
1922+
)
1923+
19101924
IF NOT EXIST AutoUnattend (
19111925
md AutoUnattend
19121926
copy /y "$(SolutionDir)Elements\AutoUnattend\*.xml" AutoUnattend

Helpers/extps1/PE_Helper/PE_Helper.ps1

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ param (
4343
enum PE_Arch {
4444
x86 = 0
4545
amd64 = 1
46-
arm = 2
46+
# 32-bit ARM support has been removed in 0.7. Here lies the placement of such an architecture
4747
arm64 = 3
4848
}
4949

@@ -211,11 +211,11 @@ function Start-PEGeneration
211211
Copy-Item -Path "$((Get-Location).Path)\PE_Helper.ps1" -Destination "$((Get-Location).Path)\ISOTEMP\media" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
212212
New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\files\diskpart" -ItemType Directory | Out-Null
213213
Copy-Item -Path "$((Get-Location).Path)\files\diskpart\*.dp" -Destination "$((Get-Location).Path)\ISOTEMP\media\files\diskpart" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
214+
New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\pxehelpers" -ItemType Directory | Out-Null
215+
Copy-Item -Path "$((Get-Location).Path)\pxehelpers\*" -Destination "$((Get-Location).Path)\ISOTEMP\media\pxehelpers" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
214216
Copy-Item -Path "$((Get-Location).Path)\files\README1ST.TXT" -Destination "$((Get-Location).Path)\ISOTEMP\media\README.TXT" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
215217
New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -ItemType Directory | Out-Null
216218
Copy-Item -Path "$((Get-Location).Path)\tools\DIM\*" -Destination "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
217-
New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\Tools\RestartDialog" -ItemType Directory | Out-Null
218-
Copy-Item -Path "$((Get-Location).Path)\tools\RestartDialog\*" -Destination "$((Get-Location).Path)\ISOTEMP\media\Tools\RestartDialog" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
219219
if (($unattendFile -ne "") -and (Test-Path "$unattendFile" -PathType Leaf))
220220
{
221221
Write-Host "Unattended answer file has been detected. Copying to ISO file..."
@@ -334,7 +334,7 @@ function Copy-PEFiles
334334
.PARAMETER peToolsPath
335335
The path of the Preinstallation Environment (PE) tools. By default, this is "Program Files\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools"
336336
.PARAMETER architecture
337-
The architecture of the target Preinstallation Environment (PE). Valid options: x86, amd64, arm, arm64
337+
The architecture of the target Preinstallation Environment (PE). Valid options: x86, amd64, arm64
338338
.PARAMETER targetDir
339339
The target directory to copy the Preinstallation Environment (PE) files to
340340
.EXAMPLE
@@ -393,7 +393,7 @@ function Copy-PEComponents
393393
.PARAMETER peToolsPath
394394
The path of the Preinstallation Environment (PE) tools. By default, this is "Program Files\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools"
395395
.PARAMETER architecture
396-
The architecture of the target Preinstallation Environment (PE). Valid options: x86, amd64, arm, arm64
396+
The architecture of the target Preinstallation Environment (PE). Valid options: x86, amd64, arm64
397397
.PARAMETER targetDir
398398
The target directory to copy the Preinstallation Environment (PE) component files to
399399
.EXAMPLE
@@ -529,9 +529,6 @@ function Start-PECustomization
529529
amd64 {
530530
Copy-Item -Path "$((Get-Location).Path)\backgrounds\winpe_amd64.jpg" -Destination "$imagePath\Windows\system32\winpe.jpg" -Force
531531
}
532-
arm {
533-
Copy-Item -Path "$((Get-Location).Path)\backgrounds\winpe_arm.jpg" -Destination "$imagePath\Windows\system32\winpe.jpg" -Force
534-
}
535532
arm64 {
536533
Copy-Item -Path "$((Get-Location).Path)\backgrounds\winpe_arm64.jpg" -Destination "$imagePath\Windows\system32\winpe.jpg" -Force
537534
}
@@ -1297,13 +1294,14 @@ function Get-WimIndexes
12971294
{
12981295
$wimPath = "$((Get-Location).Path)sources\install.wim"
12991296
}
1300-
(Get-WindowsImage -ImagePath "$wimPath" | Format-Table ImageIndex, ImageName) | Out-Host
1297+
$imageInformation = (Get-WindowsImage -ImagePath "$wimPath")
1298+
$imageInformation | Format-Table ImageIndex, ImageName | Out-Host
13011299
Write-Host "To get more complete information about the Windows image, type `"INFO`"`n"
13021300
$idx = Read-Host -Prompt "Specify the image index to apply"
13031301
try
13041302
{
13051303
$index = [int]$idx
1306-
$imageCount = (Get-WindowsImage -ImagePath "$wimPath").Count
1304+
$imageCount = $imageInformation.Count
13071305
# return $index
13081306
if (($index -lt 1) -or ($index -gt $imageCount)) {
13091307
Write-Host "An invalid index has been specified."
@@ -1321,7 +1319,7 @@ function Get-WimIndexes
13211319
{
13221320
Write-Progress -Activity "Getting image information..." -Status "Preparing to get image information..." -PercentComplete 0
13231321
$images = [List[Microsoft.Dism.Commands.WimImageInfoObject]]::new()
1324-
$imageCount = (Get-WindowsImage -ImagePath "$wimPath").Count
1322+
$imageCount = $imageInformation.Count
13251323
if ($imageCount -gt 0)
13261324
{
13271325
for ($i = 0; $i -lt $imageCount; $i++)
@@ -1973,7 +1971,7 @@ elseif ($cmd -eq "Help")
19731971
Write-Host " -cmd: Specifies the command to run. Typing this is optional. Valid options: StartPEGen, StartApply, Help`n"
19741972
Write-Host " StartPEGen: starts the Preinstallation Environment (PE) generation process. Parameters:"
19751973
Write-Host " -arch: (Mandatory) Specifies the architecture of the target Preinstallation Environment (PE). Valid options:"
1976-
Write-Host " x86, amd64, arm, arm64"
1974+
Write-Host " x86, amd64, arm64"
19771975
Write-Host " -imgFile: (Mandatory) Specifies the WIM file to copy to the target Preinstallation Environment (PE)"
19781976
Write-Host " -isoPath: (Mandatory) Specifies the target path of the ISO file"
19791977
Write-Host " You need the Windows ADK and the PE plugin, which you can download here:"
@@ -1982,7 +1980,7 @@ elseif ($cmd -eq "Help")
19821980
Write-Host " This can only be run on Windows PE. Starting this action on other environments will fail."
19831981
Write-Host " StartDevelopment: starts the PE project creation phase. Parameters:"
19841982
Write-Host " -testArch: (Mandatory) Specifies the architecture of the target Preinstallation Environment (PE). Valid options:"
1985-
Write-Host " x86, amd64, arm, arm64"
1983+
Write-Host " x86, amd64, arm64"
19861984
Write-Host " -targetPath: (Mandatory) Specifies the target path for the PE project"
19871985
Write-Host " Help: shows this help documentation`n"
19881986

Binary file not shown.
43 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)