Skip to content

Commit

Permalink
DISMTools 0.4.2 Update 3.1 (Push to Stable) (#130)
Browse files Browse the repository at this point in the history
* DISMTools 0.4.2 Update 1 (March 2024 Update) (#109)

* Update assembly information

* Fixed splash screen opacity issues

* Fixed exception

* Select the file we want to point to in File Explorer

* Add possible fix to freezing issue

* Don't show update recommendation on nightly versions of DT

* Add better exception handling

* Add basic computer information to error in case of an internal error

* Show more information when downloading from App Installer packages

* Added image export capabilities, and fixed some coloring and progress panel disposal issues

* Fixed exception

* Access background processes panel with a keyboard shortcut

* Begin experimental video playback implementation

* Add video playback support for tutorial videos

* Tutorial Video update - 2024/03/24

* Enhanced video player

* Add manual configurator for IE browser emulation

* Finish tutorial video panel design

* Make use of video feed from dedicated repo

* Added error handling to video functions

* Prepare backport

Fixed stupid Git merge conflict things, and some unwanted changes

* Update What's New section, and new Update System information files

* DISMTools 0.4.2 Update 2 (April 2024 Update) (#116)

* Update assembly information

* Close popup Mounted Image Manager with key press

* Change default log view font to Consolas

* Set default font to Consolas in the installer

* Fixed CSS layout issues

* Show file copy error information

* Detect if language is supported

* Enhanced automatic image reload feature

* Only show reload window when necessary

* Detect custom themes

* Added installer generation automation (#113)

* Test automation

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* Update create-nightly-installer.yaml

* DISMTools Nightly Installer

* Update .gitignore

* DISMTools Nightly Installer

---------

Co-authored-by: CodingWonders <[email protected]>

* Added release update branches to action

* Update What's New section and Update System information files

* Delete temporary installer files

* Add workaround for #114

---------

Co-authored-by: CodingWonders <[email protected]>

* DISMTools Nightly Installer

* Update create-nightly-installer.yaml

Don't generate nightly installers in stable branch

* DISMTools Nightly Installer

* DISMTools Nightly Installer

* Ignore files generated by JetBrains IDEs

* DISMTools Nightly Installer

* Update workflow

* New path for nightly installers

* DISMTools Nightly Installer

* DISMTools 0.4.2 Update 3 (#127)

* Update assembly information

* Fixed directory creation issues for log paths

* Added warnings to prevent issue #119

* Add exception handling to fix #121

* Added ability to view driver signer

* Save internal error logs to disk

* Update list automatically every minute

* Fixed issue in the Initial Setup wizard

* Updated Scintilla.NET component (#122)

* DISMTools Nightly Installer

* Updated Scintilla.NET version

* DISMTools Nightly Installer

---------

Co-authored-by: CodingWonders <[email protected]>

* Fixed update pipelines for new versions

* Deleted unused project

* Hide splash screen on Windows 7/Server 2008 R2

* Fixed similar splash screen issue

* Get signer information when saving installed driver info to file

* Update Scintilla.NET to 5.5.1

* Update What's New section and new Update System information files

---------

Co-authored-by: CodingWonders <[email protected]>

* DISMTools Nightly Installer

* DISMTools Nightly Installer

* DISMTools 0.4.2 Fixes (2024/06/02) (#129)

* Fix image path issue for DISM commands

* Show download error and save using correct extension

* Improve reliability of App Installer package addition

* Don't show human-readable size representation if bytes < 1024

* Update assembly information

* Update What's New section and new Update System info files

* DISMTools Nightly Installer

* DISMTools Nightly Installer

---------

Co-authored-by: CodingWonders <[email protected]>
  • Loading branch information
CodingWonders and CodingWonders authored Jun 2, 2024
1 parent 57c5c5f commit 9f1cfb8
Show file tree
Hide file tree
Showing 12 changed files with 120 additions and 183 deletions.
Binary file modified Installer/Nightly/dt_setup.exe
Binary file not shown.
4 changes: 2 additions & 2 deletions My Project/AssemblyInfo.vb
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' mediante el asterisco ('*'), como se muestra a continuación:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("0.4.2.2454")>
<Assembly: AssemblyFileVersion("0.4.2.2454")>
<Assembly: AssemblyVersion("0.4.2.2461")>
<Assembly: AssemblyFileVersion("0.4.2.2461")>
2 changes: 1 addition & 1 deletion My Project/Resources.Designer.vb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion My Project/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1101,7 +1101,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
<data name="WhatsNew" xml:space="preserve">
<value>To get more information about what's new in this release, check out the release notes over at:

https://github.com/CodingWonders/DISMTools/releases/tag/v0.4.2_upd3</value>
https://github.com/CodingWonders/DISMTools/releases/tag/v0.4.2_upd3.1</value>
</data>
<data name="split_img" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\split_img.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
Expand Down
46 changes: 26 additions & 20 deletions Panels/DoWork/ProgressPanel.vb
Original file line number Diff line number Diff line change
Expand Up @@ -728,6 +728,12 @@ Public Class ProgressPanel
PkgErrorText.RichTextBox1.Clear()
FeatErrorText.RichTextBox1.Clear()
DismApi.Initialize(DismLogLevel.LogErrors)
Dim OperationUseQuotes As Boolean
Dim targetImage As String = ""
If MountDir <> "" Then
OperationUseQuotes = Not Path.GetPathRoot(MountDir) = MountDir
targetImage = If(OperationUseQuotes, Quote & MountDir & Quote, MountDir)
End If
If opNum = 0 Then
Select Case Language
Case 0
Expand Down Expand Up @@ -1865,7 +1871,7 @@ Public Class ProgressPanel
"Processing " & pkgCount & " packages..." & CrLf)
If pkgAdditionOp = 0 Then
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /add-package /packagepath=" & Quote & pkgSource & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /add-package /packagepath=" & Quote & pkgSource & Quote
If pkgIgnoreApplicabilityChecks Then
CommandArgs &= " /ignorecheck"
End If
Expand Down Expand Up @@ -1983,7 +1989,7 @@ Public Class ProgressPanel
If Not pkgIsApplicable Or pkgIsInstalled Then Continue For
LogView.AppendText(CrLf & "Processing package...")
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /add-package /packagepath=" & Quote & pkgs(x) & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /add-package /packagepath=" & Quote & pkgs(x) & Quote
If pkgIgnoreApplicabilityChecks Then
CommandArgs &= " /ignorecheck"
End If
Expand Down Expand Up @@ -2172,7 +2178,7 @@ Public Class ProgressPanel
If pkgIsReadyForRemoval Then
LogView.AppendText(CrLf & "Processing package removal...")
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /remove-package /packagename=" & pkgRemovalNames(x)
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /remove-package /packagename=" & pkgRemovalNames(x)
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -2274,7 +2280,7 @@ Public Class ProgressPanel
If pkgIsReadyForRemoval Then
LogView.AppendText(CrLf & "Processing package removal...")
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /remove-package /packagepath=" & pkgRemovalFiles(x)
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /remove-package /packagepath=" & pkgRemovalFiles(x)
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -2463,7 +2469,7 @@ Public Class ProgressPanel
Finally
DismApi.Shutdown()
End Try
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /enable-feature /featurename=" & featEnablementNames(x).Replace("ListViewItem: ", "").Trim().Replace("{", "").Trim().Replace("}", "").Trim()
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /enable-feature /featurename=" & featEnablementNames(x).Replace("ListViewItem: ", "").Trim().Replace("{", "").Trim().Replace("}", "").Trim()
If featisParentPkgNameUsed And featParentPkgName <> "" Then
CommandArgs &= " /packagename=" & featParentPkgName
End If
Expand Down Expand Up @@ -2655,7 +2661,7 @@ Public Class ProgressPanel
Finally
DismApi.Shutdown()
End Try
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /disable-feature /featurename=" & featDisablementNames(x).Replace("ListViewItem: ", "").Trim().Replace("{", "").Trim().Replace("}", "").Trim()
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /disable-feature /featurename=" & featDisablementNames(x).Replace("ListViewItem: ", "").Trim().Replace("{", "").Trim().Replace("}", "").Trim()
If featDisablementParentPkgUsed And featDisablementParentPkg <> "" Then
CommandArgs &= " /packagename=" & featParentPkgName
End If
Expand Down Expand Up @@ -2730,7 +2736,7 @@ Public Class ProgressPanel
End Select
' Initialize command
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /cleanup-image"
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /cleanup-image"
Select Case CleanupTask
Case 0
Select Case Language
Expand Down Expand Up @@ -2985,7 +2991,7 @@ Public Class ProgressPanel
"- Catalog file: " & If(ppkgAdditionCatalogPath = "", "none specified", Quote & ppkgAdditionCatalogPath & Quote) & CrLf & _
"- Commit image after adding provisioning package? " & If(ppkgAdditionCommit, "Yes", "No"))
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /add-provisioningpackage /packagepath=" & Quote & ppkgAdditionPackagePath & Quote & If(ppkgAdditionCatalogPath <> "" And File.Exists(ppkgAdditionCatalogPath), " /catalogpath=" & Quote & ppkgAdditionCatalogPath & Quote, "")
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /add-provisioningpackage /packagepath=" & Quote & ppkgAdditionPackagePath & Quote & If(ppkgAdditionCatalogPath <> "" And File.Exists(ppkgAdditionCatalogPath), " /catalogpath=" & Quote & ppkgAdditionCatalogPath & Quote, "")
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -3147,7 +3153,7 @@ Public Class ProgressPanel

' Initialize command
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /add-provisionedappxpackage "
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /add-provisionedappxpackage "
If File.GetAttributes(appxAdditionPackageList(x).PackageFile) = FileAttributes.Directory Then
CommandArgs &= "/folderpath=" & Quote & appxAdditionPackageList(x).PackageFile & Quote
Else
Expand Down Expand Up @@ -3374,7 +3380,7 @@ Public Class ProgressPanel
LogView.AppendText(CrLf & CrLf & _
"Processing package...")
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /remove-provisionedappxpackage /packagename=" & appxRemovalPackages(x)
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /remove-provisionedappxpackage /packagename=" & appxRemovalPackages(x)
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -3525,7 +3531,7 @@ Public Class ProgressPanel
Finally
DismApi.Shutdown()
End Try
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /add-capability /capabilityname=" & capAdditionIds(x)
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /add-capability /capabilityname=" & capAdditionIds(x)
If capAdditionUseSource And Directory.Exists(capAdditionSource) Then
CommandArgs &= " /source=" & Quote & capAdditionSource & Quote
End If
Expand Down Expand Up @@ -3694,7 +3700,7 @@ Public Class ProgressPanel
DismApi.Shutdown()
End Try
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /norestart /remove-capability /capabilityname=" & capRemovalIds(x)
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /norestart /remove-capability /capabilityname=" & capRemovalIds(x)
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -3862,7 +3868,7 @@ Public Class ProgressPanel
"The driver package currently about to be processed is a folder, so information about it can't be obtained. Proceeding anyway...")
End If
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /add-driver /driver=" & Quote & drvAdditionPkgs(x) & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /add-driver /driver=" & Quote & drvAdditionPkgs(x) & Quote
If drvAdditionForceUnsigned Then
CommandArgs &= " /forceunsigned"
End If
Expand Down Expand Up @@ -4059,7 +4065,7 @@ Public Class ProgressPanel
DismApi.Shutdown()
End Try
DISMProc.StartInfo.FileName = DismProgram
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /remove-driver /driver=" & Quote & drvRemovalPkgs(x) & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /remove-driver /driver=" & Quote & drvRemovalPkgs(x) & Quote
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -4140,10 +4146,10 @@ Public Class ProgressPanel
Case 1
' Not supported
Case Is >= 2
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /export-driver /destination=" & Quote & drvExportTarget & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /export-driver /destination=" & Quote & drvExportTarget & Quote
End Select
Case 10
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /export-driver /destination=" & Quote & drvExportTarget & Quote
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /export-driver /destination=" & Quote & drvExportTarget & Quote
End Select
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
Expand Down Expand Up @@ -4229,7 +4235,7 @@ Public Class ProgressPanel
End Try
If Directory.Exists(Application.StartupPath & "\export_temp") Then
LogView.AppendText(CrLf & "Exporting third-party drivers from import source..." & CrLf)
CommandArgs &= If(ImportSourceInt = 1, " /online", " /image=" & Quote & MountDir & Quote) & " /export-driver /destination=" & Quote & Application.StartupPath & "\export_temp" & Quote
CommandArgs &= If(ImportSourceInt = 1, " /online", " /image=" & targetImage) & " /export-driver /destination=" & Quote & Application.StartupPath & "\export_temp" & Quote
DISMProc.StartInfo.FileName = DismProgram
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
Expand Down Expand Up @@ -4271,7 +4277,7 @@ Public Class ProgressPanel
End Select
LogView.AppendText(CrLf & "Importing third-party drivers from the temporary export directory to the destination image...")
CommandArgs = BckArgs
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & Quote & MountDir & Quote) & " /add-driver /driver=" & Quote & Application.StartupPath & "\export_temp" & Quote & " /recurse"
CommandArgs &= If(OnlineMgmt, " /online", " /image=" & targetImage) & " /add-driver /driver=" & Quote & Application.StartupPath & "\export_temp" & Quote & " /recurse"
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
DISMProc.WaitForExit()
Expand Down Expand Up @@ -4326,7 +4332,7 @@ Public Class ProgressPanel
End Select
LogView.AppendText(CrLf & "Setting the Windows PE scratch space..." & CrLf & _
"- New scratch space amount: " & peNewScratchSpace & " MB")
CommandArgs &= " /image=" & Quote & MountDir & Quote & " /set-scratchspace=" & peNewScratchSpace
CommandArgs &= " /image=" & targetImage & " /set-scratchspace=" & peNewScratchSpace
DISMProc.StartInfo.FileName = DismProgram
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
Expand Down Expand Up @@ -4375,7 +4381,7 @@ Public Class ProgressPanel
End Select
LogView.AppendText(CrLf & "Setting the Windows PE target path..." & CrLf & _
"- New target path: " & Quote & peNewTargetPath & Quote)
CommandArgs &= " /image=" & Quote & MountDir & Quote & " /set-targetpath=" & peNewTargetPath
CommandArgs &= " /image=" & targetImage & " /set-targetpath=" & peNewTargetPath
DISMProc.StartInfo.FileName = DismProgram
DISMProc.StartInfo.Arguments = CommandArgs
DISMProc.Start()
Expand Down
Loading

0 comments on commit 9f1cfb8

Please sign in to comment.