Skip to content

Commit 56834ae

Browse files
DISMTools 0.6.2 Update 3 (#268)
* Update assembly information * [Enhance] Update images to reflect 3rd anniversary * [Fix] Draw border to avoid blending in with the background * [PE Helper] Add Menu (part 1) * [PE Helper] Add Menu (part 2) * [PE Helper] Add Menu (part 3) * [PE Helper] Add Menu (part 4) * [PE Helper] Add Menu (part 5) * [PE Helper] Add Menu (part 6, v0.6.2 Specifics) * [Library] Update 7-Zip to version 25.00 On a sidenote, why does effing Meta have to get into my software? It's utterly disgusting, utterly revolting. I can't describe this mess of a tech world we're living in. * [Enhance] Add feature update support for Bromine builds * [Tour] Bundle DT Tour * [PE Helper] Integrate DIM directly into the WinPE image * [Installer] Upgrade Inno Setup to v6.4.3 * [Installer] Update to add tour * [Installer] Final path for tour * [Enhance] Added menu item and links to Tour * Update create-nightly-installer.yaml I hate YAML * [Tour] Add option to launch the tour on first run * [Tour] Finish Tour for 0.7 * [PE Helper] Update menu messages * [PE Helper] Fix broken used volume letter check (why you stupid heap of junk?) * [PE Helper] DIM: minor UI update * [PE Helper] Reduce DT PE startup time * [PE Helper/FullCopyScript] Do not copy ACLs by default * [ISO Creator] Do not reenable window close button * [PE Helper] Update HotInstall (07/29/2025) Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@bf2ef28 This is the final commit to the HotInstall repository. Any further changes to HotInstall are reflected in the DISMTools repository. * [REL] Update What's New section
1 parent 1574a6c commit 56834ae

Some content is hidden

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

58 files changed

+468
-69
lines changed

.github/workflows/create-nightly-installer.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
- uses: actions/checkout@v4
2222
with:
2323
ref: ${{ github.head_ref }}
24+
submodules: 'true'
2425
- name: Set up MSBuild
2526
uses: microsoft/Setup-MSBuild@v2
2627
- name: Prepare NuGet packages

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "tour"]
2+
path = tour
3+
url = https://github.com/CodingWonders/dt_tour

7z/amd64/7z.dll

-1.5 KB
Binary file not shown.

7z/amd64/7z.exe

5.5 KB
Binary file not shown.

7z/i386/7z.dll

1.5 KB
Binary file not shown.

7z/i386/7z.exe

3.5 KB
Binary file not shown.

DISMTools.vbproj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,6 +1197,18 @@
11971197
<None Include="Helpers\extps1\PE_Helper\files\HotInstall.zip">
11981198
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
11991199
</None>
1200+
<None Include="Helpers\extps1\PE_Helper\files\scripts\fullcopy.bat">
1201+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1202+
</None>
1203+
<None Include="Helpers\extps1\PE_Helper\files\scripts\imagecapture.bat">
1204+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1205+
</None>
1206+
<None Include="Helpers\extps1\PE_Helper\files\scripts\initializenetwork.bat">
1207+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1208+
</None>
1209+
<None Include="Helpers\extps1\PE_Helper\files\startup\menu.ps1">
1210+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1211+
</None>
12001212
<None Include="Helpers\extps1\PE_Helper\files\startup\StartInstall.ps1">
12011213
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
12021214
</None>
@@ -1886,6 +1898,14 @@ IF EXIST "$(SolutionDir)Tools\DynaViewer\out\*.exe" (
18861898
xcopy "$(SolutionDir)Tools\DynaViewer\out\*.exe" "Tools\DynaViewer" /cehyi
18871899
)
18881900

