diff --git a/DISMTools.vbproj b/DISMTools.vbproj
index 12d57adf..412d9351 100644
--- a/DISMTools.vbproj
+++ b/DISMTools.vbproj
@@ -160,6 +160,12 @@
Settings.settings
True
+
+ WimScriptEditor.vb
+
+
+ Form
+
ProgressPanel.vb
@@ -570,6 +576,9 @@
My.Resources
Designer
+
+ WimScriptEditor.vb
+
ProgressPanel.vb
diff --git a/Installer/Output/dt_setup.exe b/Installer/Output/dt_setup.exe
index ce9155f3..b6290087 100644
Binary files a/Installer/Output/dt_setup.exe and b/Installer/Output/dt_setup.exe differ
diff --git a/MainForm.Designer.vb b/MainForm.Designer.vb
index 051bd636..8ae7ed3c 100644
--- a/MainForm.Designer.vb
+++ b/MainForm.Designer.vb
@@ -166,6 +166,8 @@ Partial Class MainForm
Me.UnattendedAnswerFileManagerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ReportManagerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.MountedImageManagerTSMI = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator28 = New System.Windows.Forms.ToolStripSeparator()
+ Me.WimScriptEditorCommand = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator()
Me.ActionEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator22 = New System.Windows.Forms.ToolStripSeparator()
@@ -1244,7 +1246,7 @@ Partial Class MainForm
'
'ToolsToolStripMenuItem
'
- Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ImageConversionToolStripMenuItem, Me.ToolStripSeparator12, Me.MergeSWM, Me.ToolStripSeparator18, Me.RemountImageWithWritePermissionsToolStripMenuItem, Me.ToolStripSeparator13, Me.CommandShellToolStripMenuItem, Me.ToolStripSeparator16, Me.UnattendedAnswerFileManagerToolStripMenuItem, Me.ReportManagerToolStripMenuItem, Me.MountedImageManagerTSMI, Me.ToolStripSeparator9, Me.ActionEditorToolStripMenuItem, Me.ToolStripSeparator22, Me.OptionsToolStripMenuItem})
+ Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ImageConversionToolStripMenuItem, Me.ToolStripSeparator12, Me.MergeSWM, Me.ToolStripSeparator18, Me.RemountImageWithWritePermissionsToolStripMenuItem, Me.ToolStripSeparator13, Me.CommandShellToolStripMenuItem, Me.ToolStripSeparator16, Me.UnattendedAnswerFileManagerToolStripMenuItem, Me.ReportManagerToolStripMenuItem, Me.MountedImageManagerTSMI, Me.ToolStripSeparator28, Me.WimScriptEditorCommand, Me.ToolStripSeparator9, Me.ActionEditorToolStripMenuItem, Me.ToolStripSeparator22, Me.OptionsToolStripMenuItem})
Me.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem"
Me.ToolsToolStripMenuItem.Size = New System.Drawing.Size(46, 20)
Me.ToolsToolStripMenuItem.Text = "&Tools"
@@ -1319,6 +1321,17 @@ Partial Class MainForm
Me.MountedImageManagerTSMI.Size = New System.Drawing.Size(280, 22)
Me.MountedImageManagerTSMI.Text = "Mounted image manager"
'
+ 'ToolStripSeparator28
+ '
+ Me.ToolStripSeparator28.Name = "ToolStripSeparator28"
+ Me.ToolStripSeparator28.Size = New System.Drawing.Size(277, 6)
+ '
+ 'WimScriptEditorCommand
+ '
+ Me.WimScriptEditorCommand.Name = "WimScriptEditorCommand"
+ Me.WimScriptEditorCommand.Size = New System.Drawing.Size(280, 22)
+ Me.WimScriptEditorCommand.Text = "Configuration list editor"
+ '
'ToolStripSeparator9
'
Me.ToolStripSeparator9.Name = "ToolStripSeparator9"
@@ -2315,7 +2328,7 @@ Partial Class MainForm
Me.TableLayoutPanel2.ColumnCount = 3
Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 44.44444!))
Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 55.55556!))
- Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 112.0!))
+ Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 117.0!))
Me.TableLayoutPanel2.Controls.Add(Me.ProjNameEditBtn, 2, 0)
Me.TableLayoutPanel2.Controls.Add(Me.LinkLabel1, 1, 3)
Me.TableLayoutPanel2.Controls.Add(Me.Panel8, 1, 0)
@@ -2350,9 +2363,9 @@ Partial Class MainForm
Me.LinkLabel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline
Me.LinkLabel1.LinkColor = System.Drawing.Color.DodgerBlue
- Me.LinkLabel1.Location = New System.Drawing.Point(66, 146)
+ Me.LinkLabel1.Location = New System.Drawing.Point(64, 146)
Me.LinkLabel1.Name = "LinkLabel1"
- Me.LinkLabel1.Size = New System.Drawing.Size(187, 254)
+ Me.LinkLabel1.Size = New System.Drawing.Size(189, 254)
Me.LinkLabel1.TabIndex = 5
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "Click here to mount an image"
@@ -2362,9 +2375,9 @@ Partial Class MainForm
Me.Panel8.Controls.Add(Me.projName)
Me.Panel8.Controls.Add(Me.projNameText)
Me.Panel8.Dock = System.Windows.Forms.DockStyle.Fill
- Me.Panel8.Location = New System.Drawing.Point(66, 3)
+ Me.Panel8.Location = New System.Drawing.Point(64, 3)
Me.Panel8.Name = "Panel8"
- Me.Panel8.Size = New System.Drawing.Size(74, 23)
+ Me.Panel8.Size = New System.Drawing.Size(71, 23)
Me.Panel8.TabIndex = 8
'
'projName
@@ -2373,7 +2386,7 @@ Partial Class MainForm
Me.projName.Dock = System.Windows.Forms.DockStyle.Fill
Me.projName.Location = New System.Drawing.Point(0, 0)
Me.projName.Name = "projName"
- Me.projName.Size = New System.Drawing.Size(74, 23)
+ Me.projName.Size = New System.Drawing.Size(71, 23)
Me.projName.TabIndex = 2
Me.projName.Text = "projName"
Me.projName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -2383,7 +2396,7 @@ Partial Class MainForm
Me.projNameText.Dock = System.Windows.Forms.DockStyle.Fill
Me.projNameText.Location = New System.Drawing.Point(0, 0)
Me.projNameText.Name = "projNameText"
- Me.projNameText.Size = New System.Drawing.Size(74, 21)
+ Me.projNameText.Size = New System.Drawing.Size(71, 21)
Me.projNameText.TabIndex = 4
Me.projNameText.Text = "projName"
Me.projNameText.Visible = False
@@ -2394,9 +2407,9 @@ Partial Class MainForm
Me.Label5.AutoSize = True
Me.TableLayoutPanel2.SetColumnSpan(Me.Label5, 2)
Me.Label5.Dock = System.Windows.Forms.DockStyle.Fill
- Me.Label5.Location = New System.Drawing.Point(66, 131)
+ Me.Label5.Location = New System.Drawing.Point(64, 131)
Me.Label5.Name = "Label5"
- Me.Label5.Size = New System.Drawing.Size(187, 15)
+ Me.Label5.Size = New System.Drawing.Size(189, 15)
Me.Label5.TabIndex = 2
Me.Label5.Text = "imgStatus"
'
@@ -2406,7 +2419,7 @@ Partial Class MainForm
Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label2.Location = New System.Drawing.Point(3, 29)
Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(57, 102)
+ Me.Label2.Size = New System.Drawing.Size(55, 102)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Location:"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopRight
@@ -2416,9 +2429,9 @@ Partial Class MainForm
Me.Label3.AutoEllipsis = True
Me.TableLayoutPanel2.SetColumnSpan(Me.Label3, 2)
Me.Label3.Dock = System.Windows.Forms.DockStyle.Fill
- Me.Label3.Location = New System.Drawing.Point(66, 29)
+ Me.Label3.Location = New System.Drawing.Point(64, 29)
Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(187, 102)
+ Me.Label3.Size = New System.Drawing.Size(189, 102)
Me.Label3.TabIndex = 2
Me.Label3.Text = "projPath"
'
@@ -2429,7 +2442,7 @@ Partial Class MainForm
Me.Label4.Location = New System.Drawing.Point(3, 131)
Me.Label4.Name = "Label4"
Me.TableLayoutPanel2.SetRowSpan(Me.Label4, 2)
- Me.Label4.Size = New System.Drawing.Size(57, 269)
+ Me.Label4.Size = New System.Drawing.Size(55, 269)
Me.Label4.TabIndex = 1
Me.Label4.Text = "Images mounted?"
Me.Label4.TextAlign = System.Drawing.ContentAlignment.TopRight
@@ -2440,7 +2453,7 @@ Partial Class MainForm
Me.Panel9.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel9.Location = New System.Drawing.Point(3, 3)
Me.Panel9.Name = "Panel9"
- Me.Panel9.Size = New System.Drawing.Size(57, 23)
+ Me.Panel9.Size = New System.Drawing.Size(55, 23)
Me.Panel9.TabIndex = 9
'
'Label1
@@ -2448,7 +2461,7 @@ Partial Class MainForm
Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label1.Location = New System.Drawing.Point(0, 0)
Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(57, 23)
+ Me.Label1.Size = New System.Drawing.Size(55, 23)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Name:"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
@@ -3490,7 +3503,7 @@ Partial Class MainForm
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximumSize = New System.Drawing.Size(4096, 4096)
- Me.MinimumSize = New System.Drawing.Size(1024, 600)
+ Me.MinimumSize = New System.Drawing.Size(1280, 720)
Me.Name = "MainForm"
Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.Text = "DISMTools"
@@ -3943,4 +3956,6 @@ Partial Class MainForm
Friend WithEvents ToolStripSeparator26 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents ManageOnlineInstallationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents UpdCheckerBW As System.ComponentModel.BackgroundWorker
+ Friend WithEvents ToolStripSeparator28 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents WimScriptEditorCommand As System.Windows.Forms.ToolStripMenuItem
End Class
diff --git a/MainForm.resx b/MainForm.resx
index c4c37083..c02b357f 100644
--- a/MainForm.resx
+++ b/MainForm.resx
@@ -291,12 +291,6 @@ These options, and the program information, can be found by opening the Help men
JCQkJEQxb97/AOrW4M1DfY/XAAAAAElFTkSuQmCC
-
- 249, 17
-
-
- 356, 17
-
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAxpJREFUaEPt
@@ -611,12 +605,6 @@ These options, and the program information, can be found by opening the Help men
866, 17
-
- 132, 17
-
-
- 866, 17
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
diff --git a/MainForm.vb b/MainForm.vb
index 2a5e29d9..fe9e7bd0 100644
--- a/MainForm.vb
+++ b/MainForm.vb
@@ -205,6 +205,7 @@ Public Class MainForm
Dim WndTop As Integer
Public CompletedTasks(4) As Boolean
+ Public PendingTasks(4) As Boolean
Dim HasRemounted As Boolean
@@ -1393,30 +1394,40 @@ Public Class MainForm
CompletedTasks(2) = True
CompletedTasks(3) = True
CompletedTasks(4) = True
+ ' Set pending task
+ PendingTasks(0) = True
Case 2
CompletedTasks(0) = True
CompletedTasks(1) = False
CompletedTasks(2) = True
CompletedTasks(3) = True
CompletedTasks(4) = True
+ ' Set pending task
+ PendingTasks(1) = True
Case 3
CompletedTasks(0) = True
CompletedTasks(1) = True
CompletedTasks(2) = False
CompletedTasks(3) = True
CompletedTasks(4) = True
+ ' Set pending task
+ PendingTasks(2) = True
Case 4
CompletedTasks(0) = True
CompletedTasks(1) = True
CompletedTasks(2) = True
CompletedTasks(3) = False
CompletedTasks(4) = True
+ ' Set pending task
+ PendingTasks(3) = True
Case 5
CompletedTasks(0) = True
CompletedTasks(1) = True
CompletedTasks(2) = True
CompletedTasks(3) = True
CompletedTasks(4) = False
+ ' Set pending task
+ PendingTasks(4) = True
End Select
regJumps = True
progressMin = 20
@@ -1591,6 +1602,7 @@ Public Class MainForm
GetImageAppxPackages(True, OnlineMode)
Else
Debug.WriteLine("[IsWindows8OrHigher] Returned False")
+ PendingTasks(2) = False
End If
Case 4
If IsWindows10OrHigher(MountDir & "\Windows\system32\ntoskrnl.exe") = True Then
@@ -1613,6 +1625,7 @@ Public Class MainForm
GetImageCapabilities(True, OnlineMode)
Else
Debug.WriteLine("[IsWindows10OrHigher] Returned False")
+ PendingTasks(3) = False
End If
Case 5
Select Case Language
@@ -1631,6 +1644,27 @@ Public Class MainForm
ImgBW.ReportProgress(progressMin + progressDivs)
GetImageDrivers(True, OnlineMode)
End Select
+ If bgProcOptn <> 0 And PendingTasks.Contains(True) Then
+ Select Case Language
+ Case 0
+ Select Case My.Computer.Info.InstalledUICulture.ThreeLetterWindowsLanguageName
+ Case "ENG"
+ progressLabel = "Running pending tasks. This may take some time..."
+ Case "ESN"
+ progressLabel = "Ejecutando tareas pendientes. Esto puede llevar algo de tiempo..."
+ End Select
+ Case 1
+ progressLabel = "Running pending tasks. This may take some time..."
+ Case 2
+ progressLabel = "Ejecutando tareas pendientes. Esto puede llevar algo de tiempo..."
+ End Select
+ ImgBW.ReportProgress(99)
+ If PendingTasks(0) Then GetImagePackages(True, OnlineMode)
+ If PendingTasks(1) Then GetImageFeatures(True, OnlineMode)
+ If PendingTasks(2) Then GetImageAppxPackages(True, OnlineMode)
+ If PendingTasks(3) Then GetImageCapabilities(True, OnlineMode)
+ If PendingTasks(4) Then GetImageDrivers(True, OnlineMode)
+ End If
DeleteTempFiles()
If UseApi And session IsNot Nothing Then
DismApi.CloseSession(session)
@@ -2385,6 +2419,7 @@ Public Class MainForm
If ImgBW.CancellationPending Then
If UseApi And session IsNot Nothing Then DismApi.CloseSession(session)
CompletedTasks(0) = False
+ PendingTasks(0) = True
Exit Sub
End If
imgPackageNameList.Add(package.PackageName)
@@ -2401,6 +2436,7 @@ Public Class MainForm
DismApi.Shutdown()
End Try
CompletedTasks(0) = True
+ PendingTasks(0) = False
Exit Sub
'Try
@@ -2512,6 +2548,7 @@ Public Class MainForm
End If
Next
CompletedTasks(0) = True
+ PendingTasks(0) = False
'imgPackageNameLastEntry = UBound(imgPackageNames)
'ImgBW.ReportProgress(progressMin + progressDivs)
End Sub
@@ -2531,6 +2568,7 @@ Public Class MainForm
If ImgBW.CancellationPending Then
If UseApi And session IsNot Nothing Then DismApi.CloseSession(session)
CompletedTasks(1) = False
+ PendingTasks(1) = True
Exit Sub
End If
imgFeatureNameList.Add(feature.FeatureName)
@@ -2560,6 +2598,7 @@ Public Class MainForm
DismApi.Shutdown()
End Try
CompletedTasks(1) = True
+ PendingTasks(1) = False
Exit Sub
'Try
' If session IsNot Nothing Then
@@ -2637,6 +2676,7 @@ Public Class MainForm
End If
Next
CompletedTasks(1) = True
+ PendingTasks(1) = False
'ImgBW.ReportProgress(progressMin + progressDivs)
End Sub
@@ -2660,6 +2700,7 @@ Public Class MainForm
If ImgBW.CancellationPending Then
If UseApi And session IsNot Nothing Then DismApi.CloseSession(session)
CompletedTasks(2) = False
+ PendingTasks(2) = True
Exit Sub
End If
Select Case AppxPackage.Architecture
@@ -2740,6 +2781,7 @@ Public Class MainForm
DismApi.Shutdown()
End Try
CompletedTasks(2) = True
+ PendingTasks(2) = False
Exit Sub
End If
Debug.WriteLine("[GetImageAppxPackages] Running function...")
@@ -2752,6 +2794,7 @@ Public Class MainForm
Case 1
Debug.WriteLine("[GetImageAppxPackages] The image is Windows 8 or later, but this version of DISM does not support this command. Exiting...")
CompletedTasks(2) = False
+ PendingTasks(2) = True
Exit Sub
End Select
End Select
@@ -2777,6 +2820,7 @@ Public Class MainForm
Catch ex As Exception
Debug.WriteLine("[GetImageAppxPackages] Failed writing getter scripts. Reason: " & ex.Message)
CompletedTasks(2) = False
+ PendingTasks(2) = True
Exit Sub
End Try
Debug.WriteLine("[GetImageAppxPackages] Finished writing getter scripts. Executing them...")
@@ -2903,6 +2947,7 @@ Public Class MainForm
imgAppxResourceIds = imgAppxResourceIdList.ToArray()
End If
CompletedTasks(2) = True
+ PendingTasks(2) = False
'ImgBW.ReportProgress(progressMin + progressDivs)
End Sub
@@ -2940,6 +2985,7 @@ Public Class MainForm
If ImgBW.CancellationPending Then
If UseApi And session IsNot Nothing Then DismApi.CloseSession(session)
CompletedTasks(3) = False
+ PendingTasks(3) = True
Exit Sub
End If
imgCapabilityNameList.Add(capability.Name)
@@ -2969,6 +3015,7 @@ Public Class MainForm
DismApi.Shutdown()
End Try
CompletedTasks(3) = True
+ PendingTasks(3) = False
Exit Sub
'Try
@@ -3083,6 +3130,7 @@ Public Class MainForm
End If
Next
CompletedTasks(3) = True
+ PendingTasks(3) = False
'ImgBW.ReportProgress(progressMin + progressDivs)
End Sub
@@ -3108,6 +3156,7 @@ Public Class MainForm
If ImgBW.CancellationPending Then
If UseApi And session IsNot Nothing Then DismApi.CloseSession(session)
CompletedTasks(4) = False
+ PendingTasks(4) = True
Exit Sub
End If
imgDrvPublishedNameList.Add(driver.PublishedName)
@@ -3132,6 +3181,7 @@ Public Class MainForm
DismApi.Shutdown()
End Try
CompletedTasks(4) = True
+ PendingTasks(4) = False
Exit Sub
'Try
' If session IsNot Nothing Then
@@ -3300,6 +3350,7 @@ Public Class MainForm
End If
Next
CompletedTasks(4) = True
+ PendingTasks(4) = False
'ImgBW.ReportProgress(progressMin + progressDivs)
End Sub
@@ -3378,6 +3429,8 @@ Public Class MainForm
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndLeft=0")
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndTop=0")
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndMaximized=0")
+ DTSettingForm.RichTextBox2.AppendText(CrLf & CrLf & "[ImgDetection]" & CrLf)
+ DTSettingForm.RichTextBox2.AppendText("CPUMode=0")
File.WriteAllText(Application.StartupPath & "\settings.ini", DTSettingForm.RichTextBox2.Text, ASCII)
If File.Exists(Application.StartupPath & "\portable") Then Exit Sub
Dim KeyStr As String = "Software\DISMTools\" & If(dtBranch.Contains("preview"), "Preview", "Stable")
@@ -3445,6 +3498,9 @@ Public Class MainForm
WndKey.SetValue("WndTop", 0, RegistryValueKind.DWord)
WndKey.SetValue("WndMaximized", 0, RegistryValueKind.DWord)
WndKey.Close()
+ Dim ImgDetectionKey As RegistryKey = Key.CreateSubKey("ImgDetection")
+ ImgDetectionKey.SetValue("CPUMode", 0, RegistryValueKind.DWord)
+ ImgDetectionKey.Close()
Key.Close()
End Sub
@@ -3615,6 +3671,7 @@ Public Class MainForm
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndLeft=" & WndLeft)
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndTop=" & WndTop)
DTSettingForm.RichTextBox2.AppendText(CrLf & "WndMaximized=" & If(WindowState = FormWindowState.Maximized, "1", "0"))
+ DTSettingForm.RichTextBox2.AppendText(CrLf & CrLf & "[ImgDetection]" & CrLf)
File.WriteAllText(Application.StartupPath & "\settings.ini", DTSettingForm.RichTextBox2.Text, ASCII)
Else
' Tell settings file to use this method
@@ -3684,6 +3741,8 @@ Public Class MainForm
WndKey.SetValue("WndTop", WndTop, RegistryValueKind.DWord)
WndKey.SetValue("WndMaximized", If(WindowState = FormWindowState.Maximized, 1, 0), RegistryValueKind.DWord)
WndKey.Close()
+ Dim ImgDetectionKey As RegistryKey = Key.CreateSubKey("ImgDetection")
+ ImgDetectionKey.Close()
Key.Close()
End If
End If
@@ -5992,6 +6051,7 @@ Public Class MainForm
SaveProjectasToolStripMenuItem.Enabled = False
BGProcDetails.Hide()
Array.Clear(CompletedTasks, 0, CompletedTasks.Length)
+ PendingTasks = Enumerable.Repeat(True, PendingTasks.Length).ToArray()
If OnlineManagement Then EndOnlineManagement()
End Sub
@@ -6180,6 +6240,7 @@ Public Class MainForm
TableLayoutPanel2.SetColumnSpan(Label3, 2)
ManageOnlineInstallationToolStripMenuItem.Enabled = True
Array.Clear(CompletedTasks, 0, CompletedTasks.Length)
+ PendingTasks = Enumerable.Repeat(True, PendingTasks.Count).ToArray()
MountDir = ""
End Sub
@@ -8976,6 +9037,7 @@ Public Class MainForm
Do
If MountedImageDetectorBW.CancellationPending Or ImgBW.IsBusy Then Exit Do
DetectMountedImages(False)
+ Thread.Sleep(500)
Loop
End Sub
@@ -10084,4 +10146,17 @@ Public Class MainForm
Private Sub ViewProjectFilesInFileExplorerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ViewProjectFilesInFileExplorerToolStripMenuItem.Click
ExplorerView.PerformClick()
End Sub
+
+ Private Sub WimScriptEditorCommand_Click(sender As Object, e As EventArgs) Handles WimScriptEditorCommand.Click
+ If WimScriptEditor.Visible Then
+ If WimScriptEditor.WindowState = FormWindowState.Minimized Then
+ WimScriptEditor.WindowState = FormWindowState.Normal
+ Else
+ WimScriptEditor.BringToFront()
+ End If
+ WimScriptEditor.Focus()
+ Else
+ WimScriptEditor.Show()
+ End If
+ End Sub
End Class
\ No newline at end of file
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
index baebdfe8..30c49169 100644
--- a/My Project/AssemblyInfo.vb
+++ b/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' mediante el asterisco ('*'), como se muestra a continuación:
'
-
-
+
+
diff --git a/My Project/Resources.Designer.vb b/My Project/Resources.Designer.vb
index 0046c96d..6ea63bf3 100644
--- a/My Project/Resources.Designer.vb
+++ b/My Project/Resources.Designer.vb
@@ -1748,14 +1748,13 @@ Namespace My.Resources
'''
''' Busca una cadena traducida similar a Bugfixes
'''
- '''- Fixed an issue where the program opened the resource directory of an AppX package instead of the actual resource file if the directory only contained 1 file in it
+ '''- Fixed an issue that caused the program to make you specify a capability addition source in the online installation management mode when the "Limit Windows Update access" check box was unticked
'''
'''New features
'''
- '''- The program no longer uses the system DISM at all times if the user specified a custom DISM executable
- '''- Introduced the driver information dialog
- '''- You can now see the architecture of a driver file when adding it
- '''- To avoid creating big log files, the program no longer gets driver information if a file targets [resto de la cadena truncado]";.
+ '''- When a driver file contains more than 10 hardware targets, the program now shows the file name of the driver file for a quicker and easier reference task
+ '''- The mounted image detector has received optimizations which cause a significant CPU usage decrease
+ '''- If an ESD file is specifi [resto de la cadena truncado]";.
'''
Friend ReadOnly Property WhatsNew() As String
Get
diff --git a/My Project/Resources.resx b/My Project/Resources.resx
index bfc49324..1f9a2ac0 100644
--- a/My Project/Resources.resx
+++ b/My Project/Resources.resx
@@ -1072,14 +1072,15 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
Bugfixes
-- Fixed an issue where the program opened the resource directory of an AppX package instead of the actual resource file if the directory only contained 1 file in it
+- Fixed an issue that caused the program to make you specify a capability addition source in the online installation management mode when the "Limit Windows Update access" check box was unticked
New features
-- The program no longer uses the system DISM at all times if the user specified a custom DISM executable
-- Introduced the driver information dialog
-- You can now see the architecture of a driver file when adding it
-- To avoid creating big log files, the program no longer gets driver information if a file targets more than 10 devices
+- When a driver file contains more than 10 hardware targets, the program now shows the file name of the driver file for a quicker and easier reference task
+- The mounted image detector has received optimizations which cause a significant CPU usage decrease
+- If an ESD file is specified in the source image field of the image mount dialog, the image conversion dialog will now appear automatically
+- The image conversion dialog can now convert the index you specify, as opposed to the first index
+- If background processes were canceled prematurely and image information tasks are still pending, those tasks will now run after the task related to what has changed
..\Resources\jumpto.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
diff --git a/Panels/ConfigLists/WimScriptEditor.Designer.vb b/Panels/ConfigLists/WimScriptEditor.Designer.vb
new file mode 100644
index 00000000..02d9e719
--- /dev/null
+++ b/Panels/ConfigLists/WimScriptEditor.Designer.vb
@@ -0,0 +1,532 @@
+ _
+Partial Class WimScriptEditor
+ Inherits System.Windows.Forms.Form
+
+ 'Form reemplaza a Dispose para limpiar la lista de componentes.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Requerido por el Diseñador de Windows Forms
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento
+ 'Se puede modificar usando el Diseñador de Windows Forms.
+ 'No lo modifique con el editor de código.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(WimScriptEditor))
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Scintilla1 = New ScintillaNET.Scintilla()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.Panel2 = New System.Windows.Forms.Panel()
+ Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
+ Me.ConfigFileSettingsPanel = New System.Windows.Forms.Panel()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.ListView3 = New System.Windows.Forms.ListView()
+ Me.Button12 = New System.Windows.Forms.Button()
+ Me.Button9 = New System.Windows.Forms.Button()
+ Me.Button11 = New System.Windows.Forms.Button()
+ Me.Button10 = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.ListView2 = New System.Windows.Forms.ListView()
+ Me.Button8 = New System.Windows.Forms.Button()
+ Me.Button5 = New System.Windows.Forms.Button()
+ Me.Button7 = New System.Windows.Forms.Button()
+ Me.Button6 = New System.Windows.Forms.Button()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.ListView1 = New System.Windows.Forms.ListView()
+ Me.Button4 = New System.Windows.Forms.Button()
+ Me.Button3 = New System.Windows.Forms.Button()
+ Me.Button2 = New System.Windows.Forms.Button()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.DarkToolStrip1 = New DarkUI.Controls.DarkToolStrip()
+ Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
+ Me.FontFamilyTSCB = New System.Windows.Forms.ToolStripComboBox()
+ Me.FontSizeTSCB = New System.Windows.Forms.ToolStripComboBox()
+ Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator()
+ Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator()
+ Me.ToolStripButton6 = New System.Windows.Forms.ToolStripButton()
+ Me.Panel1.SuspendLayout()
+ Me.Panel2.SuspendLayout()
+ CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainer1.Panel1.SuspendLayout()
+ Me.SplitContainer1.Panel2.SuspendLayout()
+ Me.SplitContainer1.SuspendLayout()
+ Me.ConfigFileSettingsPanel.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.DarkToolStrip1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Label1.AutoEllipsis = True
+ Me.Label1.Location = New System.Drawing.Point(13, 13)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(983, 31)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = resources.GetString("Label1.Text")
+ '
+ 'Scintilla1
+ '
+ Me.Scintilla1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.Scintilla1.Location = New System.Drawing.Point(0, 0)
+ Me.Scintilla1.Name = "Scintilla1"
+ Me.Scintilla1.Size = New System.Drawing.Size(502, 477)
+ Me.Scintilla1.TabIndex = 1
+ '
+ 'Panel1
+ '
+ Me.Panel1.Controls.Add(Me.Label1)
+ Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
+ Me.Panel1.Location = New System.Drawing.Point(0, 0)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(1008, 56)
+ Me.Panel1.TabIndex = 2
+ '
+ 'Panel2
+ '
+ Me.Panel2.Controls.Add(Me.SplitContainer1)
+ Me.Panel2.Controls.Add(Me.DarkToolStrip1)
+ Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.Panel2.Location = New System.Drawing.Point(0, 56)
+ Me.Panel2.Name = "Panel2"
+ Me.Panel2.Size = New System.Drawing.Size(1008, 505)
+ Me.Panel2.TabIndex = 3
+ '
+ 'SplitContainer1
+ '
+ Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainer1.Location = New System.Drawing.Point(0, 28)
+ Me.SplitContainer1.Name = "SplitContainer1"
+ '
+ 'SplitContainer1.Panel1
+ '
+ Me.SplitContainer1.Panel1.Controls.Add(Me.ConfigFileSettingsPanel)
+ '
+ 'SplitContainer1.Panel2
+ '
+ Me.SplitContainer1.Panel2.Controls.Add(Me.Scintilla1)
+ Me.SplitContainer1.Size = New System.Drawing.Size(1008, 477)
+ Me.SplitContainer1.SplitterDistance = 502
+ Me.SplitContainer1.TabIndex = 2
+ '
+ 'ConfigFileSettingsPanel
+ '
+ Me.ConfigFileSettingsPanel.Controls.Add(Me.GroupBox3)
+ Me.ConfigFileSettingsPanel.Controls.Add(Me.GroupBox2)
+ Me.ConfigFileSettingsPanel.Controls.Add(Me.GroupBox1)
+ Me.ConfigFileSettingsPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.ConfigFileSettingsPanel.Location = New System.Drawing.Point(0, 0)
+ Me.ConfigFileSettingsPanel.Name = "ConfigFileSettingsPanel"
+ Me.ConfigFileSettingsPanel.Size = New System.Drawing.Size(502, 477)
+ Me.ConfigFileSettingsPanel.TabIndex = 0
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.GroupBox3.Controls.Add(Me.ListView3)
+ Me.GroupBox3.Controls.Add(Me.Button12)
+ Me.GroupBox3.Controls.Add(Me.Button9)
+ Me.GroupBox3.Controls.Add(Me.Button11)
+ Me.GroupBox3.Controls.Add(Me.Button10)
+ Me.GroupBox3.Location = New System.Drawing.Point(8, 320)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(486, 150)
+ Me.GroupBox3.TabIndex = 0
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Compression exclusion list"
+ '
+ 'ListView3
+ '
+ Me.ListView3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.ListView3.LabelEdit = True
+ Me.ListView3.Location = New System.Drawing.Point(5, 21)
+ Me.ListView3.Name = "ListView3"
+ Me.ListView3.Size = New System.Drawing.Size(394, 123)
+ Me.ListView3.TabIndex = 2
+ Me.ListView3.UseCompatibleStateImageBehavior = False
+ Me.ListView3.View = System.Windows.Forms.View.List
+ '
+ 'Button12
+ '
+ Me.Button12.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button12.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button12.Location = New System.Drawing.Point(405, 108)
+ Me.Button12.Name = "Button12"
+ Me.Button12.Size = New System.Drawing.Size(75, 23)
+ Me.Button12.TabIndex = 1
+ Me.Button12.Text = "Help"
+ Me.Button12.UseVisualStyleBackColor = True
+ '
+ 'Button9
+ '
+ Me.Button9.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button9.Location = New System.Drawing.Point(405, 50)
+ Me.Button9.Name = "Button9"
+ Me.Button9.Size = New System.Drawing.Size(75, 23)
+ Me.Button9.TabIndex = 1
+ Me.Button9.Text = "Edit..."
+ Me.Button9.UseVisualStyleBackColor = True
+ '
+ 'Button11
+ '
+ Me.Button11.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button11.Location = New System.Drawing.Point(405, 21)
+ Me.Button11.Name = "Button11"
+ Me.Button11.Size = New System.Drawing.Size(75, 23)
+ Me.Button11.TabIndex = 1
+ Me.Button11.Text = "Add..."
+ Me.Button11.UseVisualStyleBackColor = True
+ '
+ 'Button10
+ '
+ Me.Button10.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button10.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button10.Location = New System.Drawing.Point(405, 79)
+ Me.Button10.Name = "Button10"
+ Me.Button10.Size = New System.Drawing.Size(75, 23)
+ Me.Button10.TabIndex = 1
+ Me.Button10.Text = "Remove"
+ Me.Button10.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.GroupBox2.Controls.Add(Me.ListView2)
+ Me.GroupBox2.Controls.Add(Me.Button8)
+ Me.GroupBox2.Controls.Add(Me.Button5)
+ Me.GroupBox2.Controls.Add(Me.Button7)
+ Me.GroupBox2.Controls.Add(Me.Button6)
+ Me.GroupBox2.Location = New System.Drawing.Point(8, 164)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(486, 150)
+ Me.GroupBox2.TabIndex = 0
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Exclusion exception list"
+ '
+ 'ListView2
+ '
+ Me.ListView2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.ListView2.LabelEdit = True
+ Me.ListView2.Location = New System.Drawing.Point(5, 21)
+ Me.ListView2.Name = "ListView2"
+ Me.ListView2.Size = New System.Drawing.Size(394, 123)
+ Me.ListView2.TabIndex = 2
+ Me.ListView2.UseCompatibleStateImageBehavior = False
+ Me.ListView2.View = System.Windows.Forms.View.List
+ '
+ 'Button8
+ '
+ Me.Button8.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button8.Location = New System.Drawing.Point(405, 108)
+ Me.Button8.Name = "Button8"
+ Me.Button8.Size = New System.Drawing.Size(75, 23)
+ Me.Button8.TabIndex = 1
+ Me.Button8.Text = "Help"
+ Me.Button8.UseVisualStyleBackColor = True
+ '
+ 'Button5
+ '
+ Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button5.Location = New System.Drawing.Point(405, 21)
+ Me.Button5.Name = "Button5"
+ Me.Button5.Size = New System.Drawing.Size(75, 23)
+ Me.Button5.TabIndex = 1
+ Me.Button5.Text = "Add..."
+ Me.Button5.UseVisualStyleBackColor = True
+ '
+ 'Button7
+ '
+ Me.Button7.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button7.Location = New System.Drawing.Point(405, 79)
+ Me.Button7.Name = "Button7"
+ Me.Button7.Size = New System.Drawing.Size(75, 23)
+ Me.Button7.TabIndex = 1
+ Me.Button7.Text = "Remove"
+ Me.Button7.UseVisualStyleBackColor = True
+ '
+ 'Button6
+ '
+ Me.Button6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button6.Location = New System.Drawing.Point(405, 50)
+ Me.Button6.Name = "Button6"
+ Me.Button6.Size = New System.Drawing.Size(75, 23)
+ Me.Button6.TabIndex = 1
+ Me.Button6.Text = "Edit..."
+ Me.Button6.UseVisualStyleBackColor = True
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.GroupBox1.Controls.Add(Me.ListView1)
+ Me.GroupBox1.Controls.Add(Me.Button4)
+ Me.GroupBox1.Controls.Add(Me.Button3)
+ Me.GroupBox1.Controls.Add(Me.Button2)
+ Me.GroupBox1.Controls.Add(Me.Button1)
+ Me.GroupBox1.Location = New System.Drawing.Point(8, 8)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(486, 150)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Exclusion list"
+ '
+ 'ListView1
+ '
+ Me.ListView1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.ListView1.LabelEdit = True
+ Me.ListView1.Location = New System.Drawing.Point(5, 21)
+ Me.ListView1.Name = "ListView1"
+ Me.ListView1.Size = New System.Drawing.Size(394, 123)
+ Me.ListView1.TabIndex = 2
+ Me.ListView1.UseCompatibleStateImageBehavior = False
+ Me.ListView1.View = System.Windows.Forms.View.List
+ '
+ 'Button4
+ '
+ Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button4.Location = New System.Drawing.Point(405, 108)
+ Me.Button4.Name = "Button4"
+ Me.Button4.Size = New System.Drawing.Size(75, 23)
+ Me.Button4.TabIndex = 1
+ Me.Button4.Text = "Help"
+ Me.Button4.UseVisualStyleBackColor = True
+ '
+ 'Button3
+ '
+ Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button3.Location = New System.Drawing.Point(405, 79)
+ Me.Button3.Name = "Button3"
+ Me.Button3.Size = New System.Drawing.Size(75, 23)
+ Me.Button3.TabIndex = 1
+ Me.Button3.Text = "Remove"
+ Me.Button3.UseVisualStyleBackColor = True
+ '
+ 'Button2
+ '
+ Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button2.Location = New System.Drawing.Point(405, 50)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(75, 23)
+ Me.Button2.TabIndex = 1
+ Me.Button2.Text = "Edit..."
+ Me.Button2.UseVisualStyleBackColor = True
+ '
+ 'Button1
+ '
+ Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button1.Location = New System.Drawing.Point(405, 21)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(75, 23)
+ Me.Button1.TabIndex = 1
+ Me.Button1.Text = "Add..."
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'DarkToolStrip1
+ '
+ Me.DarkToolStrip1.AutoSize = False
+ Me.DarkToolStrip1.BackColor = System.Drawing.Color.FromArgb(CType(CType(31, Byte), Integer), CType(CType(31, Byte), Integer), CType(CType(31, Byte), Integer))
+ Me.DarkToolStrip1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.DarkToolStrip1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.DarkToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
+ Me.DarkToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton2, Me.ToolStripButton3, Me.ToolStripButton4, Me.ToolStripSeparator4, Me.FontFamilyTSCB, Me.FontSizeTSCB, Me.ToolStripSeparator5, Me.ToolStripButton5, Me.ToolStripSeparator6, Me.ToolStripButton6})
+ Me.DarkToolStrip1.Location = New System.Drawing.Point(0, 0)
+ Me.DarkToolStrip1.Name = "DarkToolStrip1"
+ Me.DarkToolStrip1.Padding = New System.Windows.Forms.Padding(5, 0, 1, 0)
+ Me.DarkToolStrip1.Size = New System.Drawing.Size(1008, 28)
+ Me.DarkToolStrip1.TabIndex = 4
+ Me.DarkToolStrip1.Text = "DarkToolStrip1"
+ '
+ 'ToolStripButton2
+ '
+ Me.ToolStripButton2.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.ToolStripButton2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripButton2.Image = Global.DISMTools.My.Resources.Resources.newfile_dark
+ Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.ToolStripButton2.Name = "ToolStripButton2"
+ Me.ToolStripButton2.Size = New System.Drawing.Size(23, 25)
+ Me.ToolStripButton2.Text = "New"
+ '
+ 'ToolStripButton3
+ '
+ Me.ToolStripButton3.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.ToolStripButton3.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripButton3.Image = Global.DISMTools.My.Resources.Resources.openfile_dark
+ Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.ToolStripButton3.Name = "ToolStripButton3"
+ Me.ToolStripButton3.Size = New System.Drawing.Size(23, 25)
+ Me.ToolStripButton3.Text = "Open..."
+ '
+ 'ToolStripButton4
+ '
+ Me.ToolStripButton4.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.ToolStripButton4.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripButton4.Image = Global.DISMTools.My.Resources.Resources.save_glyph_dark
+ Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.ToolStripButton4.Name = "ToolStripButton4"
+ Me.ToolStripButton4.Size = New System.Drawing.Size(23, 25)
+ Me.ToolStripButton4.Text = "Save as..."
+ '
+ 'ToolStripSeparator4
+ '
+ Me.ToolStripSeparator4.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripSeparator4.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripSeparator4.Margin = New System.Windows.Forms.Padding(0, 0, 2, 0)
+ Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
+ Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 28)
+ '
+ 'FontFamilyTSCB
+ '
+ Me.FontFamilyTSCB.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.FontFamilyTSCB.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FontFamilyTSCB.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.FontFamilyTSCB.Name = "FontFamilyTSCB"
+ Me.FontFamilyTSCB.Size = New System.Drawing.Size(121, 28)
+ '
+ 'FontSizeTSCB
+ '
+ Me.FontSizeTSCB.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.FontSizeTSCB.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FontSizeTSCB.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.FontSizeTSCB.Items.AddRange(New Object() {"8", "9", "10", "11", "12", "14", "16", "18", "20", "24", "28", "36", "48", "72", "96"})
+ Me.FontSizeTSCB.Name = "FontSizeTSCB"
+ Me.FontSizeTSCB.Size = New System.Drawing.Size(75, 28)
+ Me.FontSizeTSCB.Text = "10"
+ '
+ 'ToolStripSeparator5
+ '
+ Me.ToolStripSeparator5.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripSeparator5.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripSeparator5.Margin = New System.Windows.Forms.Padding(0, 0, 2, 0)
+ Me.ToolStripSeparator5.Name = "ToolStripSeparator5"
+ Me.ToolStripSeparator5.Size = New System.Drawing.Size(6, 28)
+ '
+ 'ToolStripButton5
+ '
+ Me.ToolStripButton5.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.ToolStripButton5.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripButton5.Image = Global.DISMTools.My.Resources.Resources.wordwrap_dark
+ Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.ToolStripButton5.Name = "ToolStripButton5"
+ Me.ToolStripButton5.Size = New System.Drawing.Size(23, 25)
+ Me.ToolStripButton5.Text = "Word wrap"
+ '
+ 'ToolStripSeparator6
+ '
+ Me.ToolStripSeparator6.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripSeparator6.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripSeparator6.Margin = New System.Windows.Forms.Padding(0, 0, 2, 0)
+ Me.ToolStripSeparator6.Name = "ToolStripSeparator6"
+ Me.ToolStripSeparator6.Size = New System.Drawing.Size(6, 28)
+ '
+ 'ToolStripButton6
+ '
+ Me.ToolStripButton6.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
+ Me.ToolStripButton6.BackColor = System.Drawing.Color.FromArgb(CType(CType(60, Byte), Integer), CType(CType(63, Byte), Integer), CType(CType(65, Byte), Integer))
+ Me.ToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.ToolStripButton6.ForeColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer))
+ Me.ToolStripButton6.Image = Global.DISMTools.My.Resources.Resources.help_glyph_dark
+ Me.ToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.ToolStripButton6.Name = "ToolStripButton6"
+ Me.ToolStripButton6.Size = New System.Drawing.Size(23, 25)
+ Me.ToolStripButton6.Text = "Help"
+ '
+ 'WimScriptEditor
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(1008, 561)
+ Me.Controls.Add(Me.Panel2)
+ Me.Controls.Add(Me.Panel1)
+ Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.MinimumSize = New System.Drawing.Size(1024, 600)
+ Me.Name = "WimScriptEditor"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "DISM Configuration List Editor"
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel2.ResumeLayout(False)
+ Me.SplitContainer1.Panel1.ResumeLayout(False)
+ Me.SplitContainer1.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer1.ResumeLayout(False)
+ Me.ConfigFileSettingsPanel.ResumeLayout(False)
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox1.ResumeLayout(False)
+ Me.DarkToolStrip1.ResumeLayout(False)
+ Me.DarkToolStrip1.PerformLayout()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents Scintilla1 As ScintillaNET.Scintilla
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Friend WithEvents Panel2 As System.Windows.Forms.Panel
+ Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer
+ Friend WithEvents ConfigFileSettingsPanel As System.Windows.Forms.Panel
+ Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
+ Friend WithEvents ListView3 As System.Windows.Forms.ListView
+ Friend WithEvents Button12 As System.Windows.Forms.Button
+ Friend WithEvents Button9 As System.Windows.Forms.Button
+ Friend WithEvents Button11 As System.Windows.Forms.Button
+ Friend WithEvents Button10 As System.Windows.Forms.Button
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents ListView2 As System.Windows.Forms.ListView
+ Friend WithEvents Button8 As System.Windows.Forms.Button
+ Friend WithEvents Button5 As System.Windows.Forms.Button
+ Friend WithEvents Button7 As System.Windows.Forms.Button
+ Friend WithEvents Button6 As System.Windows.Forms.Button
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents ListView1 As System.Windows.Forms.ListView
+ Friend WithEvents Button4 As System.Windows.Forms.Button
+ Friend WithEvents Button3 As System.Windows.Forms.Button
+ Friend WithEvents Button2 As System.Windows.Forms.Button
+ Friend WithEvents Button1 As System.Windows.Forms.Button
+ Friend WithEvents DarkToolStrip1 As DarkUI.Controls.DarkToolStrip
+ Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents FontFamilyTSCB As System.Windows.Forms.ToolStripComboBox
+ Friend WithEvents FontSizeTSCB As System.Windows.Forms.ToolStripComboBox
+ Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents ToolStripButton6 As System.Windows.Forms.ToolStripButton
+End Class
diff --git a/Panels/ConfigLists/WimScriptEditor.resx b/Panels/ConfigLists/WimScriptEditor.resx
new file mode 100644
index 00000000..e5aacbfa
--- /dev/null
+++ b/Panels/ConfigLists/WimScriptEditor.resx
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ The Configuration List Editor allows you to exclude files and/or folders during actions that let you specify these files, like capturing an image. You can either specify the settings from the graphical interface, or you can create the configuration file manually. When you've finished, click the Save icon.
+
+
+ 17, 17
+
+
+
+
+ AAABAAMAEBAAAAEAIABoBAAANgAAACAgAAABACAAqBAAAJ4EAAAwMAAAAQAgAKglAABGFQAAKAAAABAA
+ AAAgAAAAAQAgAAAAAAAwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyqqI/s6qh5rOq
+ ocmzqqEbAAAAAAAAAAAAAAAAAAAAADAgrk8xIK/mMCCvyCsrqgwAAAAAAAAAAAAAAAAAAAAAs6mhnqqB
+ U/+hfVf/s6qh2rOqoRsAAAAAAAAAADIfsFEyH6/7MSCv/zEgr/8yILBHAAAAAAAAAAAAAAAAAAAAALSp
+ oUSxoY/7saKR/7Oqof+zqqHas6qhGzAgr1AxH6/7MSCv/zEgr/8yIa/bMyKqDwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAtKmhXLOqofyzqqH/s6qh/4p/pt8xIa/5MSCv/zEgr/8xIa7jLh+yIQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAC0qaFcs6qh/I2Apv8zIq//MSCv/zEgr/8yIK/cLxyzGwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGYqGpqWcP/RDOw/zEgr/8+Lq36XVOsNAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACooZomkYap82hYw/9YSK//pZuj/6uhmtuhlo9JoZiPOYCA
+ gAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuqJomq6Oa5amhmsSJe7WRqqCl/KSdlP+knJLrpJyU/6Ka
+ kv+gmJDTnpWNHQAAAAAAAAAAAAAAAAAAAACxo50nraWc5aqjmsSxnZ0NAAAAALCnoVGmnZXZqaGY/6ef
+ lv+knJT/opqS/6CYkLMAAAAAAAAAAAAAAACxqZ5cr6ad7a2lm7uqqo4JAAAAAAAAAAAAAAAArqad+Kyj
+ m/+poZiuppmZFKSdlHCimpLuAAAAAAAAAACzqqE5saif/6+mndiioqILAAAAAAAAAAAAAAAAAAAAALGo
+ n9eupp3/rKKbawAAAAAAAAAApJqUTAAAAAAAAAAAs6ugebGnnqmxo50nAAAAAAAAAAAAAAAAAAAAAAAA
+ AAC0q6JSsaif/K6mneasppkoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAALOqojyxqKCTraadcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAOfnAADDxwAA4YcAAPAP
+ AAD4HwAA/D8AAPwfAAD4AwAA84EAAOeNAADPnwAA388AAP/vAAD//wAAKAAAACAAAABAAAAAAQAgAAAA
+ AACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACzqqIes6qgsrOqofazqqHTs6miSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ gAf+H8AD/D/A4/h/wfPw/8H74f/B/+H/4P/n//B////4P////////////////ygAAAAwAAAAYAAAAAEA
+ IAAAAAAAUCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 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
+ r/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEfr8s5HKoJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALitoxmzqqHXs6qh/7Oq
+ of+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqHIu6qZDwAAAAAzIqoPMCCvyDEg
+ r/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCw1zMfrRkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAC4raMZs6qh17Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qhyHJh
+ nh0xILDHMSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xILDXMx+tGQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAuK2jGbOqodezqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oq
+ of+zqqH/q6Ki/0g5rfMxIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEg
+ sNczH60ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALitoxmzqqHXs6qh/7Oqof+zqqH/s6qh/7Oq
+ of+zqqH/s6qh/7Oqof+roqL/TT6s/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEgr/8xIK//MSCv/zEg
+ r/8xIK//MSCw1zMfrRkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4raMZs6qh17Oq
+ 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
+ nf+tpZz3rqOcSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyqqIhsqqgvLGp
+ oP+xqJ//sKee/6+mnv+upp3/raWc+K6im0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAALOqojyyqZ+Ysaif1bCnnumvpp7srqad1a6lnVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/g///g/8AAP8B
+ //8B/wAA/wD//gH/AAD+AH/8AP8AAP4AP/gA/wAA/gAf8AD/AAD/AA/gAf8AAP8AB8AB/wAA/4ADgAP/
+ AAD/wAEAB/8AAP/gAAAP/wAA//AAAB//AAD/+AAAP/8AAP/8AAB//wAA//4AAP//AAD//wAB//8AAP//
+ gAP//wAA///AAf//AAD//+AA//8AAP//wAB//wAA//+AAAH/AAD//wAAAH8AAP/+DgAAPwAA//wfAAAf
+ AAD/+D+AAA8AAP/wf8AADwAA/+D/4AAHAAD/wf/gDgcAAP8D/+AfhwAA/gf/4D/HAAD8D//gP+cAAPgP
+ /+A//wAA+B//8B//AADwP//wH/8AAPB///gP/wAA+////Af/AAD////+A/8AAP////+D/wAA////////
+ AAD///////8AAP///////wAA////////AAA=
+
+
+
\ No newline at end of file
diff --git a/Panels/ConfigLists/WimScriptEditor.vb b/Panels/ConfigLists/WimScriptEditor.vb
new file mode 100644
index 00000000..4beeda72
--- /dev/null
+++ b/Panels/ConfigLists/WimScriptEditor.vb
@@ -0,0 +1,234 @@
+Imports System.IO
+Imports Microsoft.VisualBasic.ControlChars
+Imports ScintillaNET
+
+Public Class WimScriptEditor
+
+ Private Sub WimScriptEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ If MainForm.BackColor = Color.FromArgb(48, 48, 48) Then
+ BackColor = Color.FromArgb(31, 31, 31)
+ ForeColor = Color.White
+ ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
+ BackColor = Color.FromArgb(238, 238, 242)
+ ForeColor = Color.Black
+ End If
+ ListView1.BackColor = BackColor
+ ListView1.ForeColor = ForeColor
+ ListView2.BackColor = BackColor
+ ListView2.ForeColor = ForeColor
+ ListView3.BackColor = BackColor
+ ListView3.ForeColor = ForeColor
+ GroupBox1.ForeColor = ForeColor
+ GroupBox2.ForeColor = ForeColor
+ GroupBox3.ForeColor = ForeColor
+ Dim handle As IntPtr = MainForm.GetWindowHandle(Me)
+ If MainForm.IsWindowsVersionOrGreater(10, 0, 18362) Then MainForm.EnableDarkTitleBar(handle, MainForm.BackColor = Color.FromArgb(48, 48, 48))
+ ' Fill in font combinations
+ FontFamilyTSCB.Items.Clear()
+ For Each fntFamily As FontFamily In FontFamily.Families
+ FontFamilyTSCB.Items.Add(fntFamily.Name)
+ Next
+ InitScintilla("Courier New", 10)
+ FontFamilyTSCB.SelectedItem = "Courier New"
+ End Sub
+
+ '''
+ ''' Initializes the Scintilla editor for WimScript.ini editing
+ '''
+ ''' The name of the font used in the Scintilla editor
+ ''' The size of the font used in the Scintilla editor
+ '''
+ Sub InitScintilla(fntName As String, fntSize As Integer)
+ ' Initialize Scintilla editor
+ Scintilla1.StyleResetDefault()
+ ' Use VS's selection color, as I find it the most natural
+ If MainForm.BackColor = Color.FromArgb(48, 48, 48) Then
+ Scintilla1.SetSelectionBackColor(True, Color.FromArgb(38, 79, 120))
+ ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
+ Scintilla1.SetSelectionBackColor(True, Color.FromArgb(153, 201, 239))
+ End If
+ Scintilla1.Styles(Style.Default).Font = fntName
+ Scintilla1.Styles(Style.Default).Size = fntSize
+
+ ' Set background and foreground colors (from Visual Studio)
+ If MainForm.BackColor = Color.FromArgb(48, 48, 48) Then
+ Scintilla1.Styles(Style.Default).BackColor = Color.FromArgb(30, 30, 30)
+ Scintilla1.Styles(Style.Default).ForeColor = Color.White
+ Scintilla1.Styles(Style.LineNumber).BackColor = Color.FromArgb(30, 30, 30)
+ ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
+ Scintilla1.Styles(Style.Default).BackColor = Color.White
+ Scintilla1.Styles(Style.Default).ForeColor = Color.Black
+ Scintilla1.Styles(Style.LineNumber).BackColor = Color.White
+ End If
+ Scintilla1.StyleClearAll()
+
+ ' Use Notepad++'s lexer style colors
+ If MainForm.BackColor = Color.FromArgb(48, 48, 48) Then
+ Scintilla1.Styles(Style.Properties.Default).ForeColor = Color.FromArgb(220, 220, 204)
+ Scintilla1.Styles(Style.Properties.Comment).ForeColor = Color.FromArgb(127, 159, 127)
+ Scintilla1.Styles(Style.Properties.Section).ForeColor = Color.FromArgb(140, 208, 211)
+ Scintilla1.Styles(Style.Properties.Assignment).ForeColor = Color.FromArgb(159, 157, 109)
+ Scintilla1.Styles(Style.Properties.DefVal).ForeColor = Color.FromArgb(255, 207, 175)
+ Scintilla1.Styles(Style.Properties.Key).ForeColor = Color.FromArgb(223, 196, 125)
+ ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
+ Scintilla1.Styles(Style.Properties.Default).ForeColor = Color.Black
+ Scintilla1.Styles(Style.Properties.Comment).ForeColor = Color.FromArgb(0, 128, 0)
+ Scintilla1.Styles(Style.Properties.Section).ForeColor = Color.FromArgb(128, 0, 255)
+ Scintilla1.Styles(Style.Properties.Assignment).ForeColor = Color.Red
+ Scintilla1.Styles(Style.Properties.DefVal).ForeColor = Color.Red
+ Scintilla1.Styles(Style.Properties.Key).ForeColor = Color.Blue
+ End If
+
+
+ ' Set lexer
+ Scintilla1.Lexer = Lexer.Properties
+
+ ' Set line number margin properties
+ If MainForm.BackColor = Color.FromArgb(48, 48, 48) Then
+ Scintilla1.Styles(Style.LineNumber).BackColor = Color.FromArgb(30, 30, 30)
+ ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
+ Scintilla1.Styles(Style.LineNumber).BackColor = Color.White
+ End If
+ Scintilla1.Styles(Style.LineNumber).ForeColor = Color.FromArgb(165, 165, 165)
+ Dim Margin = Scintilla1.Margins(1)
+ Margin.Width = 30
+ Margin.Type = MarginType.Number
+ Margin.Sensitive = True
+ Margin.Mask = 0
+
+ ' Initialize code folding
+ Scintilla1.SetFoldMarginColor(True, Scintilla1.Styles(Style.Default).BackColor)
+ Scintilla1.SetFoldMarginColor(True, Scintilla1.Styles(Style.Default).BackColor)
+ Scintilla1.SetProperty("fold", "1")
+ Scintilla1.SetProperty("fold.compact", "1")
+
+ ' Configure bookmark margins
+ Dim Bookmarks = Scintilla1.Margins(2)
+ Bookmarks.Width = 20
+ Bookmarks.Sensitive = True
+ Bookmarks.Type = MarginType.Symbol
+ Bookmarks.Mask = (1 << 2)
+ Dim Marker = Scintilla1.Markers(2)
+ Marker.Symbol = MarkerSymbol.Circle
+ Marker.SetBackColor(Color.FromArgb(255, 0, 59))
+ Marker.SetForeColor(Color.Black)
+ Marker.SetAlpha(100)
+
+ ' Set editor caret settings
+ Scintilla1.CaretForeColor = ForeColor
+
+
+ ' Configure code folding margins
+ Scintilla1.Margins(3).Type = MarginType.Symbol
+ Scintilla1.Margins(3).Mask = Marker.MaskFolders
+ Scintilla1.Margins(3).Sensitive = True
+ Scintilla1.Margins(3).Width = 1
+
+ ' Set colors for all folding markers
+ For x = 25 To 31
+ Scintilla1.Markers(x).SetForeColor(Scintilla1.Styles(Style.Default).BackColor)
+ Scintilla1.Markers(x).SetBackColor(Scintilla1.Styles(Style.Default).ForeColor)
+ Next
+
+ ' Folding marker configuration
+ Scintilla1.Markers(Marker.Folder).Symbol = MarkerSymbol.BoxPlus
+ Scintilla1.Markers(Marker.FolderOpen).Symbol = MarkerSymbol.BoxMinus
+ Scintilla1.Markers(Marker.FolderEnd).Symbol = MarkerSymbol.BoxPlusConnected
+ Scintilla1.Markers(Marker.FolderMidTail).Symbol = MarkerSymbol.TCorner
+ Scintilla1.Markers(Marker.FolderOpenMid).Symbol = MarkerSymbol.BoxMinusConnected
+ Scintilla1.Markers(Marker.FolderSub).Symbol = MarkerSymbol.VLine
+ Scintilla1.Markers(Marker.FolderTail).Symbol = MarkerSymbol.LCorner
+
+ ' Enable folding
+ Scintilla1.AutomaticFold = (AutomaticFold.Show Or AutomaticFold.Click Or AutomaticFold.Show)
+ End Sub
+
+ Private Sub Scintilla1_TextChanged(sender As Object, e As EventArgs) Handles Scintilla1.TextChanged
+ ' Clear list views for updated listings
+ ListView1.Items.Clear()
+ ListView2.Items.Clear()
+ ListView3.Items.Clear()
+
+ Dim nextLine As Integer = 0
+
+ ' Go through the configuration file to fill in the entries
+ For Each TextLine In Scintilla1.Lines
+ nextLine = 0
+ If TextLine.Text.Contains("[ExclusionList]") Then
+ While Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[CompressionExclusionList]") Or Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionException]")
+ If (TextLine.Index + 1) + nextLine >= Scintilla1.Lines.Count Then Exit While
+ If Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[CompressionExclusionList]") Or Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionException]") Then Exit While
+ nextLine += 1
+ If String.IsNullOrWhiteSpace(Scintilla1.Lines(TextLine.Index + nextLine).Text) Then Continue While
+ ListView1.Items.Add(Scintilla1.Lines(TextLine.Index + nextLine).Text)
+ End While
+ ElseIf TextLine.Text.Contains("[ExclusionException]") Then
+ While Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[CompressionExclusionList]") Or Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionList]")
+ If (TextLine.Index + 1) + nextLine >= Scintilla1.Lines.Count Then Exit While
+ If Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[CompressionExclusionList]") Or Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionList]") Then Exit While
+ nextLine += 1
+ If String.IsNullOrWhiteSpace(Scintilla1.Lines(TextLine.Index + nextLine).Text) Then Continue While
+ ListView2.Items.Add(Scintilla1.Lines(TextLine.Index + nextLine).Text)
+ End While
+ ElseIf TextLine.Text.Contains("[CompressionExclusionList]") Then
+ While Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionList]") Or Not Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionException]")
+ If (TextLine.Index + 1) + nextLine >= Scintilla1.Lines.Count Then Exit While
+ If Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionList]") Or Scintilla1.Lines(TextLine.Index + nextLine).Text.Contains("[ExclusionException]") Then Exit While
+ nextLine += 1
+ If String.IsNullOrWhiteSpace(Scintilla1.Lines(TextLine.Index + nextLine).Text) Then Continue While
+ ListView3.Items.Add(Scintilla1.Lines(TextLine.Index + nextLine).Text)
+ End While
+ End If
+ Next
+
+ ' Remove unnecessary ListView items
+ For Each LVItem As ListViewItem In ListView1.Items
+ If LVItem.Text.Contains("[ExclusionList]") Or _
+ LVItem.Text.Contains("[CompressionExclusionList]") Or _
+ LVItem.Text.Contains("[ExclusionException]") Then
+ ListView1.Items.Remove(LVItem)
+ End If
+ Next
+ For Each LVItem As ListViewItem In ListView2.Items
+ If LVItem.Text.Contains("[ExclusionList]") Or _
+ LVItem.Text.Contains("[CompressionExclusionList]") Or _
+ LVItem.Text.Contains("[ExclusionException]") Then
+ ListView2.Items.Remove(LVItem)
+ End If
+ Next
+ For Each LVItem As ListViewItem In ListView3.Items
+ If LVItem.Text.Contains("[ExclusionList]") Or _
+ LVItem.Text.Contains("[CompressionExclusionList]") Or _
+ LVItem.Text.Contains("[ExclusionException]") Then
+ ListView3.Items.Remove(LVItem)
+ End If
+ Next
+ End Sub
+
+ Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
+ Text = "New configuration list - DISM Configuration List Editor"
+
+ ' Generate a default configuration list, as shown in the DISM configuration list documentation.
+ ' Source: https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-configuration-list-and-wimscriptini-files-winnext?view=windows-11
+
+ Scintilla1.Text = CrLf & _
+ "[ExclusionList]" & CrLf & _
+ "\$ntfs.log" & CrLf & _
+ "\hiberfil.sys" & CrLf & _
+ "\pagefile.sys" & CrLf & _
+ "\swapfile.sys" & CrLf & _
+ "\System Volume Information" & CrLf & _
+ "\RECYCLER" & CrLf & _
+ "\Windows\CSC" & CrLf & CrLf & _
+ "[CompressionExclusionList]" & CrLf & _
+ "*.mp3" & CrLf & _
+ "*.zip" & CrLf & _
+ "*.cab" & CrLf & _
+ "\WINDOWS\inf\*.pnf"
+ End Sub
+
+ Private Sub FontChange(sender As Object, e As EventArgs) Handles FontFamilyTSCB.SelectedIndexChanged, FontSizeTSCB.SelectedIndexChanged
+ ' Change Scintilla editor font
+ InitScintilla(FontFamilyTSCB.SelectedItem, FontSizeTSCB.SelectedItem)
+ End Sub
+End Class
\ No newline at end of file
diff --git a/Panels/DoWork/ProgressPanel.vb b/Panels/DoWork/ProgressPanel.vb
index e3f33347..ea45d8ee 100644
--- a/Panels/DoWork/ProgressPanel.vb
+++ b/Panels/DoWork/ProgressPanel.vb
@@ -429,6 +429,7 @@ Public Class ProgressPanel
' OperationNum: 991
Public imgSrcFile As String ' Source image file for conversion
+ Public imgConversionIndex As Integer ' Index to convert to the target image format
Public imgDestFile As String ' Destination image file for conversion
Public imgConversionMode As Integer ' 0: WIM -> ESD; 1: WIM <- ESD
@@ -3150,7 +3151,8 @@ Public Class ProgressPanel
ElseIf drvInfoCollection.Count > 10 Then
LogView.AppendText(CrLf & CrLf & _
"This driver file targets more than 10 devices. To avoid creating log files large in size, we will not show information of this driver package, and will proceed anyway." & CrLf & _
- "If you want to get information of this driver package, go to Commands > Drivers > Get driver information > I want to get information about driver files, and specify this driver file.")
+ "If you want to get information of this driver package, go to Commands > Drivers > Get driver information > I want to get information about driver files, and specify this driver file:" & CrLf & CrLf & _
+ " " & Path.GetFileName(drvAdditionPkgs(x)))
Else
LogView.AppendText(CrLf & CrLf & _
"We couldn't get information of this driver package. Proceeding anyway...")
@@ -3406,8 +3408,9 @@ Public Class ProgressPanel
"Options:" & CrLf)
' Gather options
- LogView.AppendText("- Source image file: " & imgSrcFile & CrLf &
- "- Destination image file: " & imgDestFile & CrLf)
+ LogView.AppendText("- Source image file: " & imgSrcFile & CrLf & _
+ "- Index to convert: " & imgConversionIndex & CrLf & _
+ "- Destination image file: " & imgDestFile & CrLf)
If imgConversionMode = 0 Then
LogView.AppendText("- Image conversion mode: Windows Imaging (WIM) --> Electronic Software Distribution (ESD)")
ElseIf imgConversionMode = 1 Then
@@ -3422,10 +3425,10 @@ Public Class ProgressPanel
Case 1
' Not available
Case Is >= 2
- CommandArgs = "/logpath=" & Quote & Application.StartupPath & "\logs\" & GetCurrentDateAndTime(Now) & Quote & " /english /export-image /sourceimagefile=" & Quote & imgSrcFile & Quote & " /sourceindex=1 /destinationimagefile=" & Quote & imgDestFile & Quote
+ CommandArgs = "/logpath=" & Quote & Application.StartupPath & "\logs\" & GetCurrentDateAndTime(Now) & Quote & " /english /export-image /sourceimagefile=" & Quote & imgSrcFile & Quote & " /sourceindex=" & imgConversionIndex & " /destinationimagefile=" & Quote & imgDestFile & Quote
End Select
Case 10
- CommandArgs = "/logpath=" & Quote & Application.StartupPath & "\logs\" & GetCurrentDateAndTime(Now) & Quote & " /english /export-image /sourceimagefile=" & Quote & imgSrcFile & Quote & " /sourceindex=1 /destinationimagefile=" & Quote & imgDestFile & Quote
+ CommandArgs = "/logpath=" & Quote & Application.StartupPath & "\logs\" & GetCurrentDateAndTime(Now) & Quote & " /english /export-image /sourceimagefile=" & Quote & imgSrcFile & Quote & " /sourceindex=" & imgConversionIndex & " /destinationimagefile=" & Quote & imgDestFile & Quote
End Select
If imgConversionMode = 0 Then
CommandArgs &= " /compress:recovery"
diff --git a/Panels/Img_Ops/Capabilities/AddCapabilities.vb b/Panels/Img_Ops/Capabilities/AddCapabilities.vb
index 5c5dd8c7..5df43f04 100644
--- a/Panels/Img_Ops/Capabilities/AddCapabilities.vb
+++ b/Panels/Img_Ops/Capabilities/AddCapabilities.vb
@@ -22,6 +22,7 @@ Public Class AddCapabilities
ProgressPanel.capAdditionIds(x) = capIds(x)
Next
For x = 0 To capCount - 1
+ If MainForm.OnlineManagement And Not CheckBox2.Checked Then Exit For
If ListView1.CheckedItems(x).SubItems(1).Text = "Not present" Then
If CheckBox1.Checked And RichTextBox1.Text = "" Or Not Directory.Exists(RichTextBox1.Text) Then
Select Case MainForm.Language
diff --git a/Panels/Img_Ops/Conversion/ImgWim2Esd.Designer.vb b/Panels/Img_Ops/Conversion/ImgWim2Esd.Designer.vb
index 696698a1..ebb847e4 100644
--- a/Panels/Img_Ops/Conversion/ImgWim2Esd.Designer.vb
+++ b/Panels/Img_Ops/Conversion/ImgWim2Esd.Designer.vb
@@ -28,26 +28,33 @@ Partial Class ImgWim2Esd
Me.Win10Title = New System.Windows.Forms.Panel()
Me.Label1 = New System.Windows.Forms.Label()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
- Me.GroupBox2 = New System.Windows.Forms.GroupBox()
- Me.GroupBox3 = New System.Windows.Forms.GroupBox()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
- Me.Label3 = New System.Windows.Forms.Label()
+ Me.TextBox1 = New System.Windows.Forms.TextBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.Button2 = New System.Windows.Forms.Button()
Me.Label5 = New System.Windows.Forms.Label()
Me.TextBox2 = New System.Windows.Forms.TextBox()
- Me.Button2 = New System.Windows.Forms.Button()
- Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
- Me.Label6 = New System.Windows.Forms.Label()
+ Me.ListView1 = New System.Windows.Forms.ListView()
+ Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
+ Me.Label7 = New System.Windows.Forms.Label()
Me.TableLayoutPanel1.SuspendLayout()
Me.Win10Title.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.GroupBox3.SuspendLayout()
+ CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TableLayoutPanel1
@@ -58,7 +65,7 @@ Partial Class ImgWim2Esd
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
- Me.TableLayoutPanel1.Location = New System.Drawing.Point(338, 304)
+ Me.TableLayoutPanel1.Location = New System.Drawing.Point(626, 520)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 1
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
@@ -93,7 +100,7 @@ Partial Class ImgWim2Esd
Me.Win10Title.Dock = System.Windows.Forms.DockStyle.Top
Me.Win10Title.Location = New System.Drawing.Point(0, 0)
Me.Win10Title.Name = "Win10Title"
- Me.Win10Title.Size = New System.Drawing.Size(496, 48)
+ Me.Win10Title.Size = New System.Drawing.Size(784, 48)
Me.Win10Title.TabIndex = 3
Me.Win10Title.Visible = False
'
@@ -109,40 +116,37 @@ Partial Class ImgWim2Esd
'
'GroupBox1
'
+ Me.GroupBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Controls.Add(Me.TextBox1)
Me.GroupBox1.Controls.Add(Me.Label2)
Me.GroupBox1.Location = New System.Drawing.Point(12, 54)
Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(472, 88)
+ Me.GroupBox1.Size = New System.Drawing.Size(760, 88)
Me.GroupBox1.TabIndex = 4
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Source"
'
- 'GroupBox2
+ 'Button1
'
- Me.GroupBox2.Controls.Add(Me.ComboBox1)
- Me.GroupBox2.Controls.Add(Me.Label4)
- Me.GroupBox2.Controls.Add(Me.Label3)
- Me.GroupBox2.Controls.Add(Me.LinkLabel1)
- Me.GroupBox2.Location = New System.Drawing.Point(12, 148)
- Me.GroupBox2.Name = "GroupBox2"
- Me.GroupBox2.Size = New System.Drawing.Size(472, 56)
- Me.GroupBox2.TabIndex = 4
- Me.GroupBox2.TabStop = False
- Me.GroupBox2.Text = "Options"
+ Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button1.Location = New System.Drawing.Point(668, 44)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(75, 23)
+ Me.Button1.TabIndex = 5
+ Me.Button1.Text = "Browse..."
+ Me.Button1.UseVisualStyleBackColor = True
'
- 'GroupBox3
+ 'TextBox1
'
- Me.GroupBox3.Controls.Add(Me.Button2)
- Me.GroupBox3.Controls.Add(Me.Label5)
- Me.GroupBox3.Controls.Add(Me.TextBox2)
- Me.GroupBox3.Location = New System.Drawing.Point(12, 210)
- Me.GroupBox3.Name = "GroupBox3"
- Me.GroupBox3.Size = New System.Drawing.Size(472, 88)
- Me.GroupBox3.TabIndex = 4
- Me.GroupBox3.TabStop = False
- Me.GroupBox3.Text = "Destination"
+ Me.TextBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.TextBox1.Location = New System.Drawing.Point(21, 45)
+ Me.TextBox1.Name = "TextBox1"
+ Me.TextBox1.Size = New System.Drawing.Size(641, 21)
+ Me.TextBox1.TabIndex = 1
'
'Label2
'
@@ -153,31 +157,23 @@ Partial Class ImgWim2Esd
Me.Label2.TabIndex = 0
Me.Label2.Text = "Source image file:"
'
- 'TextBox1
- '
- Me.TextBox1.Location = New System.Drawing.Point(21, 45)
- Me.TextBox1.Name = "TextBox1"
- Me.TextBox1.Size = New System.Drawing.Size(353, 21)
- Me.TextBox1.TabIndex = 1
- '
- 'Button1
- '
- Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System
- Me.Button1.Location = New System.Drawing.Point(380, 44)
- Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(75, 23)
- Me.Button1.TabIndex = 5
- Me.Button1.Text = "Browse..."
- Me.Button1.UseVisualStyleBackColor = True
- '
- 'Label3
+ 'GroupBox2
'
- Me.Label3.AutoSize = True
- Me.Label3.Location = New System.Drawing.Point(18, 24)
- Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(99, 13)
- Me.Label3.TabIndex = 0
- Me.Label3.Text = "Convert image to a"
+ Me.GroupBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.GroupBox2.Controls.Add(Me.ListView1)
+ Me.GroupBox2.Controls.Add(Me.NumericUpDown1)
+ Me.GroupBox2.Controls.Add(Me.Label7)
+ Me.GroupBox2.Controls.Add(Me.ComboBox1)
+ Me.GroupBox2.Controls.Add(Me.Label4)
+ Me.GroupBox2.Controls.Add(Me.Label3)
+ Me.GroupBox2.Controls.Add(Me.LinkLabel1)
+ Me.GroupBox2.Location = New System.Drawing.Point(12, 148)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(760, 272)
+ Me.GroupBox2.TabIndex = 4
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Options"
'
'ComboBox1
'
@@ -198,43 +194,70 @@ Partial Class ImgWim2Esd
Me.Label4.TabIndex = 0
Me.Label4.Text = "file."
'
- 'Label5
+ 'Label3
'
- Me.Label5.AutoSize = True
- Me.Label5.Location = New System.Drawing.Point(18, 28)
- Me.Label5.Name = "Label5"
- Me.Label5.Size = New System.Drawing.Size(113, 13)
- Me.Label5.TabIndex = 0
- Me.Label5.Text = "Destination image file:"
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(18, 24)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(99, 13)
+ Me.Label3.TabIndex = 0
+ Me.Label3.Text = "Convert image to a"
'
- 'TextBox2
+ 'LinkLabel1
'
- Me.TextBox2.Location = New System.Drawing.Point(21, 45)
- Me.TextBox2.Name = "TextBox2"
- Me.TextBox2.Size = New System.Drawing.Size(353, 21)
- Me.TextBox2.TabIndex = 1
+ Me.LinkLabel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.LinkLabel1.AutoSize = True
+ Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline
+ Me.LinkLabel1.LinkColor = System.Drawing.Color.DodgerBlue
+ Me.LinkLabel1.Location = New System.Drawing.Point(608, 24)
+ Me.LinkLabel1.Name = "LinkLabel1"
+ Me.LinkLabel1.Size = New System.Drawing.Size(135, 13)
+ Me.LinkLabel1.TabIndex = 2
+ Me.LinkLabel1.TabStop = True
+ Me.LinkLabel1.Text = "Which format do I choose?"
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.GroupBox3.Controls.Add(Me.Button2)
+ Me.GroupBox3.Controls.Add(Me.Label5)
+ Me.GroupBox3.Controls.Add(Me.TextBox2)
+ Me.GroupBox3.Location = New System.Drawing.Point(12, 426)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(760, 88)
+ Me.GroupBox3.TabIndex = 4
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Destination"
'
'Button2
'
+ Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.System
- Me.Button2.Location = New System.Drawing.Point(380, 44)
+ Me.Button2.Location = New System.Drawing.Point(668, 44)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 23)
Me.Button2.TabIndex = 5
Me.Button2.Text = "Browse..."
Me.Button2.UseVisualStyleBackColor = True
'
- 'LinkLabel1
+ 'Label5
'
- Me.LinkLabel1.AutoSize = True
- Me.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline
- Me.LinkLabel1.LinkColor = System.Drawing.Color.DodgerBlue
- Me.LinkLabel1.Location = New System.Drawing.Point(320, 24)
- Me.LinkLabel1.Name = "LinkLabel1"
- Me.LinkLabel1.Size = New System.Drawing.Size(135, 13)
- Me.LinkLabel1.TabIndex = 2
- Me.LinkLabel1.TabStop = True
- Me.LinkLabel1.Text = "Which format do I choose?"
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(18, 28)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(113, 13)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "Destination image file:"
+ '
+ 'TextBox2
+ '
+ Me.TextBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.TextBox2.Location = New System.Drawing.Point(21, 45)
+ Me.TextBox2.Name = "TextBox2"
+ Me.TextBox2.Size = New System.Drawing.Size(641, 21)
+ Me.TextBox2.TabIndex = 1
'
'OpenFileDialog1
'
@@ -245,14 +268,55 @@ Partial Class ImgWim2Esd
'
Me.SaveFileDialog1.Title = "Where will the target image be stored?"
'
- 'Label6
+ 'ListView1
+ '
+ Me.ListView1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4})
+ Me.ListView1.Location = New System.Drawing.Point(19, 77)
+ Me.ListView1.Name = "ListView1"
+ Me.ListView1.Size = New System.Drawing.Size(722, 176)
+ Me.ListView1.TabIndex = 4
+ Me.ListView1.UseCompatibleStateImageBehavior = False
+ Me.ListView1.View = System.Windows.Forms.View.Details
+ '
+ 'ColumnHeader1
+ '
+ Me.ColumnHeader1.Text = "Index"
+ Me.ColumnHeader1.Width = 44
+ '
+ 'ColumnHeader2
+ '
+ Me.ColumnHeader2.Text = "Image name"
+ Me.ColumnHeader2.Width = 256
+ '
+ 'ColumnHeader3
+ '
+ Me.ColumnHeader3.Text = "Image description"
+ Me.ColumnHeader3.Width = 256
+ '
+ 'ColumnHeader4
+ '
+ Me.ColumnHeader4.Text = "Image version"
+ Me.ColumnHeader4.Width = 128
+ '
+ 'NumericUpDown1
+ '
+ Me.NumericUpDown1.Location = New System.Drawing.Point(69, 50)
+ Me.NumericUpDown1.Minimum = New Decimal(New Integer() {1, 0, 0, 0})
+ Me.NumericUpDown1.Name = "NumericUpDown1"
+ Me.NumericUpDown1.Size = New System.Drawing.Size(230, 21)
+ Me.NumericUpDown1.TabIndex = 6
+ Me.NumericUpDown1.Value = New Decimal(New Integer() {1, 0, 0, 0})
+ '
+ 'Label7
'
- Me.Label6.Location = New System.Drawing.Point(12, 305)
- Me.Label6.Name = "Label6"
- Me.Label6.Size = New System.Drawing.Size(323, 28)
- Me.Label6.TabIndex = 5
- Me.Label6.Text = "NOTE: right now, the program will only convert the first index of the source file" & _
- " to the target file format."
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(18, 52)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(39, 13)
+ Me.Label7.TabIndex = 5
+ Me.Label7.Text = "Index:"
'
'ImgWim2Esd
'
@@ -260,8 +324,7 @@ Partial Class ImgWim2Esd
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CancelButton = Me.Cancel_Button
- Me.ClientSize = New System.Drawing.Size(496, 345)
- Me.Controls.Add(Me.Label6)
+ Me.ClientSize = New System.Drawing.Size(784, 561)
Me.Controls.Add(Me.GroupBox3)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
@@ -284,6 +347,7 @@ Partial Class ImgWim2Esd
Me.GroupBox2.PerformLayout()
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox3.PerformLayout()
+ CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
@@ -307,6 +371,12 @@ Partial Class ImgWim2Esd
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog
- Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents ListView1 As System.Windows.Forms.ListView
+ Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader
+ Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader
+ Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader
+ Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader
+ Friend WithEvents NumericUpDown1 As System.Windows.Forms.NumericUpDown
+ Friend WithEvents Label7 As System.Windows.Forms.Label
End Class
diff --git a/Panels/Img_Ops/Conversion/ImgWim2Esd.vb b/Panels/Img_Ops/Conversion/ImgWim2Esd.vb
index f809af0d..0dc6b86a 100644
--- a/Panels/Img_Ops/Conversion/ImgWim2Esd.vb
+++ b/Panels/Img_Ops/Conversion/ImgWim2Esd.vb
@@ -1,10 +1,14 @@
Imports System.Windows.Forms
+Imports Microsoft.Dism
+Imports System.IO
+Imports System.Threading
Public Class ImgWim2Esd
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
If Not ProgressPanel.IsDisposed Then ProgressPanel.Dispose()
ProgressPanel.imgSrcFile = TextBox1.Text
+ ProgressPanel.imgConversionIndex = NumericUpDown1.Value
ProgressPanel.imgDestFile = TextBox2.Text
If ComboBox1.SelectedIndex = 0 Then
ProgressPanel.imgConversionMode = 1
@@ -29,9 +33,9 @@ Public Class ImgWim2Esd
Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
TextBox1.Text = OpenFileDialog1.FileName
- If OpenFileDialog1.FileName.EndsWith(".wim") Then
+ If OpenFileDialog1.FileName.EndsWith("wim", StringComparison.OrdinalIgnoreCase) Then
ComboBox1.SelectedIndex = 1
- ElseIf OpenFileDialog1.FileName.EndsWith(".esd") Then
+ ElseIf OpenFileDialog1.FileName.EndsWith("esd", StringComparison.OrdinalIgnoreCase) Then
ComboBox1.SelectedIndex = 0
End If
End Sub
@@ -47,6 +51,8 @@ Public Class ImgWim2Esd
TextBox1.BackColor = Color.FromArgb(31, 31, 31)
TextBox2.BackColor = Color.FromArgb(31, 31, 31)
ComboBox1.BackColor = Color.FromArgb(31, 31, 31)
+ NumericUpDown1.BackColor = Color.FromArgb(31, 31, 31)
+ ListView1.BackColor = Color.FromArgb(31, 31, 31)
ElseIf MainForm.BackColor = Color.FromArgb(239, 239, 242) Then
Win10Title.BackColor = Color.White
BackColor = Color.FromArgb(238, 238, 242)
@@ -57,10 +63,14 @@ Public Class ImgWim2Esd
TextBox1.BackColor = Color.FromArgb(238, 238, 242)
TextBox2.BackColor = Color.FromArgb(238, 238, 242)
ComboBox1.BackColor = Color.FromArgb(238, 238, 242)
+ NumericUpDown1.BackColor = Color.FromArgb(238, 238, 242)
+ ListView1.BackColor = Color.FromArgb(238, 238, 242)
End If
TextBox1.ForeColor = ForeColor
TextBox2.ForeColor = ForeColor
ComboBox1.ForeColor = ForeColor
+ NumericUpDown1.ForeColor = ForeColor
+ ListView1.ForeColor = ForeColor
If Environment.OSVersion.Version.Major = 10 Then
Text = ""
Win10Title.Visible = True
@@ -80,4 +90,29 @@ Public Class ImgWim2Esd
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
SaveFileDialog1.Filter = UCase(ComboBox1.SelectedItem) & " files|*." & LCase(ComboBox1.SelectedItem)
End Sub
+
+ Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
+ If TextBox1.Text <> "" And File.Exists(TextBox1.Text) Then
+ If MainForm.MountedImageDetectorBW.IsBusy Then
+ MainForm.MountedImageDetectorBW.CancelAsync()
+ While MainForm.MountedImageDetectorBW.IsBusy
+ Application.DoEvents()
+ Thread.Sleep(500)
+ End While
+ End If
+ Try
+ ListView1.Items.Clear()
+ DismApi.Initialize(DismLogLevel.LogErrors)
+ Dim imgInfoCollection As DismImageInfoCollection = DismApi.GetImageInfo(TextBox1.Text)
+ NumericUpDown1.Maximum = imgInfoCollection.Count
+ For Each imgInfo As DismImageInfo In imgInfoCollection
+ ListView1.Items.Add(New ListViewItem(New String() {imgInfo.ImageIndex, imgInfo.ImageName, imgInfo.ImageDescription, imgInfo.ProductVersion.ToString()}))
+ Next
+ Catch ex As Exception
+ MsgBox("Could not get index information for this image file", vbOKOnly + vbCritical, Label1.Text)
+ Finally
+ DismApi.Shutdown()
+ End Try
+ End If
+ End Sub
End Class
diff --git a/Panels/Img_Ops/ImgMount.Designer.vb b/Panels/Img_Ops/ImgMount.Designer.vb
index c59ee038..76df3fda 100644
--- a/Panels/Img_Ops/ImgMount.Designer.vb
+++ b/Panels/Img_Ops/ImgMount.Designer.vb
@@ -31,6 +31,7 @@ Partial Class ImgMount
Me.Label2 = New System.Windows.Forms.Label()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label4 = New System.Windows.Forms.Label()
+ Me.Button3 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Label3 = New System.Windows.Forms.Label()
@@ -43,6 +44,8 @@ Partial Class ImgMount
Me.ListView1 = New System.Windows.Forms.ListView()
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
Me.CheckBox4 = New System.Windows.Forms.CheckBox()
Me.CheckBox3 = New System.Windows.Forms.CheckBox()
@@ -51,8 +54,6 @@ Partial Class ImgMount
Me.Label11 = New System.Windows.Forms.Label()
Me.FileSpecDialog = New System.Windows.Forms.OpenFileDialog()
Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog()
- Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
- Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.TableLayoutPanel1.SuspendLayout()
Me.Win10Title.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -144,6 +145,7 @@ Partial Class ImgMount
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Label4)
+ Me.GroupBox1.Controls.Add(Me.Button3)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Controls.Add(Me.TextBox1)
Me.GroupBox1.Controls.Add(Me.Label3)
@@ -157,12 +159,23 @@ Partial Class ImgMount
'Label4
'
Me.Label4.AutoEllipsis = True
- Me.Label4.Location = New System.Drawing.Point(152, 53)
+ Me.Label4.Location = New System.Drawing.Point(16, 58)
Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(576, 13)
+ Me.Label4.Size = New System.Drawing.Size(657, 13)
Me.Label4.TabIndex = 5
Me.Label4.Text = "NOTE: if you want to mount an ESD file, you need to convert it to a WIM file firs" & _
"t"
+ '
+ 'Button3
+ '
+ Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.Button3.Location = New System.Drawing.Point(679, 53)
+ Me.Button3.Name = "Button3"
+ Me.Button3.Size = New System.Drawing.Size(75, 23)
+ Me.Button3.TabIndex = 4
+ Me.Button3.Text = "Convert"
+ Me.Button3.UseVisualStyleBackColor = True
+ Me.Button3.Visible = False
'
'Button1
'
@@ -276,6 +289,16 @@ Partial Class ImgMount
Me.ColumnHeader2.Text = "Image name"
Me.ColumnHeader2.Width = 256
'
+ 'ColumnHeader3
+ '
+ Me.ColumnHeader3.Text = "Image description"
+ Me.ColumnHeader3.Width = 256
+ '
+ 'ColumnHeader4
+ '
+ Me.ColumnHeader4.Text = "Image version"
+ Me.ColumnHeader4.Width = 128
+ '
'NumericUpDown1
'
Me.NumericUpDown1.Location = New System.Drawing.Point(152, 25)
@@ -335,17 +358,7 @@ Partial Class ImgMount
'
'FileSpecDialog
'
- Me.FileSpecDialog.Filter = "WIM files|*.wim|VHD(X) files|*.vhd;*.vhdx;"
- '
- 'ColumnHeader3
- '
- Me.ColumnHeader3.Text = "Image description"
- Me.ColumnHeader3.Width = 256
- '
- 'ColumnHeader4
- '
- Me.ColumnHeader4.Text = "Image version"
- Me.ColumnHeader4.Width = 128
+ Me.FileSpecDialog.Filter = "WIM files|*.wim|ESD files|*.esd|VHD(X) files|*.vhd;*.vhdx;"
'
'ImgMount
'
@@ -415,5 +428,6 @@ Partial Class ImgMount
Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader
Friend WithEvents ColumnHeader4 As System.Windows.Forms.ColumnHeader
+ Friend WithEvents Button3 As System.Windows.Forms.Button
End Class
diff --git a/Panels/Img_Ops/ImgMount.vb b/Panels/Img_Ops/ImgMount.vb
index 6f565b44..247b0381 100644
--- a/Panels/Img_Ops/ImgMount.vb
+++ b/Panels/Img_Ops/ImgMount.vb
@@ -2,6 +2,7 @@
Imports System.Windows.Forms
Imports System.Text.Encoding
Imports Microsoft.VisualBasic.ControlChars
+Imports System.Threading
Imports Microsoft.Dism
Public Class ImgMount
@@ -95,6 +96,7 @@ Public Class ImgMount
GroupBox3.Text = "Options"
Button1.Text = "Browse..."
Button2.Text = "Browse..."
+ Button3.Text = "Convert"
Button5.Text = "Use defaults"
Cancel_Button.Text = "Cancel"
OK_Button.Text = "OK"
@@ -119,6 +121,7 @@ Public Class ImgMount
GroupBox3.Text = "Opciones"
Button1.Text = "Examinar..."
Button2.Text = "Examinar..."
+ Button3.Text = "Convertir"
Button5.Text = "Predeterminados"
Cancel_Button.Text = "Cancelar"
OK_Button.Text = "Aceptar"
@@ -144,6 +147,7 @@ Public Class ImgMount
GroupBox3.Text = "Options"
Button1.Text = "Browse..."
Button2.Text = "Browse..."
+ Button3.Text = "Convert"
Button5.Text = "Use defaults"
Cancel_Button.Text = "Cancel"
OK_Button.Text = "OK"
@@ -168,6 +172,7 @@ Public Class ImgMount
GroupBox3.Text = "Opciones"
Button1.Text = "Examinar..."
Button2.Text = "Examinar..."
+ Button3.Text = "Convertir"
Button5.Text = "Predeterminados"
Cancel_Button.Text = "Cancelar"
OK_Button.Text = "Aceptar"
@@ -229,6 +234,34 @@ Public Class ImgMount
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FileSpecDialog.ShowDialog()
+ If TextBox1.Text <> "" And Path.GetExtension(TextBox1.Text).EndsWith("esd", StringComparison.OrdinalIgnoreCase) Then
+ Button3.Visible = True
+ IsReqField1Valid = False
+ ImgWim2Esd.TextBox1.Text = TextBox1.Text
+ ImgWim2Esd.TextBox2.Text = TextBox1.Text.Replace(Path.GetExtension(TextBox1.Text), ".wim").Trim()
+ Hide()
+ ImgWim2Esd.ShowDialog(MainForm)
+ Show()
+ If ImgWim2Esd.DialogResult = Windows.Forms.DialogResult.OK And File.Exists(ImgWim2Esd.TextBox2.Text) Then
+ TextBox1.Text = ImgWim2Esd.TextBox2.Text
+ ElseIf ImgWim2Esd.DialogResult = Windows.Forms.DialogResult.Cancel Then
+ Select Case MainForm.Language
+ Case 0
+ Select Case My.Computer.Info.InstalledUICulture.ThreeLetterWindowsLanguageName
+ Case "ENG"
+ MsgBox("You need to convert this image to a WIM file in order to mount it", vbOKOnly + vbExclamation, Label1.Text)
+ Case "ESN"
+ MsgBox("Debe convertir esta imagen a un archivo WIM para poder montarla", vbOKOnly + vbExclamation, Label1.Text)
+ End Select
+ Case 1
+ MsgBox("You need to convert this image to a WIM file in order to mount it", vbOKOnly + vbExclamation, Label1.Text)
+ Case 2
+ MsgBox("Debe convertir esta imagen a un archivo WIM para poder montarla", vbOKOnly + vbExclamation, Label1.Text)
+ End Select
+ End If
+ Else
+ Button3.Visible = False
+ End If
End Sub
Private Sub FileSpecDialog_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles FileSpecDialog.FileOk
@@ -253,6 +286,13 @@ Public Class ImgMount
Sub GetIndexes(ImgFile As String)
Try
+ If MainForm.MountedImageDetectorBW.IsBusy Then
+ MainForm.MountedImageDetectorBW.CancelAsync()
+ While MainForm.MountedImageDetectorBW.IsBusy
+ Application.DoEvents()
+ Thread.Sleep(500)
+ End While
+ End If
ListView1.Items.Clear()
DismApi.Initialize(DismLogLevel.LogErrors)
Dim imgInfoCollection As DismImageInfoCollection = DismApi.GetImageInfo(ImgFile)
@@ -291,6 +331,9 @@ Public Class ImgMount
IsReqField1Valid = True
ProgressPanel.SourceImg = TextBox1.Text
GetIndexes(TextBox1.Text)
+ If Path.GetExtension(TextBox1.Text).EndsWith("esd", StringComparison.OrdinalIgnoreCase) Then
+ IsReqField1Valid = False
+ End If
Else
IsReqField1Valid = False
End If
@@ -342,4 +385,30 @@ Public Class ImgMount
Private Sub ImgMount_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
If Not MainForm.MountedImageDetectorBW.IsBusy Then Call MainForm.MountedImageDetectorBW.RunWorkerAsync()
End Sub
+
+ Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
+ IsReqField1Valid = False
+ ImgWim2Esd.TextBox1.Text = TextBox1.Text
+ ImgWim2Esd.TextBox2.Text = TextBox1.Text.Replace(Path.GetExtension(TextBox1.Text), ".wim").Trim()
+ Hide()
+ ImgWim2Esd.ShowDialog(MainForm)
+ Show()
+ If ImgWim2Esd.DialogResult = Windows.Forms.DialogResult.OK And File.Exists(ImgWim2Esd.TextBox2.Text) Then
+ TextBox1.Text = ImgWim2Esd.TextBox2.Text
+ ElseIf ImgWim2Esd.DialogResult = Windows.Forms.DialogResult.Cancel Then
+ Select Case MainForm.Language
+ Case 0
+ Select Case My.Computer.Info.InstalledUICulture.ThreeLetterWindowsLanguageName
+ Case "ENG"
+ MsgBox("You need to convert this image to a WIM file in order to mount it", vbOKOnly + vbExclamation, Label1.Text)
+ Case "ESN"
+ MsgBox("Debe convertir esta imagen a un archivo WIM para poder montarla", vbOKOnly + vbExclamation, Label1.Text)
+ End Select
+ Case 1
+ MsgBox("You need to convert this image to a WIM file in order to mount it", vbOKOnly + vbExclamation, Label1.Text)
+ Case 2
+ MsgBox("Debe convertir esta imagen a un archivo WIM para poder montarla", vbOKOnly + vbExclamation, Label1.Text)
+ End Select
+ End If
+ End Sub
End Class
diff --git a/Panels/Unattend_Files/Addition/NewUnattendWiz.vb b/Panels/Unattend_Files/Addition/NewUnattendWiz.vb
index 019e0914..0d53b775 100644
--- a/Panels/Unattend_Files/Addition/NewUnattendWiz.vb
+++ b/Panels/Unattend_Files/Addition/NewUnattendWiz.vb
@@ -934,6 +934,189 @@ Public Class NewUnattendWiz
End Try
End Sub
+ Sub GenerateUnattendFile()
+ ' This procedure only targets Win10 x86/x64 UEFI for now
+ Dim XmlContents As String = "" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " TEMP:TEMPTEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 0" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 1" & CrLf & _
+ " Primary" & CrLf & _
+ " 300" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 2" & CrLf & _
+ " EFI" & CrLf & _
+ " 100" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 3" & CrLf & _
+ " MSR" & CrLf & _
+ " 128" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 4" & CrLf & _
+ " Primary" & CrLf & _
+ " True" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 1" & CrLf & _
+ " 1" & CrLf & _
+ " " & CrLf & _
+ " NTFS" & CrLf & _
+ " DE94BBA4-06D1-4D40-A16A-BFD50179D6AC" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 2" & CrLf & _
+ " 2" & CrLf & _
+ " " & CrLf & _
+ " FAT32" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 3" & CrLf & _
+ " 3" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " NTFS" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " false" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " Never" & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " 1" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP:TEMPTEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP-TEMP-TEMP-TEMP-TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " true" & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " true" & CrLf & _
+ " true" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " true" & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " Control Panel View" & CrLf & _
+ " 1" & CrLf & _
+ " reg add " & Quote & "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel" & Quote & " /v StartupPage /t REG_DWORD /d TEMP /f" & CrLf & _
+ " true" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " Control Panel Icon Size" & CrLf & _
+ " 2" & CrLf & _
+ " reg add " & Quote & "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel" & Quote & " /v AllItemsIconView /t REG_DWORD /d TEMP /f" & CrLf & _
+ " false" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " Password Never Expires" & CrLf & _
+ " 3" & CrLf & _
+ " cmd /C wmic useraccount where name=" & Quote & "TEMP" & Quote & " set PasswordExpires=TEMP" & CrLf & _
+ " false" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " TEMP" & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ " " & CrLf & _
+ ""
+ End Sub
+
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
If ComboBox1.SelectedItem = "Windows XP" Then
Label13.Text = "25/10/2001"
diff --git a/Updater/DISMTools-UCS/update-bin/preview.ini b/Updater/DISMTools-UCS/update-bin/preview.ini
index e308ab4b..f0c6fef4 100644
--- a/Updater/DISMTools-UCS/update-bin/preview.ini
+++ b/Updater/DISMTools-UCS/update-bin/preview.ini
@@ -1,6 +1,6 @@
[Version]
-LatestVer = 0.3.1.2382
-ReleaseTag = v0.3.1_pre_2382
+LatestVer = 0.3.1.2383
+ReleaseTag = v0.3.1_pre_2383
[Options]
MigrateSettings = False
\ No newline at end of file
diff --git a/Updater/DISMTools-UCS/update-bin/update.exe b/Updater/DISMTools-UCS/update-bin/update.exe
index 1c1a5ec1..418962b8 100644
Binary files a/Updater/DISMTools-UCS/update-bin/update.exe and b/Updater/DISMTools-UCS/update-bin/update.exe differ
diff --git a/Updater/DISMTools-UCS/verinfo/preview.ini b/Updater/DISMTools-UCS/verinfo/preview.ini
index e308ab4b..f0c6fef4 100644
--- a/Updater/DISMTools-UCS/verinfo/preview.ini
+++ b/Updater/DISMTools-UCS/verinfo/preview.ini
@@ -1,6 +1,6 @@
[Version]
-LatestVer = 0.3.1.2382
-ReleaseTag = v0.3.1_pre_2382
+LatestVer = 0.3.1.2383
+ReleaseTag = v0.3.1_pre_2383
[Options]
MigrateSettings = False
\ No newline at end of file