Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DISMTools 0.5.1 Preview 2 #143

Merged
merged 30 commits into from
Jul 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
68e3f98
DISMTools Nightly Installer
CodingWonders Jul 6, 2024
2257802
Updated assembly information
CodingWonders Jul 6, 2024
395f901
DISMTools Nightly Installer
CodingWonders Jul 6, 2024
b39407f
Added stub package preference for AppX packages
CodingWonders Jul 8, 2024
4468f2e
DISMTools Nightly Installer
CodingWonders Jul 8, 2024
fdabe92
Add MUM package support
CodingWonders Jul 11, 2024
233565b
DISMTools Nightly Installer
CodingWonders Jul 11, 2024
b64a0ca
Extensibility Suite: allow for easier copy of apps
CodingWonders Jul 12, 2024
79f82e0
DISMTools Nightly Installer
CodingWonders Jul 12, 2024
f01c380
Updated Scintilla5.NET to 5.5.2
CodingWonders Jul 13, 2024
c31a9bd
DISMTools Nightly Installer
CodingWonders Jul 13, 2024
a5af0b1
Updated Scintilla5.NET to 5.6
CodingWonders Jul 14, 2024
9fc52f8
DISMTools Nightly Installer
CodingWonders Jul 14, 2024
b78aacd
Add WIM Explorer download capability
CodingWonders Jul 15, 2024
8b2ef8f
DISMTools Nightly Installer
CodingWonders Jul 15, 2024
5ce585c
Move download code to background thread and improve reliability
CodingWonders Jul 16, 2024
66bfd49
DISMTools Nightly Installer
CodingWonders Jul 16, 2024
dd48450
Localized stub preference setting
CodingWonders Jul 19, 2024
6ecc1ae
DISMTools Nightly Installer
CodingWonders Jul 19, 2024
3d61d9a
Update create-nightly-installer.yaml
CodingWonders Jul 19, 2024
a5579a9
Update create-nightly-installer.yaml
CodingWonders Jul 19, 2024
579306c
Update create-nightly-installer.yaml
CodingWonders Jul 19, 2024
8eae458
DISMTools Nightly Installer
CodingWonders Jul 19, 2024
8528da5
Update create-nightly-installer.yaml
CodingWonders Jul 19, 2024
d943e05
DISMTools Nightly Installer
CodingWonders Jul 19, 2024
1143c9d
Update create-nightly-installer.yaml
CodingWonders Jul 19, 2024
c15f9d8
Reinstate old trigger
CodingWonders Jul 19, 2024
4a86341
DISMTools Nightly Installer
CodingWonders Jul 19, 2024
61fcdaf
Update What's New section, and new Update System info files
CodingWonders Jul 20, 2024
fb7675a
DISMTools Nightly Installer
CodingWonders Jul 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions DISMTools.vbproj
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@
<Reference Include="Microsoft.Dism, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5bba90053b345501, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Dism.3.1.0\lib\net40\Microsoft.Dism.dll</HintPath>
</Reference>
<Reference Include="Scintilla.NET, Version=5.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>packages\Scintilla5.NET.5.5.1\lib\net47\Scintilla.NET.dll</HintPath>
<Reference Include="Scintilla.NET, Version=5.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>packages\Scintilla5.NET.5.6.0\lib\net462\Scintilla.NET.dll</HintPath>
</Reference>
<Reference Include="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<Private>True</Private>
Expand Down Expand Up @@ -516,6 +516,12 @@
<Compile Include="Panels\Img_Ops\Pkgs\AddPackage.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Panels\Img_Ops\Pkgs\MUMAdditionDialog.Designer.vb">
<DependentUpon>MUMAdditionDialog.vb</DependentUpon>
</Compile>
<Compile Include="Panels\Img_Ops\Pkgs\MUMAdditionDialog.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Panels\Img_Ops\Pkgs\RemPackage.Designer.vb">
<DependentUpon>RemPackage.vb</DependentUpon>
</Compile>
Expand Down Expand Up @@ -916,6 +922,9 @@
<EmbeddedResource Include="Panels\Img_Ops\Pkgs\AddPackage.resx">
<DependentUpon>AddPackage.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Panels\Img_Ops\Pkgs\MUMAdditionDialog.resx">
<DependentUpon>MUMAdditionDialog.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Panels\Img_Ops\Pkgs\RemPackage.resx">
<DependentUpon>RemPackage.vb</DependentUpon>
</EmbeddedResource>
Expand Down Expand Up @@ -1743,12 +1752,12 @@ IF EXIST tools (
rd tools /s /q
)</PreBuildEvent>
</PropertyGroup>
<Import Project="packages\Scintilla5.NET.5.5.1\build\scintilla5.net.targets" Condition="Exists('packages\Scintilla5.NET.5.5.1\build\scintilla5.net.targets')" />
<Import Project="packages\Scintilla5.NET.5.6.0\build\scintilla5.net.targets" Condition="Exists('packages\Scintilla5.NET.5.6.0\build\scintilla5.net.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\Scintilla5.NET.5.5.1\build\scintilla5.net.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Scintilla5.NET.5.5.1\build\scintilla5.net.targets'))" />
<Error Condition="!Exists('packages\Scintilla5.NET.5.6.0\build\scintilla5.net.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Scintilla5.NET.5.6.0\build\scintilla5.net.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
37 changes: 37 additions & 0 deletions Elements/AppxPackage.vb
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,19 @@ Namespace Elements
Public Property PackageCustomDataFile As String

