Skip to content

Commit 1a568ed

Browse files
DISMTools 0.6.1 (#225)
* Prepare for next release * Update nightly installer link * DISMTools 0.6.1 Preview 1 (#212) * [Library] Update Markdig and ManagedDism * [Fix] Fallback to INI method for installable copies Fixes #205 * DynaLog for the whole codebase (#207) * [DynaLog] Massive improvements (12/21/2024) * [DynaLog] Massive improvements (12/22/2024) * [DynaLog] Massive improvements (12/23/2024) * [DynaLog] Massive improvements (12/24/2024) * [DynaLog] Massive improvements (12/25/2024) * [Event] Reload BGProcs with Alt+R * [DynaLog] Massive improvements (12/26/2024) * [DynaLog] Massive improvements (12/27/2024) Including a massive improvement in DynaLog logging performance! * [DynaLog] Fixed null reference exception * [DynaLog] Massive improvements (12/28/2024) * [Fix] Fixed exception and bgprocs not starting sometimes, update key combo * [DynaLog] Massive improvements (12/29/2024) * [DynaLog] Massive improvements (12/30/2024) * [Refactor] Optimize process launch methods * [DynaLog] Massive improvements (01/01/2025) Happy New Year! With this commit, DynaLog has been fully implemented now. A couple of routines have been refactored as well for a faster and more polished experience. * [Unattended answer file] Fix addition problems with copy operation * [Unattended answer file] Update some things * [DynaLog] Add XML comments * [Fix] Fixed #206 * [Unattended answer file] Improvements for 0.6.1 P1 - Updated UnattendGen - Added configuration set/distribution share support * [PE Helper] Introducing HotInstall * [PE Helper] Add BCD entry deletion for BIOS * [Library] Update Scintilla.NET to 5.6.5 * [PE Helper] Update files - Updated the text of the restart dialog to make it consistent with HotInstall - Updated HotInstall to latest commit: CodingWonders/DT-HotInstall@1528686 * [Fix] Fixed #209 * [PE Helper] Update files (01/05/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@498f729 NOTE: this version of HotInstall is marked as a test build * [PE Helper] Update HotInstall (01/06/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@6addb6b * [PE Helper] Update HotInstall (01/08/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@6b374f2 * [Fix] Fixed exception for Recents list keyboard combos * [PE Helper] Update HotInstall (01/09/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@b5b2692 * [Settings] Add System Editor configuration This is experimental and can only be configured manually in Preview 1. Preview 2 will see a UI for it * [Settings] Save System Editor setting * [DynaLog] Make init output pretty again * [PE Helper] Update HotInstall (01/10/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@32bd695 * [Library] Update Markdig to 0.40.0 * [REL] Update What's New section, and new Update Info files * Update nightly installer link * DISMTools 0.6.1 Preview 2 (#214) * Update assembly information * [PE Helper] Update HotInstall (01/13/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@e31674e * [PE Helper] Update HotInstall (01/14/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@dee52b1 * [PE Helper] Update HotInstall (01/15/2025) - Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@61c1be5 * [Unattended answer file] Add post-install script support * [Unattended answer file] Fix bug that caused scripts to not be applied * [Enhance] Redirect DISM output to console control * [Options] Add settings for DynaLog and system editor * [Options] Open DynaLog log directory on demand * [Unattended answer file] Make computer name notice less annoying * [Unattended answer file] Update wording of post-install script stage * [Fix] Detect WIMBoot status and disable option accordingly * [PE Helper] Add ability to get a bit more info * [PE Helper] Update HotInstall (01/22/2025) Updated HotInstall to no longer feature test build mark * [REL] Update What's New section and new Update Info files * Update nightly installer link * DISMTools 0.6.1 Preview 3 (#216) * Update assembly information * [PE Helper] Update HotInstall (01/25/2025) Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@6e87e16 * [Updater] Add error information * [PE Helper] Update HotInstall (01/25/2025, part 2) Updated HotInstall to its latest commit: CodingWonders/DT-HotInstall@af626ff * [Unattended answer file] Block "None" user account name * [PE Helper] Detect if image index is valid * [PE Helper] Add support for Ventoy drives * [ISO Creator] Remove redundant label * [PE Helper] Update HotInstall (01/29/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@43ce929 NOTE: this adds language support to HotInstall for the following languages, based on ISO 639-2 language code representations: English, Spanish (Spain). Unsupported languages will default to English for the HotInstall installer * [PE Helper] Update HotInstall (01/30/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@f5df6f0 * [PE Helper] Update HotInstall (01/31/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@e603158 * [Unattended answer file] UnattendGen Nightly * [Fix] Switch to manual size for label * [Build] Remove dependency for speedier CI * [Build] Remove dependency for speedier CI (part 2) * [Enhance] Make progress panel log switchers more appealing * [PE Helper] Show visual progress of DIM driver addition * [PE Helper] Hide progress once completed * [PE Helper] Hide progress once completed (part 2) * [PE Helper] Change progress output of driver installation * [PE Helper] Update HotInstall (02/02/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@d843f50 * [PE Helper] Update HotInstall (02/02/2025, part 2) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@bc05ccd * [DynaLog] Change file length type to long * [ISO Creator] Detect ADKs and WIMs for architectures * [PE Helper] Fix compat issues with ADK 10.0.26100.2454+ * [PE Helper] Add option for signed boot binaries * [Library] Update Scintilla.NET to 5.6.6 * [Unattended answer file & PE Helper] Update vers. - Updated UnattendGen (v0.6.1.2521) - Updated HotInstall to remove test build flag * [REL] Update What's New section, new Update Info files * Update nightly installer link * DISMTools 0.6.1 Preview 4 (#223) * Update assembly information * [PE Helper] Fixed EFI file issue if not in bootbins * [PE Helper] Update HotInstall (02/10/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@d1d39fb * [DynaLog] Add edge-case for faulty CMOS batteries * [PE Helper] Update HotInstall (02/12/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@b64f60a * [Unattended answer file] Add support for multiple architectures * [DynaLog] Be more descriptive when message will not be logged * [Info Saver] Close regardless of the option * [Unattended answer file] Add spacing normalization options * [Enhance] Localize log panel switchers * [Info Saver] Show proper count for AppX package array * [ISO Creator] Put back all items if all of them were removed * [PE Helper] Modify message for DIM driver installation * [PE Helper] Add code for WinPE update installation * [PE Helper] Update HotInstall (02/17/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@0f3bd4b * [Fix] Fix directory attribute comparison issue (#220) * [PE Helper] Replace Path Root getter with env variable * [Unattended answer file] Update UnattendGen * [PE Helper ES] Add DimStart Alias * [PE Helper] Update HotInstall (02/20/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@be57444 * [Info Saver] Don't take into account empty item * [Fix] Fixed additional recents list exception * [Fix] Fixed additional directory attribute issues * [Videos] Remove border, allow fullscreen * [REL] Update What's New section, new Update Info files * Overwrite problematic files * Update nightly installer link * Last changes for DISMTools 0.6.1 (#224) * Update assembly information * [Fix] Fixed non-English DISM output not showing special characters * [Settings] Avoid possible setting load loops * [PE Helper] Detect architectures in Test Environment creator * [PE Helper] Update HotInstall (02/24/2025) Update HotInstall to its latest commit: CodingWonders/DT-HotInstall@606ffc2 * [Enhance] Localize remaining features * [Docs] Update Help documentation * [Docs] Remove highlight.js library to restore speed * [Options] Change name of DT 0.5+ color scheme * [Issue Templates] Add DynaLog log files * [REL] Update What's New section, and new Update Info files * Update branch status and branch info --------- Co-authored-by: CodingWonders <[email protected]>
1 parent 944fe92 commit 1a568ed

File tree

252 files changed

+8384
-4224
lines changed

Some content is hidden

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

252 files changed

+8384
-4224
lines changed

.github/ISSUE_TEMPLATE/bug.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,15 @@ If applicable, add screenshots to help explain your problem.
2828

2929

3030
**Additional context**
31-
Add any other context about the problem here.
31+
Add any other context about the problem here.
32+
33+
### Attaching DynaLog event logs
34+
---
35+
36+
DISMTools 0.6.1 and later use DynaLog as a means to write diagnostic information to a log file that you can send to the developers. The log is stored in `<program directory>\Logs`:
37+
38+
- If you are using an installed copy, go to `\Program Files\DISMTools\<Stable or Preview>\logs`
39+
- If you are using a portable copy, go to `<startup location>\logs`
40+
41+
The file in question is `DT_DynaLog.log`. Attach this log by dropping it below:
42+

.github/ISSUE_TEMPLATE/program-exception.md

+11
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,14 @@ If you have run into an internal error (program exception), we would like to lea
1818
**How did it happen?** What steps did you perform in order to experience this problem?
1919

2020
<!-- Steps -->
21+
22+
### Attaching DynaLog event logs
23+
---
24+
25+
DISMTools 0.6.1 and later use DynaLog as a means to write diagnostic information to a log file that you can send to the developers. The log is stored in `<program directory>\Logs`:
26+
27+
- If you are using an installed copy, go to `\Program Files\DISMTools\<Stable or Preview>\logs`
28+
- If you are using a portable copy, go to `<startup location>\logs`
29+
30+
The file in question is `DT_DynaLog.log`. Attach this log by dropping it below:
31+

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

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ jobs:
3333
$projectDir = "$((Get-Location).Path)\"
3434
$targetDir = (Get-Location).Path + "\bin\Debug\"
3535
iex "$($solutionDir)CheckMissingDlls.ps1"
36-
msbuild Tools\UnpEax\UnpEax.csproj /p:Configuration=Debug /p:DeployOnBuild=true
3736
msbuild DISMTools.vbproj /p:Configuration=Debug /p:DeployOnBuild=true /p:SolutionDir=$solutionDir /p:ProjectDir=$projectDir /p:TargetDir=$targetDir
3837
Move-Item -Path "$($solutionDir.TrimEnd("\"))\Installer\Output\dt_setup.exe" -Destination "$($solutionDir.TrimEnd("\"))\Installer\Nightly\dt_setup.exe" -Force
3938
- name: Upload Artifact

ApplicationEvents.vb

+32-2
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,22 @@ Namespace My
1919
Private debounceInterval As TimeSpan = TimeSpan.FromSeconds(2)
2020

2121
Private Sub Start(sender As Object, e As EventArgs) Handles Me.Startup
22+
DynaLog.LogMessage("Adding startup event handlers...")
2223
AddHandler Microsoft.Win32.SystemEvents.UserPreferenceChanged, AddressOf SysEvts_UserPreferenceChanged
2324
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanging, AddressOf SysEvts_DisplaySettingsChanging
2425
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf SysEvts_DisplaySettingsChanged
2526
End Sub
2627

2728
Private Sub CatchEmAll(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
29+
DynaLog.LogMessage("Unhandled exception occurred. Gotta catch'em all !")
30+
DynaLog.LogMessage("Exception information:")
31+
DynaLog.LogMessage("- Message: " & e.Exception.Message)
32+
DynaLog.LogMessage("- Code (HRESULT): " & Hex(e.Exception.HResult))
2833
ExceptionForm.ErrorText.Text = e.Exception.ToString() & CrLf & CrLf &
2934
"Error Message: " & e.Exception.Message & CrLf & CrLf &
3035
"Error Code (HRESULT): " & Hex(e.Exception.HResult)
3136
Try
37+
DynaLog.LogMessage("Getting program information for exception report...")
3238
' Get version of DISMTools that threw the exception. Include program version, branch, and (possibly) build time
3339
' in the case of nightly installers
3440
ExceptionForm.ErrorText.AppendText(CrLf & CrLf &
@@ -40,16 +46,22 @@ Namespace My
4046
" - Portable copy? " & If(File.Exists(My.Application.Info.DirectoryPath & "\portable"), "Yes", "No") & CrLf)
4147
' Get image information if a project has been loaded
4248
If DISMTools.MainForm.isProjectLoaded And Not DISMTools.MainForm.OnlineManagement Then
49+
DynaLog.LogMessage("Getting information about the image/installation for exception report...")
4350
Try
4451
ExceptionForm.ErrorText.AppendText(CrLf &
4552
"Information about the image loaded in this project:" & CrLf &
4653
" - Image name: " & DISMTools.MainForm.Label46.Text & CrLf &
4754
" - Image description: " & DISMTools.MainForm.Label47.Text & CrLf &
4855
" - Image version: " & DISMTools.MainForm.Label48.Text)
4956
Catch ex As Exception
57+
DynaLog.LogMessage("Could not get image/installation information. Error message: " & ex.Message)
5058
' Don't get this info
5159
End Try
5260
End If
61+
DynaLog.LogMessage("Getting computer, BIOS, OS and processor information for exception report...")
62+
DynaLog.LogMessage("--- NO PERSONALLY IDENTIFIABLE INFORMATION WILL BE INCLUDED IN THE REPORT ---")
63+
DynaLog.LogMessage("---- I ONLY GRAB THIS INFORMATION TO HELP ISOLATE BUGS TO A HW/SW CONFIG ----")
64+
DynaLog.LogMessage("I really care about your privacy and, like you, I hate tracking.")
5365
' Get basic information about the system. This does not include any personally identifiable information (PII) or
5466
' serial numbers that can identify the computer this program is run on
5567
Dim CS_Searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT Manufacturer, Model FROM Win32_ComputerSystem")
@@ -86,26 +98,33 @@ Namespace My
8698
"No information that can be used to identify the user or the exact system is gathered." & CrLf & CrLf &
8799
"If you don't want to send this information to the developers, paste the text that was copied to the clipboard in a text editor, remove this information, and copy the new text again.")
88100
Catch ex As Exception
101+
DynaLog.LogMessage("Could not get system information. Error message: " & ex.Message)
89102
' Could not get basic machine information
90103
End Try
91104
Try
105+
DynaLog.LogMessage("Saving exception information to the error report...")
92106
If Not Directory.Exists(Path.Combine(Windows.Forms.Application.StartupPath, "logs", "errors")) Then
107+
DynaLog.LogMessage("Creating directory for error reports...")
93108
Directory.CreateDirectory(Path.Combine(Windows.Forms.Application.StartupPath, "logs", "errors"))
94109
End If
95110
File.WriteAllText(Path.Combine(Windows.Forms.Application.StartupPath, "logs", "errors") & "\DT-Error-" & Now.ToString().Replace("/", "-").Trim().Replace(":", "-").Trim() & ".log", ExceptionForm.ErrorText.Text, UTF8)
96111
Catch ex As Exception
112+
DynaLog.LogMessage("Could not create the error report. Error message: " & ex.Message)
97113
' Could not save error information
98114
End Try
99115
ExceptionForm.ShowDialog()
100116
If ExceptionForm.DialogResult = DialogResult.OK Then
117+
DynaLog.LogMessage("DISMTools will continue execution as user decided to do so.")
118+
DynaLog.LogMessage("This is not the most recommended thing as it may happen again.")
101119
e.ExitApplication = False
102120
ElseIf ExceptionForm.DialogResult = DialogResult.Cancel Then
121+
DynaLog.LogMessage("DISMTools will stop execution as user decided to do so.")
103122
e.ExitApplication = True
104123
End If
105124
End Sub
106125

107126
Private Sub SysEvts_UserPreferenceChanged(sender As Object, e As Microsoft.Win32.UserPreferenceChangedEventArgs)
108-
Debug.WriteLine(Date.UtcNow & " UTC - User Preference Category: " & e.Category.ToString())
127+
DynaLog.LogMessage("A user preference of type " & e.Category.ToString() & " has changed.")
109128

110129
' Prevent the program from freezing. This is a fix for a very long-standing bug that was introduced with the mounted image detector,
111130
' where the program would randomly freeze and never come back. And, even while the program itself was still responding, its UI thread
@@ -122,22 +141,33 @@ Namespace My
122141
' - This event is triggered
123142
'
124143
' This fixes the problem by temporarily stopping the mounted image detector, doing the event code, and restarting it afterward.
125-
' It hasn't caused any freezes for me yet, but I may be proven wrong.
144+
' It causes a temporary freeze, but it always comes back.
145+
DynaLog.LogMessage("Detecting if mounted image detector is busy...")
126146
If DISMTools.MainForm.MountedImageDetectorBW.IsBusy Then
147+
DynaLog.LogMessage("Mounted image detector is busy. Stopping to avoid a permanent freeze...")
127148
DISMTools.MainForm.MountedImageDetectorBW.CancelAsync()
128149
End If
129150
If e.Category = UserPreferenceCategory.General And DISMTools.MainForm.ColorMode = 0 Then
151+
DynaLog.LogMessage("Detecting if the system color theme changed...")
130152
Dim currentTime As DateTime = DateTime.Now
153+
DynaLog.LogMessage("Current system time: " & currentTime.ToString())
154+
DynaLog.LogMessage("Time theme last changed: " & lastThemeChangeTime.ToString())
155+
DynaLog.LogMessage("Time difference in seconds: " & (currentTime - lastThemeChangeTime).TotalSeconds)
156+
DynaLog.LogMessage("Debounce interval: " & debounceInterval.TotalSeconds)
131157
If currentTime - lastThemeChangeTime > debounceInterval Then
158+
DynaLog.LogMessage("Time difference is over debounce interval. Changing color theme...")
132159
DISMTools.MainForm.ChangePrgColors(0)
160+
DynaLog.LogMessage("Setting the time the theme last changed...")
133161
lastThemeChangeTime = currentTime
134162
End If
135163
End If
136164
Try
165+
DynaLog.LogMessage("Restarting mounted image detector...")
137166
Threading.Thread.Sleep(1000)
138167
Call DISMTools.MainForm.MountedImageDetectorBW.RunWorkerAsync()
139168
Threading.Thread.Sleep(250)
140169
Catch ex As Exception
170+
DynaLog.LogMessage("Could not restart mounted image detector. Error message: " & ex.Message)
141171
DISMTools.MainForm.MountedImageDetectorBWRestarterTimer.Enabled = True
142172
End Try
143173
End Sub

DISMTools.sln

-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 2012
44
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DISMTools", "DISMTools.vbproj", "{042ED465-C910-407A-93D1-736639FF0EA5}"
5-
ProjectSection(ProjectDependencies) = postProject
6-
{5330BC3F-1BFF-4200-8872-3A2236F814AB} = {5330BC3F-1BFF-4200-8872-3A2236F814AB}
7-
EndProjectSection
85
EndProject
96
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{283DDE96-80B1-4AE2-9146-943E95039252}"
107
ProjectSection(SolutionItems) = preProject

DISMTools.vbproj

+21-7
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@
104104
<Reference Include="PresentationFramework">
105105
<Private>True</Private>
106106
</Reference>
107-
<Reference Include="Scintilla.NET, Version=5.6.5.0, Culture=neutral, PublicKeyToken=0221e70ba618311e, processorArchitecture=MSIL">
108-
<HintPath>packages\Scintilla5.NET.5.6.5\lib\net462\Scintilla.NET.dll</HintPath>
107+
<Reference Include="Scintilla.NET, Version=5.6.6.0, Culture=neutral, PublicKeyToken=0221e70ba618311e, processorArchitecture=MSIL">
108+
<HintPath>packages\Scintilla5.NET.5.6.6\lib\net462\Scintilla.NET.dll</HintPath>
109109
</Reference>
110110
<Reference Include="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
111111
<Private>True</Private>
@@ -241,11 +241,12 @@
241241
<Compile Include="Elements\AutoUnattend\Localization\UserLocale.vb" />
242242
<Compile Include="Elements\AutoUnattend\NetworkConnections\WirelessSettings.vb" />
243243
<Compile Include="Elements\AutoUnattend\ProductKey\ProductKey.vb" />
244+
<Compile Include="Elements\AutoUnattend\Scripts\PostInstallScript.vb" />
244245
<Compile Include="Elements\AutoUnattend\SysConfig\ComputerName.vb" />
245246
<Compile Include="Elements\AutoUnattend\SysConfig\SVSettings.vb" />
246247
<Compile Include="Elements\AutoUnattend\Telemetry\SystemTelemetry.vb" />
247248
<Compile Include="Elements\AutoUnattend\UnattendedWizardPage.vb" />
248-
<Compile Include="Elements\AutoUnattend\UserAccounts\AccountLockdownSettings.vb" />
249+
<Compile Include="Elements\AutoUnattend\UserAccounts\AccountLockoutSettings.vb" />
249250
<Compile Include="Elements\AutoUnattend\UserAccounts\AutoLogonSettings.vb" />
250251
<Compile Include="Elements\AutoUnattend\UserAccounts\PasswordExpirationSettings.vb" />
251252
<Compile Include="Elements\AutoUnattend\UserAccounts\User.vb" />
@@ -853,6 +854,12 @@
853854
<Compile Include="Panels\Unattend_Files\Management\UnattendMgr.vb">
854855
<SubType>Form</SubType>
855856
</Compile>
857+
<Compile Include="UserControls\ConsoleControl.Designer.vb">
858+
<DependentUpon>ConsoleControl.vb</DependentUpon>
859+
</Compile>
860+
<Compile Include="UserControls\ConsoleControl.vb">
861+
<SubType>UserControl</SubType>
862+
</Compile>
856863
<Compile Include="Utilities\DriverSignerViewer.vb" />
857864
<Compile Include="Utilities\DT_Utils.vb" />
858865
<Compile Include="Utilities\DynaLog.vb" />
@@ -1166,6 +1173,9 @@
11661173
<EmbeddedResource Include="Panels\Unattend_Files\Management\UnattendMgr.resx">
11671174
<DependentUpon>UnattendMgr.vb</DependentUpon>
11681175
</EmbeddedResource>
1176+
<EmbeddedResource Include="UserControls\ConsoleControl.resx">
1177+
<DependentUpon>ConsoleControl.vb</DependentUpon>
1178+
</EmbeddedResource>
11691179
</ItemGroup>
11701180
<ItemGroup>
11711181
<None Include=".editorconfig" />
@@ -1204,6 +1214,9 @@
12041214
<None Include="Helpers\extps1\mImgMgr.ps1">
12051215
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
12061216
</None>
1217+
<None Include="Helpers\extps1\PE_Helper\files\dim_start\dimstart.bat">
1218+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
1219+
</None>
12071220
<None Include="Helpers\extps1\PE_Helper\files\diskpart\dp_listdisk.dp">
12081221
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
12091222
</None>
@@ -1520,6 +1533,7 @@
15201533
<Content Include="Tools\UnattendGen\win-x86\UnattendGen.pdb" />
15211534
<Content Include="Tools\UnattendGen\win-x86\UnattendGenerator.dll" />
15221535
<Content Include="Tools\UnattendGen\win-x86\UnattendGenerator.pdb" />
1536+
<Content Include="Tools\UnpEax-Bin\UnpEax.exe" />
15231537
<None Include="Resources\actions\validation.png" />
15241538
<None Include="Resources\setting_migration.ico" />
15251539
<None Include="Resources\secprogress_classic.png" />
@@ -1910,9 +1924,9 @@ copy /y "$(SolutionDir)Tools\DT_IEConfig.reg" "DT_IEConfig.reg"
19101924
:: Copy registry file for ADK installations
19111925
copy /y "$(SolutionDir)Tools\DT_WinADK.reg" "DT_WinADK.reg"
19121926

1913-
IF EXIST "$(SolutionDir)Tools\UnpEax\bin\Debug\UnpEax.exe" (
1927+
IF EXIST "$(SolutionDir)Tools\UnpEax-Bin\UnpEax.exe" (
19141928
md "Tools\UnpEax"
1915-
copy /y "$(SolutionDir)Tools\UnpEax\bin\Debug\UnpEax.exe" "Tools\UnpEax\UnpEax.exe"
1929+
copy /y "$(SolutionDir)Tools\UnpEax-Bin\UnpEax.exe" "Tools\UnpEax\UnpEax.exe"
19161930
)
19171931

19181932
:: Copy UnattendGen
@@ -1991,12 +2005,12 @@ IF EXIST tools (
19912005

19922006
IF EXIST "report.html" (del "report.html")</PreBuildEvent>
19932007
</PropertyGroup>
1994-
<Import Project="packages\Scintilla5.NET.5.6.5\build\scintilla5.net.targets" Condition="Exists('packages\Scintilla5.NET.5.6.5\build\scintilla5.net.targets')" />
2008+
<Import Project="packages\Scintilla5.NET.5.6.6\build\scintilla5.net.targets" Condition="Exists('packages\Scintilla5.NET.5.6.6\build\scintilla5.net.targets')" />
19952009
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
19962010
<PropertyGroup>
19972011
<ErrorText>Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}.</ErrorText>
19982012
</PropertyGroup>
1999-
<Error Condition="!Exists('packages\Scintilla5.NET.5.6.5\build\scintilla5.net.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Scintilla5.NET.5.6.5\build\scintilla5.net.targets'))" />
2013+
<Error Condition="!Exists('packages\Scintilla5.NET.5.6.6\build\scintilla5.net.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Scintilla5.NET.5.6.6\build\scintilla5.net.targets'))" />
20002014
</Target>
20012015
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
20022016
Other similar extension points exist, see Microsoft.Common.targets.

Elements/AppxPackage.vb

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Imports System.Xml.Serialization
2+
Imports Microsoft.VisualBasic.ControlChars
23

34
Namespace Elements
45

@@ -68,6 +69,14 @@ Namespace Elements
6869
''' </summary>
6970
''' <remarks></remarks>
7071
Public Property StubPackageOption As StubPreference
72+
73+
Public Overrides Function ToString() As String
74+
Return "AppX package:" & CrLf &
75+
"- Name: " & Quote & Me.PackageName & Quote & CrLf &
76+
"- Publisher: " & Quote & Me.PackagePublisher & Quote & CrLf &
77+
"- Version: " & Quote & Me.PackageVersion & Quote & CrLf &
78+
"- Architecture: " & Quote & Me.PackageArchitecture & Quote
79+
End Function
7180
End Class
7281

7382
''' <summary>

Elements/AutoUnattend/Components/Component.vb

+20
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Imports System.Xml.Serialization
22
Imports System.Xml
33
Imports System.IO
4+
Imports Microsoft.VisualBasic.ControlChars
45

56
Namespace Elements
67

@@ -12,15 +13,32 @@ Namespace Elements
1213

1314
Public Property Passes As New List(Of Pass)
1415

16+
Public Overrides Function ToString() As String
17+
Dim passList As String = ""
18+
If Me.Passes.Count > 0 Then
19+
For Each componentPass As Pass In Me.Passes
20+
If passList <> "" Then
21+
passList &= ", " & componentPass.Name
22+
Else
23+
passList = componentPass.Name
24+
End If
25+
Next
26+
End If
27+
Return "Component, with ID: " & Me.Id & "; Passes: " & passList
28+
End Function
29+
1530
Public Shared Function LoadItems(filePath As String) As List(Of Component)
31+
DynaLog.LogMessage("Preparing to load items from file " & Quote & filePath & Quote & "...")
1632
Dim componentList As New List(Of Component)
1733
Try
1834
Using fs As FileStream = New FileStream(filePath, FileMode.Open)
35+
DynaLog.LogMessage("Creating XML reader...")
1936
Dim xs As New XmlReaderSettings()
2037
xs.IgnoreWhitespace = True
2138
Using reader As XmlReader = XmlReader.Create(fs, xs)
2239
While reader.Read()
2340
If reader.NodeType = XmlNodeType.Element AndAlso reader.Name = "Component" Then
41+
DynaLog.LogMessage("We are dealing with a component (XML node type is element and is " & Quote & "Component" & Quote & "). Parsing...")
2442
Dim sysComponent As New Component()
2543
sysComponent.Id = reader.GetAttribute("Id")
2644
Dim PassList As String = reader.GetAttribute("Passes")
@@ -46,8 +64,10 @@ Namespace Elements
4664
End While
4765
End Using
4866
End Using
67+
DynaLog.LogMessage("System component count: " & componentList.Count)
4968
Return componentList
5069
Catch ex As Exception
70+
DynaLog.LogMessage("Could not load items. Error message: " & ex.Message)
5171
If Debugger.IsAttached Then Debugger.Break()
5272
Return Nothing
5373
End Try

0 commit comments

Comments
 (0)