1901+
:: Copy Tour
1902+
IF EXIST "$(SolutionDir)tour" (
1903+
xcopy "$(SolutionDir)tour\*.*" "$(TargetDir)docs\tour" /cehyi
1904+
IF EXIST "$(TargetDir)docs\tour\.git" (rd "$(TargetDir)docs\tour\.git" /s /q)
1905+
IF EXIST "$(TargetDir)docs\tour\.vscode" (rd "$(TargetDir)docstour\.vscode" /s /q)
1906+
IF EXIST "$(TargetDir)docs\tour\.git*" (del "$(TargetDir)docs\tour\.git*" /f /s /q)
1907+
)
1908+
18891909
IF NOT EXIST AutoUnattend (
18901910
md AutoUnattend
18911911
copy /y "$(SolutionDir)Elements\AutoUnattend\*.xml" AutoUnattend

Help/HelpBrowserForm.vb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ Public Class HelpBrowserForm
4040

4141
Private Sub WebBrowser1_Navigated(sender As Object, e As WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
4242
DynaLog.LogMessage("Navigating to page " & Quote & e.Url.AbsoluteUri & Quote & "...")
43+
If e.Url.AbsoluteUri.Equals("https://dismtools.com/tour", StringComparison.OrdinalIgnoreCase) Then
44+
DynaLog.LogMessage("Tour imaginary site is present. Attempting to launch the tour...")
45+
If Directory.Exists(Path.Combine(Application.StartupPath, "docs", "tour")) Then
46+
DynaLog.LogMessage("Tour directory exists. Starting the tour!")
47+
Process.Start(Path.Combine(Application.StartupPath, "docs", "tour", "tour-start.html"))
48+
End If
49+
WebBrowser1.Navigate(CurrentSite)
50+
Exit Sub
51+
End If
4352
If File.Exists(e.Url.AbsoluteUri.Replace("file:///", "").Trim().Replace("/", "\").Trim().Replace("%20", " ").Trim() & "\index.html") Then
4453
DynaLog.LogMessage("HTML exists in Absolute URI path. Navigating...")
4554
WebBrowser1.Navigate(e.Url.AbsoluteUri & "\index.html")

Helpers/extps1/PE_Helper/PE_Helper.ps1

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,18 @@ function Start-PECustomization
636636
{
637637
Write-Host "Could not prepare the system for graphical applications"
638638
}
639+
try
640+
{
641+
Write-Host "CUSTOMIZATION STEP - Copy First-Party Tools" -BackgroundColor DarkGreen
642+
Write-Host "Copying Driver Installation Module..."
643+
New-Item -Path "$imagePath\Tools\DIM" -ItemType Directory | Out-Null
644+
Copy-Item -Path "$((Get-Location).Path)\tools\DIM\*" -Destination "$imagePath\Tools\DIM" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
645+
Write-Host "First-party tools have been successfully copied."
646+
}
647+
catch
648+
{
649+
Write-Host "Could not copy first-party tools."
650+
}
639651
}
640652
try
641653
{
@@ -649,13 +661,41 @@ function Start-PECustomization
649661
Set-Content -Path "$imagePath\Windows\system32\startnet.cmd" -Value $contents -Force
650662
}
651663
Copy-Item -Path "$((Get-Location).Path)\files\startup\StartInstall.ps1" -Destination "$imagePath\StartInstall.ps1" -Force
652-
Copy-Item -Path "$((Get-Location).Path)\files\dim_start\dimstart.bat" -Destination "$imagePath\dimstart.bat"
664+
Copy-Item -Path "$((Get-Location).Path)\files\dim_start\dimstart.bat" -Destination "$imagePath\dimstart.bat" -Force
665+
Copy-Item -Path "$((Get-Location).Path)\files\startup\menu.ps1" -Destination "$imagePath\menu.ps1" -Force
666+
New-Item -Path "$imagePath\scripts" -ItemType Directory | Out-Null
667+
Copy-Item -Path "$((Get-Location).Path)\files\scripts\*" -Destination "$imagePath\scripts" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
653668
Write-Host "Startup commands changed"
654669
}
655670
catch
656671
{
657672
Write-Host "Could not change startup commands"
658673
}
674+
try
675+
{
676+
Write-Host "CUSTOMIZATION STEP - Miscellaneous Registry Edits" -BackgroundColor DarkGreen
677+
Write-Host "-- PowerShell Execution Policy --"
678+
if (-not (Open-PERegistry -regFile "$imagePath\Windows\system32\config\SOFTWARE" -regName "WINPESOFT" -regLoad $true)) { throw }
679+
reg add "HKLM\WINPESOFT\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" /v "ExecutionPolicy" /t REG_SZ /d "Unrestricted" /f
680+
Open-PERegistry -regFile "$imagePath\Windows\system32\config\SOFTWARE" -regName "WINPESOFT" -regLoad $false
681+
Write-Host "Registry changed."
682+
}
683+
catch
684+
{
685+
Write-Host "Could not change registry..."
686+
}
687+
try
688+
{
689+
Write-Host "CUSTOMIZATION STEP - Prepare System for Network-based Installations" -BackgroundColor DarkGreen
690+
Write-Host "Preparing NetInstall..."
691+
New-Item -Path "$imagePath\pxehelpers" -ItemType Directory | Out-Null
692+
Copy-Item -Path "$((Get-Location).Path)\pxehelpers\*" -Destination "$imagePath\pxehelpers" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue
693+
Write-Host "The target system is now ready for network-based installations"
694+
}
695+
catch
696+
{
697+
Write-Host "Could not prepare the system for network-based installations"
698+
}
659699
Write-Host "CUSTOMIZATION STEP - Set Scratch Size" -BackgroundColor DarkGreen
660700
Write-Host "Setting scratch size..."
661701
dism /English /image="$imagePath" /set-scratchspace=512 | Out-Host
@@ -1251,19 +1291,22 @@ function Write-DiskConfiguration
12511291

12521292
# One of the three letters mentioned above may be already in use. Check these before assuming they're our targets.
12531293
# This is more the case when you boot the ISO with Ventoy
1254-
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $espLetter }).Count -gt 0) {
1294+
# ---
1295+
# Preview 7 Edit -- powershell doesn't consider the count property until we select the object, therefore still causing the issue.
1296+
# Why, you stupid heap of C# junk?????
1297+
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $espLetter } | Select-Object -ExpandProperty DriveLetter).Count -gt 0) {
12551298
Write-Host "The default letter for the EFI System Partition is already in use."
12561299
$usedLetters++
12571300
$espUsed = $true
12581301
}
12591302

1260-
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $bootLetter }).Count -gt 0) {
1303+
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $bootLetter } | Select-Object -ExpandProperty DriveLetter).Count -gt 0) {
12611304
Write-Host "The default letter for the boot partition is already in use."
12621305
$usedLetters++
12631306
$bootUsed = $true
12641307
}
12651308

1266-
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $recoveryLetter }).Count -gt 0) {
1309+
if ((Get-Volume | Where-Object { $_.DriveLetter -eq $recoveryLetter } | Select-Object -ExpandProperty DriveLetter).Count -gt 0) {
12671310
Write-Host "The default letter for the Windows Recovery Environment partition is already in use."
12681311
$usedLetters++
12691312
$recoveryUsed = $true
Loading

0 commit comments

Comments
 (0)