Public Property PackageRegions As String

''' <summary>
''' Determines whether a stub package is available
''' </summary>
''' <returns>Returns true if a stub is available and false otherwise</returns>
''' <remarks></remarks>
Public Property SupportsStub As Boolean

''' <summary>
''' The stub package option specified by the user
''' </summary>
''' <remarks></remarks>
Public Property StubPackageOption As StubPreference
End Class

''' <summary>
Expand Down Expand Up @@ -89,5 +102,29 @@ Namespace Elements
<XmlAttribute("Uri")>
Public Property MainBundleUri As String
End Class

''' <summary>
''' Stub package options for AppX packages
''' </summary>
''' <remarks>This is only supported on Windows 10 and later, and only works with bundle packages which contain stub packages. These stub packages are located at "AppxMetadata\Stub"</remarks>
Public Enum StubPreference
''' <summary>
''' No stub preference is defined
''' </summary>
''' <remarks></remarks>
NoPreference = 0

''' <summary>
''' Only installs a stub version of the package
''' </summary>
''' <remarks></remarks>
StubOnly = 1

''' <summary>
''' Installs the full package
''' </summary>
''' <remarks></remarks>
FullPackage = 2
End Enum
End Namespace

Binary file modified Helpers/extps1/PE_Helper/files/DISMTools-PE.zip
Binary file not shown.
Binary file modified Installer/Nightly/dt_setup.exe
Binary file not shown.
37 changes: 21 additions & 16 deletions MainForm.Designer.vb

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

3 changes: 3 additions & 0 deletions MainForm.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1169,4 +1169,7 @@
<metadata name="ImgSpecialToolsCMS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>678, 95</value>
</metadata>
<metadata name="WIEDownloaderBW.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>844, 95</value>
</metadata>
</root>
58 changes: 57 additions & 1 deletion MainForm.vb
Original file line number Diff line number Diff line change
Expand Up @@ -4383,7 +4383,7 @@ Public Class MainForm
imgAppxArchitectureList = imgAppxArchitectures.ToList()
imgAppxResourceIdList = imgAppxResourceIds.ToList()
PSExtAppxGetter()
If Directory.Exists(Application.StartupPath & "\bin\extps1\out") And My.Computer.FileSystem.GetFiles(Application.StartupPath & "\bin\extps1\out").Count > 0 Then
If Directory.Exists(Application.StartupPath & "\bin\extps1\out") AndAlso My.Computer.FileSystem.GetFiles(Application.StartupPath & "\bin\extps1\out").Count > 0 Then
Dim appxPkgNameRTB As New RichTextBox()
Dim appxPkgFullNameRTB As New RichTextBox()
Dim appxArchRTB As New RichTextBox()
Expand Down Expand Up @@ -19598,4 +19598,60 @@ Public Class MainForm
Private Sub CreateTestingEnvironmentToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CreateTestingEnvironmentToolStripMenuItem.Click
NewTestingEnv.Show()
End Sub

Private Sub ListImage_Click(sender As Object, e As EventArgs) Handles ListImage.Click
If Not WIEDownloaderBW.IsBusy Then
WIEDownloaderBW.RunWorkerAsync()
End If
End Sub

Private Sub WIEDownloaderBW_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles WIEDownloaderBW.DoWork
Try
' Download the WIM Explorer and run it while passing the image as an argument
If Not Directory.Exists(Application.StartupPath & "\bin\utils\WIM-Explorer") Then
Directory.CreateDirectory(Application.StartupPath & "\bin\utils\WIM-Explorer")
End If
Using WIMExpClient As New WebClient()
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Dim contents As String = ""
Try
contents = WIMExpClient.DownloadString("https://raw.githubusercontent.com/CodingWonders/WIM-Explorer/main/DISMTools-Install.ps1")
Catch ex As WebException
MessageBox.Show("We couldn't download WIM Explorer Setup. Reason:" & CrLf & ex.Status.ToString())
Exit Sub
End Try
If contents <> "" Then
File.WriteAllText(Application.StartupPath & "\bin\utils\WIM-Explorer\setup.ps1", contents, UTF8)
End If
End Using
If File.Exists(Application.StartupPath & "\bin\utils\WIM-Explorer\setup.ps1") Then
' Run installer
Dim WEProc As New Process()
WEProc.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.Windows) & "\system32\WindowsPowerShell\v1.0\powershell.exe"
WEProc.StartInfo.WorkingDirectory = Application.StartupPath & "\bin\utils\WIM-Explorer"
WEProc.StartInfo.Arguments = "-executionpolicy unrestricted -file " & Quote & Application.StartupPath & "\bin\utils\WIM-Explorer\setup.ps1" & Quote
If Not Debugger.IsAttached Then
WEProc.StartInfo.CreateNoWindow = True
WEProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
End If
WEProc.Start()
WEProc.WaitForExit()
End If
If File.Exists(Application.StartupPath & "\bin\utils\WIM-Explorer\WIMExplorer.exe") Then
' Delete temporary files
Directory.Delete(Application.StartupPath & "\bin\utils\WIM-Explorer\temp", True)
File.Delete(Application.StartupPath & "\bin\utils\WIM-Explorer\setup.ps1")
Dim WimExplorer As New Process()
WimExplorer.StartInfo.FileName = Application.StartupPath & "\bin\utils\WIM-Explorer\WIMExplorer.exe"
WimExplorer.StartInfo.WorkingDirectory = Application.StartupPath & "\bin\utils\WIM-Explorer"
If (Not OnlineManagement) And (Not OfflineManagement) Then
WimExplorer.StartInfo.Arguments = "/image=" & Quote & SourceImg & Quote
End If
WimExplorer.Start()
End If
Catch ex As Exception
MessageBox.Show("We couldn't prepare WIM Explorer Setup. Reason:" & CrLf & ex.Message)
Exit Sub
End Try
End Sub
End Class
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.5.1.2471")>
<Assembly: AssemblyFileVersion("0.5.1.2471")>
<Assembly: AssemblyVersion("0.5.1.2472")>
<Assembly: AssemblyFileVersion("0.5.1.2472")>
16 changes: 10 additions & 6 deletions My Project/Resources.Designer.vb

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

18 changes: 12 additions & 6 deletions My Project/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1117,13 +1117,19 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
<value>..\Resources\get_appxpkg_info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="WhatsNew" xml:space="preserve">
<value>New features
<value>Bugfixes:

- The Preinstallation Environment (PE) Helper has had several improvements, including the addition of the DIM and the creation of testing environments
- Italian translations have been added
- The 7-Zip component has been updated to version 24.07
- If the Windows ADK is installed, but the necessary registry value is not present, the program can add it automatically
- MSU package addition has been simplified</value>
- The reliability of AppX background processes has been improved

New features:

- Stub package options can now be set for AppX packages that are added
- You can now add packages by specifying Microsoft Update Manifest (MUM) files (thanks @AnubyteCode for suggesting this)
- The PE Helper Extensibility Suite has had some improvements:
- An application folder is now included to which you can copy your third-party apps
- The ISO generation script now copies your apps to the ISO content root before creating the disc image
- The Scintilla.NET component has been updated to version 5.6.0
- You can now list the contents of any Windows image with the new Windows Image Explorer</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
Loading