diff --git a/3.1.1/DISM GUI.sln b/3.1.1/DISM GUI.sln
new file mode 100644
index 0000000..4e75f48
--- /dev/null
+++ b/3.1.1/DISM GUI.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DISM GUI", "DISM GUI\DISM GUI.vbproj", "{D3E5BCD3-DED9-48F3-B457-70F561E54A1A}"
+EndProject
+Global
+ GlobalSection(TeamFoundationVersionControl) = preSolution
+ SccNumberOfProjects = 2
+ SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
+ SccTeamFoundationServer = http://us-mertfs02:8080/tfs/defaultcollection
+ SccLocalPath0 = .
+ SccProjectUniqueName1 = DISM\u0020GUI\\DISM\u0020GUI.vbproj
+ SccProjectName1 = DISM\u0020GUI
+ SccLocalPath1 = DISM\u0020GUI
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.ActiveCfg = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.Build.0 = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.ActiveCfg = Release|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/3.1.1/DISM GUI.vssscc b/3.1.1/DISM GUI.vssscc
new file mode 100644
index 0000000..6cb031b
--- /dev/null
+++ b/3.1.1/DISM GUI.vssscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
+}
diff --git a/3.1.1/DISM GUI/DISM GUI.vbproj b/3.1.1/DISM GUI/DISM GUI.vbproj
new file mode 100644
index 0000000..38072ee
--- /dev/null
+++ b/3.1.1/DISM GUI/DISM GUI.vbproj
@@ -0,0 +1,185 @@
+
+
+
+ Debug
+ x86
+
+
+ 2.0
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}
+ WinExe
+ DISM_GUI.My.MyApplication
+ DISM_GUI
+ DISM GUI
+ 512
+ WindowsForms
+ v3.5
+ false
+ SAK
+ SAK
+ SAK
+ SAK
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 3.1.1.0.%2a
+ false
+ true
+
+
+ x86
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ x86
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+ My Project\app.manifest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frmProgress.vb
+
+
+ Form
+
+
+ frmAbout.vb
+
+
+ Form
+
+
+ Form
+
+
+ frmMain.vb
+ Form
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ frmAbout.vb
+
+
+ frmMain.vb
+
+
+ frmProgress.vb
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/DISM GUI.vbproj.vspscc b/3.1.1/DISM GUI/DISM GUI.vbproj.vspscc
new file mode 100644
index 0000000..b6d3289
--- /dev/null
+++ b/3.1.1/DISM GUI/DISM GUI.vbproj.vspscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}
diff --git a/3.1.1/DISM GUI/My Project/Application.Designer.vb b/3.1.1/DISM GUI/My Project/Application.Designer.vb
new file mode 100644
index 0000000..756617f
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.DISM_GUI.frmMain
+ End Sub
+ End Class
+End Namespace
diff --git a/3.1.1/DISM GUI/My Project/Application.myapp b/3.1.1/DISM GUI/My Project/Application.myapp
new file mode 100644
index 0000000..5907301
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ true
+ frmMain
+ false
+ 0
+ true
+ 0
+ true
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/My Project/AssemblyInfo.vb b/3.1.1/DISM GUI/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..a23bf34
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/3.1.1/DISM GUI/My Project/Resources.Designer.vb b/3.1.1/DISM GUI/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..b5a509e
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Resources.Designer.vb
@@ -0,0 +1,62 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DISM_GUI.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set(ByVal value As Global.System.Globalization.CultureInfo)
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/3.1.1/DISM GUI/My Project/Resources.resx b/3.1.1/DISM GUI/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/My Project/Settings.Designer.vb b/3.1.1/DISM GUI/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..dc36701
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.DISM_GUI.My.MySettings
+ Get
+ Return Global.DISM_GUI.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/3.1.1/DISM GUI/My Project/Settings.settings b/3.1.1/DISM GUI/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/3.1.1/DISM GUI/My Project/app.manifest b/3.1.1/DISM GUI/My Project/app.manifest
new file mode 100644
index 0000000..f5ca617
--- /dev/null
+++ b/3.1.1/DISM GUI/My Project/app.manifest
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.1.1/DISM GUI/frmAbout.Designer.vb b/3.1.1/DISM GUI/frmAbout.Designer.vb
new file mode 100644
index 0000000..019af65
--- /dev/null
+++ b/3.1.1/DISM GUI/frmAbout.Designer.vb
@@ -0,0 +1,159 @@
+ _
+Partial Class frmAbout
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
+ Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
+ Friend WithEvents LabelProductName As System.Windows.Forms.Label
+ Friend WithEvents LabelVersion As System.Windows.Forms.Label
+ Friend WithEvents OKButton As System.Windows.Forms.Button
+ Friend WithEvents LabelCopyright As System.Windows.Forms.Label
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout))
+ Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
+ Me.LogoPictureBox = New System.Windows.Forms.PictureBox()
+ Me.LabelProductName = New System.Windows.Forms.Label()
+ Me.LabelVersion = New System.Windows.Forms.Label()
+ Me.LabelCopyright = New System.Windows.Forms.Label()
+ Me.OKButton = New System.Windows.Forms.Button()
+ Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
+ Me.TableLayoutPanel.SuspendLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'TableLayoutPanel
+ '
+ Me.TableLayoutPanel.ColumnCount = 2
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!))
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!))
+ Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
+ Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5)
+ Me.TableLayoutPanel.Controls.Add(Me.LinkLabel1, 1, 3)
+ Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TableLayoutPanel.Location = New System.Drawing.Point(9, 9)
+ Me.TableLayoutPanel.Name = "TableLayoutPanel"
+ Me.TableLayoutPanel.RowCount = 6
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.Size = New System.Drawing.Size(396, 258)
+ Me.TableLayoutPanel.TabIndex = 0
+ '
+ 'LogoPictureBox
+ '
+ Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
+ Me.LogoPictureBox.Location = New System.Drawing.Point(3, 3)
+ Me.LogoPictureBox.Name = "LogoPictureBox"
+ Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6)
+ Me.LogoPictureBox.Size = New System.Drawing.Size(124, 252)
+ Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.LogoPictureBox.TabIndex = 0
+ Me.LogoPictureBox.TabStop = False
+ '
+ 'LabelProductName
+ '
+ Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelProductName.Location = New System.Drawing.Point(136, 0)
+ Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelProductName.Name = "LabelProductName"
+ Me.LabelProductName.Size = New System.Drawing.Size(257, 17)
+ Me.LabelProductName.TabIndex = 0
+ Me.LabelProductName.Text = "DISM GUI"
+ Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelVersion
+ '
+ Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelVersion.Location = New System.Drawing.Point(136, 25)
+ Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelVersion.Name = "LabelVersion"
+ Me.LabelVersion.Size = New System.Drawing.Size(257, 17)
+ Me.LabelVersion.TabIndex = 0
+ Me.LabelVersion.Text = "3.1.1"
+ Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelCopyright
+ '
+ Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelCopyright.Location = New System.Drawing.Point(136, 50)
+ Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelCopyright.Name = "LabelCopyright"
+ Me.LabelCopyright.Size = New System.Drawing.Size(257, 17)
+ Me.LabelCopyright.TabIndex = 0
+ Me.LabelCopyright.Text = "Mike Celone"
+ Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'OKButton
+ '
+ Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.OKButton.Location = New System.Drawing.Point(318, 232)
+ Me.OKButton.Name = "OKButton"
+ Me.OKButton.Size = New System.Drawing.Size(75, 23)
+ Me.OKButton.TabIndex = 0
+ Me.OKButton.Text = "&OK"
+ '
+ 'LinkLabel1
+ '
+ Me.LinkLabel1.AutoSize = True
+ Me.LinkLabel1.Location = New System.Drawing.Point(133, 75)
+ Me.LinkLabel1.Name = "LinkLabel1"
+ Me.LinkLabel1.Size = New System.Drawing.Size(160, 13)
+ Me.LinkLabel1.TabIndex = 1
+ Me.LinkLabel1.TabStop = True
+ Me.LinkLabel1.Text = "http://mikecel79.wordpress.com"
+ '
+ 'frmAbout
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.CancelButton = Me.OKButton
+ Me.ClientSize = New System.Drawing.Size(414, 276)
+ Me.Controls.Add(Me.TableLayoutPanel)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmAbout"
+ Me.Padding = New System.Windows.Forms.Padding(9)
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "AboutBox1"
+ Me.TableLayoutPanel.ResumeLayout(False)
+ Me.TableLayoutPanel.PerformLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
+
+End Class
diff --git a/3.1.1/DISM GUI/frmAbout.resx b/3.1.1/DISM GUI/frmAbout.resx
new file mode 100644
index 0000000..82e57bc
--- /dev/null
+++ b/3.1.1/DISM GUI/frmAbout.resx
@@ -0,0 +1,609 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+
+
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/frmAbout.vb b/3.1.1/DISM GUI/frmAbout.vb
new file mode 100644
index 0000000..4457252
--- /dev/null
+++ b/3.1.1/DISM GUI/frmAbout.vb
@@ -0,0 +1,34 @@
+Public NotInheritable Class frmAbout
+
+ Private Sub AboutBox1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ ' Set the title of the form.
+ Dim ApplicationTitle As String
+ If My.Application.Info.Title <> "" Then
+ ApplicationTitle = My.Application.Info.Title
+ Else
+ ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
+ End If
+ Me.Text = String.Format("About {0}", ApplicationTitle)
+ ' Initialize all of the text displayed on the About Box.
+ ' TODO: Customize the application's assembly information in the "Application" pane of the project
+ ' properties dialog (under the "Project" menu).
+ Me.LabelProductName.Text = My.Application.Info.ProductName
+ Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
+ Me.LabelCopyright.Text = My.Application.Info.Copyright
+ 'Me.LabelCompanyName.Text = My.Application.Info.CompanyName
+ 'Me.TextBoxDescription.Text = My.Application.Info.Description
+ End Sub
+
+ Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
+ Me.Close()
+ End Sub
+
+ Private Sub LabelProductName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelProductName.Click
+
+ End Sub
+
+
+ Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
+ System.Diagnostics.Process.Start("http://mikecel79.wordpress.com")
+ End Sub
+End Class
diff --git a/3.1.1/DISM GUI/frmMain.Designer.vb b/3.1.1/DISM GUI/frmMain.Designer.vb
new file mode 100644
index 0000000..3928d48
--- /dev/null
+++ b/3.1.1/DISM GUI/frmMain.Designer.vb
@@ -0,0 +1,843 @@
+ _
+Partial Class frmMain
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.txtWIM = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtMount = New System.Windows.Forms.TextBox()
+ Me.dlgOpenFolder = New System.Windows.Forms.FolderBrowserDialog()
+ Me.dlgOpenFile = New System.Windows.Forms.OpenFileDialog()
+ Me.btnOpenWIM = New System.Windows.Forms.Button()
+ Me.btnOpenMount = New System.Windows.Forms.Button()
+ Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
+ Me.ToolsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.OpenDISMLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.GetWIMInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupWIMToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.btnMount = New System.Windows.Forms.Button()
+ Me.cmbIndex = New System.Windows.Forms.ComboBox()
+ Me.btnDismount = New System.Windows.Forms.Button()
+ Me.txtOutput = New System.Windows.Forms.TextBox()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.btnOpenFolder = New System.Windows.Forms.Button()
+ Me.btnExit = New System.Windows.Forms.Button()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.BackgroundWorkerMount = New System.ComponentModel.BackgroundWorker()
+ Me.BackgroundWorkerDisMount = New System.ComponentModel.BackgroundWorker()
+ Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.TabPage1 = New System.Windows.Forms.TabPage()
+ Me.btnDisplayWIMInfo = New System.Windows.Forms.Button()
+ Me.TabPage2 = New System.Windows.Forms.TabPage()
+ Me.btnGetAllDriverInfo = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.btnDelDriver = New System.Windows.Forms.Button()
+ Me.txtDelDriverLocation = New System.Windows.Forms.TextBox()
+ Me.chkForceUnsigned = New System.Windows.Forms.CheckBox()
+ Me.btnOpnDriverFolder = New System.Windows.Forms.Button()
+ Me.txtDriverLocation = New System.Windows.Forms.TextBox()
+ Me.btnGetDrivers = New System.Windows.Forms.Button()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.chkRecurse = New System.Windows.Forms.CheckBox()
+ Me.btnAddDriver = New System.Windows.Forms.Button()
+ Me.TabPage3 = New System.Windows.Forms.TabPage()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.Label9 = New System.Windows.Forms.Label()
+ Me.Label8 = New System.Windows.Forms.Label()
+ Me.btnRemovePackagePath = New System.Windows.Forms.Button()
+ Me.btnRemovePackageName = New System.Windows.Forms.Button()
+ Me.txtPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtPackageName = New System.Windows.Forms.TextBox()
+ Me.btnGetPackages = New System.Windows.Forms.Button()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.btnAddPackages = New System.Windows.Forms.Button()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.chkIgnoreCheck = New System.Windows.Forms.CheckBox()
+ Me.txtPackageFile = New System.Windows.Forms.TextBox()
+ Me.btnOpenPackageFile = New System.Windows.Forms.Button()
+ Me.TabPage4 = New System.Windows.Forms.TabPage()
+ Me.btnDisableFeature = New System.Windows.Forms.Button()
+ Me.chkEnablePkgPath = New System.Windows.Forms.CheckBox()
+ Me.chkEnablePkgName = New System.Windows.Forms.CheckBox()
+ Me.btnEnableFeature = New System.Windows.Forms.Button()
+ Me.Label12 = New System.Windows.Forms.Label()
+ Me.Label11 = New System.Windows.Forms.Label()
+ Me.Label10 = New System.Windows.Forms.Label()
+ Me.txtFeatPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtFeatPackageName = New System.Windows.Forms.TextBox()
+ Me.txtFeatureName = New System.Windows.Forms.TextBox()
+ Me.btnGetFeatures = New System.Windows.Forms.Button()
+ Me.BackgroundWorkerDISMCommand = New System.ComponentModel.BackgroundWorker()
+ Me.MenuStrip1.SuspendLayout()
+ Me.TabControl1.SuspendLayout()
+ Me.TabPage1.SuspendLayout()
+ Me.TabPage2.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.TabPage3.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
+ Me.TabPage4.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'txtWIM
+ '
+ Me.txtWIM.Location = New System.Drawing.Point(5, 25)
+ Me.txtWIM.Name = "txtWIM"
+ Me.txtWIM.Size = New System.Drawing.Size(339, 20)
+ Me.txtWIM.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(6, 3)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(49, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "WIM File"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(6, 91)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(81, 13)
+ Me.Label2.TabIndex = 2
+ Me.Label2.Text = "Mount Location"
+ '
+ 'txtMount
+ '
+ Me.txtMount.Location = New System.Drawing.Point(6, 108)
+ Me.txtMount.Name = "txtMount"
+ Me.txtMount.Size = New System.Drawing.Size(339, 20)
+ Me.txtMount.TabIndex = 3
+ '
+ 'dlgOpenFolder
+ '
+ Me.dlgOpenFolder.SelectedPath = "c:\"
+ '
+ 'btnOpenWIM
+ '
+ Me.btnOpenWIM.Location = New System.Drawing.Point(361, 21)
+ Me.btnOpenWIM.Name = "btnOpenWIM"
+ Me.btnOpenWIM.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenWIM.TabIndex = 4
+ Me.btnOpenWIM.Text = "Choose WIM"
+ Me.btnOpenWIM.UseVisualStyleBackColor = True
+ '
+ 'btnOpenMount
+ '
+ Me.btnOpenMount.Location = New System.Drawing.Point(362, 104)
+ Me.btnOpenMount.Name = "btnOpenMount"
+ Me.btnOpenMount.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenMount.TabIndex = 5
+ Me.btnOpenMount.Text = "Choose Folder"
+ Me.btnOpenMount.UseVisualStyleBackColor = True
+ '
+ 'MenuStrip1
+ '
+ Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolsToolStripMenuItem})
+ Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
+ Me.MenuStrip1.Name = "MenuStrip1"
+ Me.MenuStrip1.Size = New System.Drawing.Size(686, 24)
+ Me.MenuStrip1.TabIndex = 6
+ Me.MenuStrip1.Text = "MenuStrip1"
+ '
+ 'ToolsToolStripMenuItem
+ '
+ Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenDISMLogToolStripMenuItem, Me.GetWIMInfoToolStripMenuItem, Me.CleanupWIMToolStripMenuItem, Me.CleanupImageToolStripMenuItem, Me.AboutToolStripMenuItem})
+ Me.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem"
+ Me.ToolsToolStripMenuItem.Size = New System.Drawing.Size(48, 20)
+ Me.ToolsToolStripMenuItem.Text = "Tools"
+ '
+ 'OpenDISMLogToolStripMenuItem
+ '
+ Me.OpenDISMLogToolStripMenuItem.Name = "OpenDISMLogToolStripMenuItem"
+ Me.OpenDISMLogToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.OpenDISMLogToolStripMenuItem.Text = "Open DISM Log"
+ '
+ 'GetWIMInfoToolStripMenuItem
+ '
+ Me.GetWIMInfoToolStripMenuItem.Name = "GetWIMInfoToolStripMenuItem"
+ Me.GetWIMInfoToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.GetWIMInfoToolStripMenuItem.Text = "Get Mounted WIM Info"
+ '
+ 'CleanupWIMToolStripMenuItem
+ '
+ Me.CleanupWIMToolStripMenuItem.Name = "CleanupWIMToolStripMenuItem"
+ Me.CleanupWIMToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupWIMToolStripMenuItem.Text = "Cleanup WIM"
+ '
+ 'CleanupImageToolStripMenuItem
+ '
+ Me.CleanupImageToolStripMenuItem.Name = "CleanupImageToolStripMenuItem"
+ Me.CleanupImageToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupImageToolStripMenuItem.Text = "Cleanup Image"
+ '
+ 'AboutToolStripMenuItem
+ '
+ Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
+ Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.AboutToolStripMenuItem.Text = "About"
+ '
+ 'btnMount
+ '
+ Me.btnMount.Location = New System.Drawing.Point(523, 21)
+ Me.btnMount.Name = "btnMount"
+ Me.btnMount.Size = New System.Drawing.Size(127, 64)
+ Me.btnMount.TabIndex = 7
+ Me.btnMount.Text = "Mount WIM"
+ Me.btnMount.UseVisualStyleBackColor = True
+ '
+ 'cmbIndex
+ '
+ Me.cmbIndex.FormattingEnabled = True
+ Me.cmbIndex.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
+ Me.cmbIndex.Location = New System.Drawing.Point(478, 25)
+ Me.cmbIndex.Name = "cmbIndex"
+ Me.cmbIndex.Size = New System.Drawing.Size(30, 21)
+ Me.cmbIndex.TabIndex = 8
+ '
+ 'btnDismount
+ '
+ Me.btnDismount.Enabled = False
+ Me.btnDismount.Location = New System.Drawing.Point(523, 91)
+ Me.btnDismount.Name = "btnDismount"
+ Me.btnDismount.Size = New System.Drawing.Size(127, 64)
+ Me.btnDismount.TabIndex = 10
+ Me.btnDismount.Text = "Dismount WIM"
+ Me.btnDismount.UseVisualStyleBackColor = True
+ '
+ 'txtOutput
+ '
+ Me.txtOutput.Location = New System.Drawing.Point(11, 436)
+ Me.txtOutput.Multiline = True
+ Me.txtOutput.Name = "txtOutput"
+ Me.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Both
+ Me.txtOutput.Size = New System.Drawing.Size(656, 246)
+ Me.txtOutput.TabIndex = 13
+ Me.txtOutput.WordWrap = False
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(8, 420)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(69, 13)
+ Me.Label4.TabIndex = 14
+ Me.Label4.Text = "DISM Output"
+ '
+ 'btnOpenFolder
+ '
+ Me.btnOpenFolder.Location = New System.Drawing.Point(523, 161)
+ Me.btnOpenFolder.Name = "btnOpenFolder"
+ Me.btnOpenFolder.Size = New System.Drawing.Size(127, 64)
+ Me.btnOpenFolder.TabIndex = 15
+ Me.btnOpenFolder.Text = "Open Mounted Folder"
+ Me.btnOpenFolder.UseVisualStyleBackColor = True
+ '
+ 'btnExit
+ '
+ Me.btnExit.Location = New System.Drawing.Point(595, 687)
+ Me.btnExit.Name = "btnExit"
+ Me.btnExit.Size = New System.Drawing.Size(75, 23)
+ Me.btnExit.TabIndex = 16
+ Me.btnExit.Text = "Exit"
+ Me.btnExit.UseVisualStyleBackColor = True
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(475, 3)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(33, 13)
+ Me.Label3.TabIndex = 17
+ Me.Label3.Text = "Index"
+ '
+ 'BackgroundWorkerMount
+ '
+ Me.BackgroundWorkerMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerMount.WorkerSupportsCancellation = True
+ '
+ 'BackgroundWorkerDisMount
+ '
+ Me.BackgroundWorkerDisMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerDisMount.WorkerSupportsCancellation = True
+ '
+ 'TabControl1
+ '
+ Me.TabControl1.Controls.Add(Me.TabPage1)
+ Me.TabControl1.Controls.Add(Me.TabPage2)
+ Me.TabControl1.Controls.Add(Me.TabPage3)
+ Me.TabControl1.Controls.Add(Me.TabPage4)
+ Me.TabControl1.Location = New System.Drawing.Point(11, 27)
+ Me.TabControl1.Name = "TabControl1"
+ Me.TabControl1.SelectedIndex = 0
+ Me.TabControl1.Size = New System.Drawing.Size(663, 390)
+ Me.TabControl1.TabIndex = 18
+ '
+ 'TabPage1
+ '
+ Me.TabPage1.Controls.Add(Me.btnDisplayWIMInfo)
+ Me.TabPage1.Controls.Add(Me.btnOpenWIM)
+ Me.TabPage1.Controls.Add(Me.Label3)
+ Me.TabPage1.Controls.Add(Me.txtWIM)
+ Me.TabPage1.Controls.Add(Me.Label1)
+ Me.TabPage1.Controls.Add(Me.btnOpenFolder)
+ Me.TabPage1.Controls.Add(Me.Label2)
+ Me.TabPage1.Controls.Add(Me.txtMount)
+ Me.TabPage1.Controls.Add(Me.btnOpenMount)
+ Me.TabPage1.Controls.Add(Me.btnDismount)
+ Me.TabPage1.Controls.Add(Me.btnMount)
+ Me.TabPage1.Controls.Add(Me.cmbIndex)
+ Me.TabPage1.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage1.Name = "TabPage1"
+ Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage1.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage1.TabIndex = 0
+ Me.TabPage1.Text = "Mount Control"
+ Me.TabPage1.UseVisualStyleBackColor = True
+ '
+ 'btnDisplayWIMInfo
+ '
+ Me.btnDisplayWIMInfo.Location = New System.Drawing.Point(4, 52)
+ Me.btnDisplayWIMInfo.Name = "btnDisplayWIMInfo"
+ Me.btnDisplayWIMInfo.Size = New System.Drawing.Size(124, 23)
+ Me.btnDisplayWIMInfo.TabIndex = 18
+ Me.btnDisplayWIMInfo.Text = "Display WIM Info"
+ Me.btnDisplayWIMInfo.UseVisualStyleBackColor = True
+ '
+ 'TabPage2
+ '
+ Me.TabPage2.Controls.Add(Me.btnGetAllDriverInfo)
+ Me.TabPage2.Controls.Add(Me.GroupBox2)
+ Me.TabPage2.Controls.Add(Me.chkForceUnsigned)
+ Me.TabPage2.Controls.Add(Me.btnOpnDriverFolder)
+ Me.TabPage2.Controls.Add(Me.txtDriverLocation)
+ Me.TabPage2.Controls.Add(Me.btnGetDrivers)
+ Me.TabPage2.Controls.Add(Me.Label5)
+ Me.TabPage2.Controls.Add(Me.GroupBox1)
+ Me.TabPage2.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage2.Name = "TabPage2"
+ Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage2.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage2.TabIndex = 1
+ Me.TabPage2.Text = "Driver Management"
+ Me.TabPage2.UseVisualStyleBackColor = True
+ '
+ 'btnGetAllDriverInfo
+ '
+ Me.btnGetAllDriverInfo.Location = New System.Drawing.Point(525, 76)
+ Me.btnGetAllDriverInfo.Name = "btnGetAllDriverInfo"
+ Me.btnGetAllDriverInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAllDriverInfo.TabIndex = 14
+ Me.btnGetAllDriverInfo.Text = "Get All Driver information from WIM"
+ Me.btnGetAllDriverInfo.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.Label7)
+ Me.GroupBox2.Controls.Add(Me.btnDelDriver)
+ Me.GroupBox2.Controls.Add(Me.txtDelDriverLocation)
+ Me.GroupBox2.Location = New System.Drawing.Point(6, 197)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(461, 65)
+ Me.GroupBox2.TabIndex = 13
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Delete Drivers"
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(7, 20)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(66, 13)
+ Me.Label7.TabIndex = 2
+ Me.Label7.Text = "Driver Name"
+ '
+ 'btnDelDriver
+ '
+ Me.btnDelDriver.Location = New System.Drawing.Point(316, 35)
+ Me.btnDelDriver.Name = "btnDelDriver"
+ Me.btnDelDriver.Size = New System.Drawing.Size(124, 23)
+ Me.btnDelDriver.TabIndex = 1
+ Me.btnDelDriver.Text = "Delete Driver"
+ Me.btnDelDriver.UseVisualStyleBackColor = True
+ '
+ 'txtDelDriverLocation
+ '
+ Me.txtDelDriverLocation.Location = New System.Drawing.Point(4, 39)
+ Me.txtDelDriverLocation.Name = "txtDelDriverLocation"
+ Me.txtDelDriverLocation.Size = New System.Drawing.Size(305, 20)
+ Me.txtDelDriverLocation.TabIndex = 0
+ '
+ 'chkForceUnsigned
+ '
+ Me.chkForceUnsigned.AutoSize = True
+ Me.chkForceUnsigned.Location = New System.Drawing.Point(10, 68)
+ Me.chkForceUnsigned.Name = "chkForceUnsigned"
+ Me.chkForceUnsigned.Size = New System.Drawing.Size(101, 17)
+ Me.chkForceUnsigned.TabIndex = 10
+ Me.chkForceUnsigned.Text = "Force Unsigned"
+ Me.chkForceUnsigned.UseVisualStyleBackColor = True
+ '
+ 'btnOpnDriverFolder
+ '
+ Me.btnOpnDriverFolder.Location = New System.Drawing.Point(324, 34)
+ Me.btnOpnDriverFolder.Name = "btnOpnDriverFolder"
+ Me.btnOpnDriverFolder.Size = New System.Drawing.Size(125, 23)
+ Me.btnOpnDriverFolder.TabIndex = 3
+ Me.btnOpnDriverFolder.Text = "Choose Driver Folder"
+ Me.btnOpnDriverFolder.UseVisualStyleBackColor = True
+ '
+ 'txtDriverLocation
+ '
+ Me.txtDriverLocation.Location = New System.Drawing.Point(11, 34)
+ Me.txtDriverLocation.Name = "txtDriverLocation"
+ Me.txtDriverLocation.Size = New System.Drawing.Size(307, 20)
+ Me.txtDriverLocation.TabIndex = 2
+ '
+ 'btnGetDrivers
+ '
+ Me.btnGetDrivers.Location = New System.Drawing.Point(525, 6)
+ Me.btnGetDrivers.Name = "btnGetDrivers"
+ Me.btnGetDrivers.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetDrivers.TabIndex = 1
+ Me.btnGetDrivers.Text = "Get 3rd Party Driver information from WIM"
+ Me.btnGetDrivers.UseVisualStyleBackColor = True
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(7, 21)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(116, 13)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "Drivers Folder Location"
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.chkRecurse)
+ Me.GroupBox1.Controls.Add(Me.btnAddDriver)
+ Me.GroupBox1.Location = New System.Drawing.Point(6, 6)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(461, 185)
+ Me.GroupBox1.TabIndex = 11
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Add Drivers"
+ '
+ 'chkRecurse
+ '
+ Me.chkRecurse.AutoSize = True
+ Me.chkRecurse.Checked = True
+ Me.chkRecurse.CheckState = System.Windows.Forms.CheckState.Checked
+ Me.chkRecurse.Location = New System.Drawing.Point(112, 62)
+ Me.chkRecurse.Name = "chkRecurse"
+ Me.chkRecurse.Size = New System.Drawing.Size(66, 17)
+ Me.chkRecurse.TabIndex = 9
+ Me.chkRecurse.Text = "Recurse"
+ Me.chkRecurse.UseVisualStyleBackColor = True
+ '
+ 'btnAddDriver
+ '
+ Me.btnAddDriver.Location = New System.Drawing.Point(4, 85)
+ Me.btnAddDriver.Name = "btnAddDriver"
+ Me.btnAddDriver.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddDriver.TabIndex = 8
+ Me.btnAddDriver.Text = "Add Drivers"
+ Me.btnAddDriver.UseVisualStyleBackColor = True
+ '
+ 'TabPage3
+ '
+ Me.TabPage3.Controls.Add(Me.GroupBox4)
+ Me.TabPage3.Controls.Add(Me.btnGetPackages)
+ Me.TabPage3.Controls.Add(Me.GroupBox3)
+ Me.TabPage3.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage3.Name = "TabPage3"
+ Me.TabPage3.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage3.TabIndex = 2
+ Me.TabPage3.Text = "Package Management"
+ Me.TabPage3.UseVisualStyleBackColor = True
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.Label9)
+ Me.GroupBox4.Controls.Add(Me.Label8)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackagePath)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackageName)
+ Me.GroupBox4.Controls.Add(Me.txtPackagePath)
+ Me.GroupBox4.Controls.Add(Me.txtPackageName)
+ Me.GroupBox4.Location = New System.Drawing.Point(4, 158)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(515, 159)
+ Me.GroupBox4.TabIndex = 16
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "Remove Packages"
+ '
+ 'Label9
+ '
+ Me.Label9.AutoSize = True
+ Me.Label9.Location = New System.Drawing.Point(3, 24)
+ Me.Label9.Name = "Label9"
+ Me.Label9.Size = New System.Drawing.Size(81, 13)
+ Me.Label9.TabIndex = 5
+ Me.Label9.Text = "Package Name"
+ '
+ 'Label8
+ '
+ Me.Label8.AutoSize = True
+ Me.Label8.Location = New System.Drawing.Point(6, 66)
+ Me.Label8.Name = "Label8"
+ Me.Label8.Size = New System.Drawing.Size(75, 13)
+ Me.Label8.TabIndex = 4
+ Me.Label8.Text = "Package Path"
+ '
+ 'btnRemovePackagePath
+ '
+ Me.btnRemovePackagePath.Location = New System.Drawing.Point(317, 88)
+ Me.btnRemovePackagePath.Name = "btnRemovePackagePath"
+ Me.btnRemovePackagePath.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackagePath.TabIndex = 3
+ Me.btnRemovePackagePath.Text = "Remove Package"
+ Me.btnRemovePackagePath.UseVisualStyleBackColor = True
+ '
+ 'btnRemovePackageName
+ '
+ Me.btnRemovePackageName.Location = New System.Drawing.Point(317, 43)
+ Me.btnRemovePackageName.Name = "btnRemovePackageName"
+ Me.btnRemovePackageName.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackageName.TabIndex = 2
+ Me.btnRemovePackageName.Text = "Remove Package"
+ Me.btnRemovePackageName.UseVisualStyleBackColor = True
+ '
+ 'txtPackagePath
+ '
+ Me.txtPackagePath.Location = New System.Drawing.Point(3, 88)
+ Me.txtPackagePath.Name = "txtPackagePath"
+ Me.txtPackagePath.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackagePath.TabIndex = 1
+ '
+ 'txtPackageName
+ '
+ Me.txtPackageName.Location = New System.Drawing.Point(3, 43)
+ Me.txtPackageName.Name = "txtPackageName"
+ Me.txtPackageName.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageName.TabIndex = 0
+ '
+ 'btnGetPackages
+ '
+ Me.btnGetPackages.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetPackages.Name = "btnGetPackages"
+ Me.btnGetPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetPackages.TabIndex = 9
+ Me.btnGetPackages.Text = "Get Packges from WIM"
+ Me.btnGetPackages.UseVisualStyleBackColor = True
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.btnAddPackages)
+ Me.GroupBox3.Controls.Add(Me.Label6)
+ Me.GroupBox3.Controls.Add(Me.chkIgnoreCheck)
+ Me.GroupBox3.Controls.Add(Me.txtPackageFile)
+ Me.GroupBox3.Controls.Add(Me.btnOpenPackageFile)
+ Me.GroupBox3.Location = New System.Drawing.Point(3, 3)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(516, 148)
+ Me.GroupBox3.TabIndex = 15
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Add Packages"
+ '
+ 'btnAddPackages
+ '
+ Me.btnAddPackages.Location = New System.Drawing.Point(6, 78)
+ Me.btnAddPackages.Name = "btnAddPackages"
+ Me.btnAddPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddPackages.TabIndex = 14
+ Me.btnAddPackages.Text = "Add Packages"
+ Me.btnAddPackages.UseVisualStyleBackColor = True
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(6, 16)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(82, 13)
+ Me.Label6.TabIndex = 11
+ Me.Label6.Text = "Package Folder"
+ '
+ 'chkIgnoreCheck
+ '
+ Me.chkIgnoreCheck.AutoSize = True
+ Me.chkIgnoreCheck.Location = New System.Drawing.Point(9, 55)
+ Me.chkIgnoreCheck.Name = "chkIgnoreCheck"
+ Me.chkIgnoreCheck.Size = New System.Drawing.Size(90, 17)
+ Me.chkIgnoreCheck.TabIndex = 13
+ Me.chkIgnoreCheck.Text = "Ignore Check"
+ Me.chkIgnoreCheck.UseVisualStyleBackColor = True
+ '
+ 'txtPackageFile
+ '
+ Me.txtPackageFile.Location = New System.Drawing.Point(6, 29)
+ Me.txtPackageFile.Name = "txtPackageFile"
+ Me.txtPackageFile.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageFile.TabIndex = 10
+ '
+ 'btnOpenPackageFile
+ '
+ Me.btnOpenPackageFile.Location = New System.Drawing.Point(320, 25)
+ Me.btnOpenPackageFile.Name = "btnOpenPackageFile"
+ Me.btnOpenPackageFile.Size = New System.Drawing.Size(131, 23)
+ Me.btnOpenPackageFile.TabIndex = 12
+ Me.btnOpenPackageFile.Text = "Choose Package Folder"
+ Me.btnOpenPackageFile.UseVisualStyleBackColor = True
+ '
+ 'TabPage4
+ '
+ Me.TabPage4.Controls.Add(Me.btnDisableFeature)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgPath)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgName)
+ Me.TabPage4.Controls.Add(Me.btnEnableFeature)
+ Me.TabPage4.Controls.Add(Me.Label12)
+ Me.TabPage4.Controls.Add(Me.Label11)
+ Me.TabPage4.Controls.Add(Me.Label10)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackagePath)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackageName)
+ Me.TabPage4.Controls.Add(Me.txtFeatureName)
+ Me.TabPage4.Controls.Add(Me.btnGetFeatures)
+ Me.TabPage4.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage4.Name = "TabPage4"
+ Me.TabPage4.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage4.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage4.TabIndex = 3
+ Me.TabPage4.Text = "Feature Management"
+ Me.TabPage4.UseVisualStyleBackColor = True
+ '
+ 'btnDisableFeature
+ '
+ Me.btnDisableFeature.Location = New System.Drawing.Point(525, 143)
+ Me.btnDisableFeature.Name = "btnDisableFeature"
+ Me.btnDisableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnDisableFeature.TabIndex = 22
+ Me.btnDisableFeature.Text = "Disable Feature"
+ Me.btnDisableFeature.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgPath
+ '
+ Me.chkEnablePkgPath.AutoSize = True
+ Me.chkEnablePkgPath.Location = New System.Drawing.Point(5, 117)
+ Me.chkEnablePkgPath.Name = "chkEnablePkgPath"
+ Me.chkEnablePkgPath.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgPath.TabIndex = 21
+ Me.chkEnablePkgPath.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgName
+ '
+ Me.chkEnablePkgName.AutoSize = True
+ Me.chkEnablePkgName.Location = New System.Drawing.Point(5, 70)
+ Me.chkEnablePkgName.Name = "chkEnablePkgName"
+ Me.chkEnablePkgName.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgName.TabIndex = 20
+ Me.chkEnablePkgName.UseVisualStyleBackColor = True
+ '
+ 'btnEnableFeature
+ '
+ Me.btnEnableFeature.Location = New System.Drawing.Point(525, 73)
+ Me.btnEnableFeature.Name = "btnEnableFeature"
+ Me.btnEnableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnEnableFeature.TabIndex = 19
+ Me.btnEnableFeature.Text = "Enable Feature"
+ Me.btnEnableFeature.UseVisualStyleBackColor = True
+ '
+ 'Label12
+ '
+ Me.Label12.AutoSize = True
+ Me.Label12.Location = New System.Drawing.Point(27, 95)
+ Me.Label12.Name = "Label12"
+ Me.Label12.Size = New System.Drawing.Size(75, 13)
+ Me.Label12.TabIndex = 18
+ Me.Label12.Text = "Package Path"
+ '
+ 'Label11
+ '
+ Me.Label11.AutoSize = True
+ Me.Label11.Location = New System.Drawing.Point(27, 48)
+ Me.Label11.Name = "Label11"
+ Me.Label11.Size = New System.Drawing.Size(81, 13)
+ Me.Label11.TabIndex = 17
+ Me.Label11.Text = "Package Name"
+ '
+ 'Label10
+ '
+ Me.Label10.AutoSize = True
+ Me.Label10.Location = New System.Drawing.Point(27, 3)
+ Me.Label10.Name = "Label10"
+ Me.Label10.Size = New System.Drawing.Size(74, 13)
+ Me.Label10.TabIndex = 16
+ Me.Label10.Text = "Feature Name"
+ '
+ 'txtFeatPackagePath
+ '
+ Me.txtFeatPackagePath.Enabled = False
+ Me.txtFeatPackagePath.Location = New System.Drawing.Point(26, 111)
+ Me.txtFeatPackagePath.Name = "txtFeatPackagePath"
+ Me.txtFeatPackagePath.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackagePath.TabIndex = 15
+ '
+ 'txtFeatPackageName
+ '
+ Me.txtFeatPackageName.Enabled = False
+ Me.txtFeatPackageName.Location = New System.Drawing.Point(26, 64)
+ Me.txtFeatPackageName.Name = "txtFeatPackageName"
+ Me.txtFeatPackageName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackageName.TabIndex = 12
+ '
+ 'txtFeatureName
+ '
+ Me.txtFeatureName.Location = New System.Drawing.Point(26, 19)
+ Me.txtFeatureName.Name = "txtFeatureName"
+ Me.txtFeatureName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatureName.TabIndex = 11
+ '
+ 'btnGetFeatures
+ '
+ Me.btnGetFeatures.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetFeatures.Name = "btnGetFeatures"
+ Me.btnGetFeatures.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetFeatures.TabIndex = 10
+ Me.btnGetFeatures.Text = "Get Features from WIM"
+ Me.btnGetFeatures.UseVisualStyleBackColor = True
+ '
+ 'BackgroundWorkerDISMCommand
+ '
+ '
+ 'frmMain
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(686, 722)
+ Me.Controls.Add(Me.TabControl1)
+ Me.Controls.Add(Me.btnExit)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.txtOutput)
+ Me.Controls.Add(Me.MenuStrip1)
+ Me.MainMenuStrip = Me.MenuStrip1
+ Me.Name = "frmMain"
+ Me.Text = "DISM GUI"
+ Me.MenuStrip1.ResumeLayout(False)
+ Me.MenuStrip1.PerformLayout()
+ Me.TabControl1.ResumeLayout(False)
+ Me.TabPage1.ResumeLayout(False)
+ Me.TabPage1.PerformLayout()
+ Me.TabPage2.ResumeLayout(False)
+ Me.TabPage2.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.TabPage3.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.GroupBox4.PerformLayout()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox3.PerformLayout()
+ Me.TabPage4.ResumeLayout(False)
+ Me.TabPage4.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txtWIM As System.Windows.Forms.TextBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents txtMount As System.Windows.Forms.TextBox
+ Friend WithEvents dlgOpenFolder As System.Windows.Forms.FolderBrowserDialog
+ Friend WithEvents dlgOpenFile As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents btnOpenWIM As System.Windows.Forms.Button
+ Friend WithEvents btnOpenMount As System.Windows.Forms.Button
+ Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
+ Friend WithEvents ToolsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnMount As System.Windows.Forms.Button
+ Friend WithEvents cmbIndex As System.Windows.Forms.ComboBox
+ Friend WithEvents AboutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDismount As System.Windows.Forms.Button
+ Friend WithEvents txtOutput As System.Windows.Forms.TextBox
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents btnOpenFolder As System.Windows.Forms.Button
+ Friend WithEvents btnExit As System.Windows.Forms.Button
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents OpenDISMLogToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents BackgroundWorkerMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents BackgroundWorkerDisMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+ Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
+ Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
+ Friend WithEvents Label5 As System.Windows.Forms.Label
+ Friend WithEvents btnGetDrivers As System.Windows.Forms.Button
+ Friend WithEvents txtDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpnDriverFolder As System.Windows.Forms.Button
+ Friend WithEvents chkForceUnsigned As System.Windows.Forms.CheckBox
+ Friend WithEvents btnAddDriver As System.Windows.Forms.Button
+ Friend WithEvents BackgroundWorkerDISMCommand As System.ComponentModel.BackgroundWorker
+ Friend WithEvents CleanupWIMToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents GetWIMInfoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDisplayWIMInfo As System.Windows.Forms.Button
+ Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetPackages As System.Windows.Forms.Button
+ Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
+ Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents txtPackageFile As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpenPackageFile As System.Windows.Forms.Button
+ Friend WithEvents btnAddPackages As System.Windows.Forms.Button
+ Friend WithEvents chkIgnoreCheck As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnGetAllDriverInfo As System.Windows.Forms.Button
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnDelDriver As System.Windows.Forms.Button
+ Friend WithEvents txtDelDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents Label7 As System.Windows.Forms.Label
+ Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label9 As System.Windows.Forms.Label
+ Friend WithEvents Label8 As System.Windows.Forms.Label
+ Friend WithEvents btnRemovePackagePath As System.Windows.Forms.Button
+ Friend WithEvents btnRemovePackageName As System.Windows.Forms.Button
+ Friend WithEvents txtPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
+ Friend WithEvents chkRecurse As System.Windows.Forms.CheckBox
+ Friend WithEvents btnGetFeatures As System.Windows.Forms.Button
+ Friend WithEvents btnEnableFeature As System.Windows.Forms.Button
+ Friend WithEvents Label12 As System.Windows.Forms.Label
+ Friend WithEvents Label11 As System.Windows.Forms.Label
+ Friend WithEvents Label10 As System.Windows.Forms.Label
+ Friend WithEvents txtFeatPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatureName As System.Windows.Forms.TextBox
+ Friend WithEvents chkEnablePkgPath As System.Windows.Forms.CheckBox
+ Friend WithEvents chkEnablePkgName As System.Windows.Forms.CheckBox
+ Friend WithEvents btnDisableFeature As System.Windows.Forms.Button
+ Friend WithEvents CleanupImageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+
+End Class
diff --git a/3.1.1/DISM GUI/frmMain.resx b/3.1.1/DISM GUI/frmMain.resx
new file mode 100644
index 0000000..e52af4f
--- /dev/null
+++ b/3.1.1/DISM GUI/frmMain.resx
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 188, 17
+
+
+ 313, 17
+
+
+ 428, 17
+
+
+ 621, 17
+
+
+ 17, 56
+
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/frmMain.vb b/3.1.1/DISM GUI/frmMain.vb
new file mode 100644
index 0000000..67b77ab
--- /dev/null
+++ b/3.1.1/DISM GUI/frmMain.vb
@@ -0,0 +1,564 @@
+Imports Microsoft.Win32
+Public Class frmMain
+ Public Property RedirectStandardOutput As Boolean
+ Dim strFolderName As String
+ Dim WIMMounted As Boolean = False
+ Dim strMountedImageLocation As String
+ Dim strIndex As String
+ Dim strWIM As String
+ Dim strOutput As String
+ Dim strDISMExitCode As String
+ Dim blnDISMCommit As Boolean
+ Dim strDriverLocation As String
+ Dim blnForceUnsigned As Boolean
+ Dim strDISMArguments As String
+ Dim strPackageLocation As String
+ Dim strLocation As String
+ Dim blnIgnoreCheck As Boolean
+ Dim strDelDriverLocation As String
+ Dim strPackageName As String
+ Dim strPackagePath As String
+ Dim strFeatureName As String
+ Dim OnlineMode As Boolean = False
+
+
+
+
+
+
+ Private Sub btnOpenWIM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenWIM.Click
+ dlgOpenFile.InitialDirectory = "c:\"
+ dlgOpenFile.Title = "Choose WIM file to Open"
+ dlgOpenFile.Filter = ("WIM Files(*.wim)|*.wim|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenFile.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strFileName As String = dlgOpenFile.FileName
+ txtWIM.Text = strFileName
+ End If
+
+ End Sub
+
+ Private Sub btnOpenMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenMount.Click
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ dlgOpenFolder.ShowDialog()
+ Dim strFolderName As String = dlgOpenFolder.SelectedPath
+ Dim dirs As String() = System.IO.Directory.GetDirectories(strFolderName)
+ Dim files As String() = System.IO.Directory.GetFiles(strFolderName)
+ If dirs.Length = 0 AndAlso files.Length = 0 Then
+ txtMount.Text = strFolderName
+ Else
+ If MessageBox.Show("You must choose an empty folder to mount the WIM") = DialogResult.OK Then
+ Else
+ 'Do Nothing
+ End If
+ End If
+ End Sub
+
+
+
+ Private Sub btnMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMount.Click
+ txtOutput.Text = ""
+ If txtWIM.Text = "" Or txtMount.Text = "" Or cmbIndex.Text = "" Then
+ MsgBox("You must select a WIM and folder first")
+ Else
+ txtMount.Text = Replace(txtMount.Text, """", "")
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ txtWIM.Text = Replace(txtWIM.Text, """", "")
+ strWIM = txtWIM.Text
+ BackgroundWorkerMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+
+
+ End Sub
+
+ Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
+ frmAbout.ShowDialog()
+
+ End Sub
+
+ Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+ If MessageBox.Show("Are you sure you want to exit?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ If WIMMounted = True Then
+ If MessageBox.Show("You currently have a WIM Mounted. Do you want to dismount before exiting?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ 'DismountWIM()
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+
+
+ Else
+ e.Cancel = False
+ End If
+ Else
+ 'Do Nothing - Exit form
+ End If
+ Else
+ e.Cancel = True
+ End If
+
+
+ End Sub
+
+
+ Private Sub btnDismount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDismount.Click
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ strWIM = txtWIM.Text
+ txtOutput.Text = ""
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+
+ Private Sub btnOpenFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenFolder.Click
+ Dim OpenFolder As New Process
+ Process.Start("explorer.exe", txtMount.Text)
+ End Sub
+
+ Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
+ Me.Close()
+ End Sub
+
+ Private Sub OpenDISMLogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenDISMLogToolStripMenuItem.Click
+ Dim strWinDir As String = System.Environment.GetEnvironmentVariable("windir")
+ Dim OpenDISMLog As New Process
+ Process.Start("Notepad.exe", strWinDir & "\Logs\DISM\dism.log")
+ End Sub
+
+ Private Sub btnGetDrivers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetDrivers.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+ End Sub
+
+ Private Sub BackgroundWorkerMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerMount.DoWork
+ strDISMExitCode = ""
+ 'Mount WIM file
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ DISM.StartInfo.Arguments = "/Mount-WIM /WimFile:""" & strWIM & """" & " /index:" & strIndex & " /MountDir:" & """" & strFolderName & """"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ 'txtOutput.Text = output
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerMount.RunWorkerCompleted
+ 'Check to see if WIM mounted correctly
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = False
+ btnDismount.Enabled = True
+ WIMMounted = True
+ If strMountedImageLocation = "" Then
+ strMountedImageLocation = strFolderName
+ Else
+ 'Do Nothing
+ End If
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDisMount.DoWork
+ strDISMExitCode = ""
+
+ If MessageBox.Show("Do you want to commit changes?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ blnDISMCommit = True
+ Else
+ blnDISMCommit = False
+ End If
+
+
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+
+ If blnDISMCommit = True Then
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /commit"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ Else
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /discard"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ End If
+
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDisMount.RunWorkerCompleted
+ 'Verify DIM was dismounted
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = True
+ btnDismount.Enabled = False
+ WIMMounted = False
+ strMountedImageLocation = ""
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub btnOpnDriverFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpnDriverFolder.Click
+ txtDriverLocation.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddDriver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDriverLocation.Text = "" Then
+ MessageBox.Show("You must specify a folder where your drivers are located.")
+ Else
+ strDriverLocation = txtDriverLocation.Text
+ If chkForceUnsigned.Checked = True Then
+ 'blnForceUnsigned = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " /ForceUnsigned "
+ Else
+ 'blnForceUnsigned = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " "
+ End If
+ If chkRecurse.Checked = True Then
+ strDISMArguments = strDISMArguments & "/recurse"
+ Else
+ 'Do Nothing
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub GetWIMInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetWIMInfoToolStripMenuItem.Click
+ strDISMArguments = "/Get-MountedWIMInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDISMCommand.DoWork
+ Dim strInput As String = e.Argument
+ strDISMExitCode = ""
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ DISM.StartInfo.Arguments = strInput
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDISMCommand.RunWorkerCompleted
+ strDISMArguments = ""
+ frmProgress.Close()
+ End Sub
+
+ Private Sub CleanupWIMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupWIMToolStripMenuItem.Click
+ strDISMArguments = "/Cleanup-WIM"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+
+ Private Sub btnDisplayWIMInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayWIMInfo.Click
+
+ If txtWIM.Text = "" Then
+ MsgBox("You must select a WIM file first")
+ Else
+
+ strWIM = txtWIM.Text
+ strDISMArguments = "/Get-WimInfo /wimFile:""" & strWIM & """"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnGetPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Packages"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnOpenPackageFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenPackageFile.Click
+ txtPackageFile.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageFile.Text = "" Then
+ MessageBox.Show("You must specify a folder where your package(s) are located.")
+ Else
+ strPackageLocation = txtPackageFile.Text
+ If chkIgnoreCheck.Checked = True Then
+ blnIgnoreCheck = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """" & " /ignorecheck"
+ Else
+ blnIgnoreCheck = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """"
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Function OpenFolder()
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ Dim DidWork As Integer = dlgOpenFolder.ShowDialog
+ If DidWork = DialogResult.Cancel Then
+ strLocation = ""
+ Return strLocation
+ Else
+ strLocation = dlgOpenFolder.SelectedPath
+ Return strLocation
+ End If
+ End Function
+
+
+
+ Private Sub btnGetAllDriverInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetAllDriverInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers /All"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnDelDriver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDelDriverLocation.Text = "" Then
+ MessageBox.Show("You must enter in a driver name before continuing. The Driver name must end with inf")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Driver /driver:" & strDelDriverLocation
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackageName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackageName.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageName.Text = "" Then
+ MessageBox.Show("You must enter in a package name before continuing.")
+ Else
+ strPackageName = txtPackageName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackageName:" & strPackageName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackagePath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackagePath.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackagePath.Text = "" Or Microsoft.VisualBasic.Left(txtPackagePath.Text, 3) <> "cab" Then
+ MessageBox.Show("You must enter in a package path before continuing. The package path must point to a valid cab file.")
+ Else
+ strPackagePath = txtPackagePath.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackagePath:" & strPackagePath
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnGetFeatures_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetFeatures.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Features"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub chkEnablePkgName_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgName.CheckedChanged
+ If chkEnablePkgName.Checked = True Then
+ txtFeatPackageName.Enabled = True
+ ElseIf chkEnablePkgName.Checked = False Then
+ txtFeatPackageName.Enabled = False
+ End If
+
+ End Sub
+
+ Private Sub chkEnablePkgPath_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgPath.CheckedChanged
+ If chkEnablePkgPath.Checked = True Then
+ txtFeatPackagePath.Enabled = True
+ ElseIf chkEnablePkgPath.Checked = False Then
+ txtFeatPackagePath.Enabled = False
+ End If
+ End Sub
+
+ Private Sub btnEnableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True And txtFeatPackagePath.Text = "" Then
+ MessageBox.Show("If you enable the Package Path field you must specify a Package Path")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Enable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackagePath:" & txtFeatPackagePath.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnDisableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ MessageBox.Show("The PackagePath option cannot be used with disabling a feature. Anything entered into that box will be ignored.")
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Disable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub CleanupImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupImageToolStripMenuItem.Click
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Cleanup-Image /RevertPendingActions"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ cmbIndex.Text = "1"
+ End Sub
+
+End Class
diff --git a/3.1.1/DISM GUI/frmProgress.Designer.vb b/3.1.1/DISM GUI/frmProgress.Designer.vb
new file mode 100644
index 0000000..25d2797
--- /dev/null
+++ b/3.1.1/DISM GUI/frmProgress.Designer.vb
@@ -0,0 +1,74 @@
+ _
+Partial Class frmProgress
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(87, 9)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(279, 24)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "DISM is Running. Please wait...."
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(13, 65)
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(428, 23)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 1
+ '
+ 'Timer1
+ '
+ '
+ 'frmProgress
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(453, 148)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.ProgressBar1)
+ Me.Controls.Add(Me.Label1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmProgress"
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.Text = "DISM is Running"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents Timer1 As System.Windows.Forms.Timer
+End Class
diff --git a/3.1.1/DISM GUI/frmProgress.resx b/3.1.1/DISM GUI/frmProgress.resx
new file mode 100644
index 0000000..b78d45b
--- /dev/null
+++ b/3.1.1/DISM GUI/frmProgress.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/3.1.1/DISM GUI/frmProgress.vb b/3.1.1/DISM GUI/frmProgress.vb
new file mode 100644
index 0000000..35a2961
--- /dev/null
+++ b/3.1.1/DISM GUI/frmProgress.vb
@@ -0,0 +1,9 @@
+Public Class frmProgress
+ Dim Progress As Integer
+
+
+ Private Sub frmProgress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ Timer1.Enabled = True
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/3.5/DISM GUI.sln b/3.5/DISM GUI.sln
new file mode 100644
index 0000000..4e75f48
--- /dev/null
+++ b/3.5/DISM GUI.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DISM GUI", "DISM GUI\DISM GUI.vbproj", "{D3E5BCD3-DED9-48F3-B457-70F561E54A1A}"
+EndProject
+Global
+ GlobalSection(TeamFoundationVersionControl) = preSolution
+ SccNumberOfProjects = 2
+ SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
+ SccTeamFoundationServer = http://us-mertfs02:8080/tfs/defaultcollection
+ SccLocalPath0 = .
+ SccProjectUniqueName1 = DISM\u0020GUI\\DISM\u0020GUI.vbproj
+ SccProjectName1 = DISM\u0020GUI
+ SccLocalPath1 = DISM\u0020GUI
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.ActiveCfg = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.Build.0 = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.ActiveCfg = Release|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/3.5/DISM GUI.vssscc b/3.5/DISM GUI.vssscc
new file mode 100644
index 0000000..6cb031b
--- /dev/null
+++ b/3.5/DISM GUI.vssscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
+}
diff --git a/3.5/DISM GUI/DISM GUI.vbproj b/3.5/DISM GUI/DISM GUI.vbproj
new file mode 100644
index 0000000..4b1a303
--- /dev/null
+++ b/3.5/DISM GUI/DISM GUI.vbproj
@@ -0,0 +1,185 @@
+
+
+
+ Debug
+ x86
+
+
+ 2.0
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}
+ WinExe
+ DISM_GUI.My.MyApplication
+ DISM_GUI
+ DISM GUI
+ 512
+ WindowsForms
+ v3.5
+ false
+ SAK
+ SAK
+ SAK
+ SAK
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 3.0.0.%2a
+ false
+ true
+
+
+ x86
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ x86
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+ My Project\app.manifest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frmProgress.vb
+
+
+ Form
+
+
+ frmAbout.vb
+
+
+ Form
+
+
+ Form
+
+
+ frmMain.vb
+ Form
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ frmAbout.vb
+
+
+ frmMain.vb
+
+
+ frmProgress.vb
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/DISM GUI.vbproj.vspscc b/3.5/DISM GUI/DISM GUI.vbproj.vspscc
new file mode 100644
index 0000000..b6d3289
--- /dev/null
+++ b/3.5/DISM GUI/DISM GUI.vbproj.vspscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}
diff --git a/3.5/DISM GUI/My Project/Application.Designer.vb b/3.5/DISM GUI/My Project/Application.Designer.vb
new file mode 100644
index 0000000..756617f
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.DISM_GUI.frmMain
+ End Sub
+ End Class
+End Namespace
diff --git a/3.5/DISM GUI/My Project/Application.myapp b/3.5/DISM GUI/My Project/Application.myapp
new file mode 100644
index 0000000..5907301
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ true
+ frmMain
+ false
+ 0
+ true
+ 0
+ true
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/My Project/AssemblyInfo.vb b/3.5/DISM GUI/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..f53f477
--- /dev/null
+++ b/3.5/DISM GUI/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/3.5/DISM GUI/My Project/Resources.Designer.vb b/3.5/DISM GUI/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..b5a509e
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Resources.Designer.vb
@@ -0,0 +1,62 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DISM_GUI.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set(ByVal value As Global.System.Globalization.CultureInfo)
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/3.5/DISM GUI/My Project/Resources.resx b/3.5/DISM GUI/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/My Project/Settings.Designer.vb b/3.5/DISM GUI/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..dc36701
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.1
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.DISM_GUI.My.MySettings
+ Get
+ Return Global.DISM_GUI.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/3.5/DISM GUI/My Project/Settings.settings b/3.5/DISM GUI/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/3.5/DISM GUI/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/3.5/DISM GUI/My Project/app.manifest b/3.5/DISM GUI/My Project/app.manifest
new file mode 100644
index 0000000..f5ca617
--- /dev/null
+++ b/3.5/DISM GUI/My Project/app.manifest
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/3.5/DISM GUI/frmAbout.Designer.vb b/3.5/DISM GUI/frmAbout.Designer.vb
new file mode 100644
index 0000000..e28fa9f
--- /dev/null
+++ b/3.5/DISM GUI/frmAbout.Designer.vb
@@ -0,0 +1,159 @@
+ _
+Partial Class frmAbout
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
+ Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
+ Friend WithEvents LabelProductName As System.Windows.Forms.Label
+ Friend WithEvents LabelVersion As System.Windows.Forms.Label
+ Friend WithEvents OKButton As System.Windows.Forms.Button
+ Friend WithEvents LabelCopyright As System.Windows.Forms.Label
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout))
+ Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
+ Me.LogoPictureBox = New System.Windows.Forms.PictureBox()
+ Me.LabelProductName = New System.Windows.Forms.Label()
+ Me.LabelVersion = New System.Windows.Forms.Label()
+ Me.LabelCopyright = New System.Windows.Forms.Label()
+ Me.OKButton = New System.Windows.Forms.Button()
+ Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
+ Me.TableLayoutPanel.SuspendLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'TableLayoutPanel
+ '
+ Me.TableLayoutPanel.ColumnCount = 2
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!))
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!))
+ Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
+ Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5)
+ Me.TableLayoutPanel.Controls.Add(Me.LinkLabel1, 1, 3)
+ Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TableLayoutPanel.Location = New System.Drawing.Point(9, 9)
+ Me.TableLayoutPanel.Name = "TableLayoutPanel"
+ Me.TableLayoutPanel.RowCount = 6
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.Size = New System.Drawing.Size(396, 258)
+ Me.TableLayoutPanel.TabIndex = 0
+ '
+ 'LogoPictureBox
+ '
+ Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
+ Me.LogoPictureBox.Location = New System.Drawing.Point(3, 3)
+ Me.LogoPictureBox.Name = "LogoPictureBox"
+ Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6)
+ Me.LogoPictureBox.Size = New System.Drawing.Size(124, 252)
+ Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.LogoPictureBox.TabIndex = 0
+ Me.LogoPictureBox.TabStop = False
+ '
+ 'LabelProductName
+ '
+ Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelProductName.Location = New System.Drawing.Point(136, 0)
+ Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelProductName.Name = "LabelProductName"
+ Me.LabelProductName.Size = New System.Drawing.Size(257, 17)
+ Me.LabelProductName.TabIndex = 0
+ Me.LabelProductName.Text = "DISM GUI"
+ Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelVersion
+ '
+ Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelVersion.Location = New System.Drawing.Point(136, 25)
+ Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelVersion.Name = "LabelVersion"
+ Me.LabelVersion.Size = New System.Drawing.Size(257, 17)
+ Me.LabelVersion.TabIndex = 0
+ Me.LabelVersion.Text = "1.0"
+ Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelCopyright
+ '
+ Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelCopyright.Location = New System.Drawing.Point(136, 50)
+ Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelCopyright.Name = "LabelCopyright"
+ Me.LabelCopyright.Size = New System.Drawing.Size(257, 17)
+ Me.LabelCopyright.TabIndex = 0
+ Me.LabelCopyright.Text = "Mike Celone"
+ Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'OKButton
+ '
+ Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.OKButton.Location = New System.Drawing.Point(318, 232)
+ Me.OKButton.Name = "OKButton"
+ Me.OKButton.Size = New System.Drawing.Size(75, 23)
+ Me.OKButton.TabIndex = 0
+ Me.OKButton.Text = "&OK"
+ '
+ 'LinkLabel1
+ '
+ Me.LinkLabel1.AutoSize = True
+ Me.LinkLabel1.Location = New System.Drawing.Point(133, 75)
+ Me.LinkLabel1.Name = "LinkLabel1"
+ Me.LinkLabel1.Size = New System.Drawing.Size(160, 13)
+ Me.LinkLabel1.TabIndex = 1
+ Me.LinkLabel1.TabStop = True
+ Me.LinkLabel1.Text = "http://mikecel79.wordpress.com"
+ '
+ 'frmAbout
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.CancelButton = Me.OKButton
+ Me.ClientSize = New System.Drawing.Size(414, 276)
+ Me.Controls.Add(Me.TableLayoutPanel)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmAbout"
+ Me.Padding = New System.Windows.Forms.Padding(9)
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "AboutBox1"
+ Me.TableLayoutPanel.ResumeLayout(False)
+ Me.TableLayoutPanel.PerformLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
+
+End Class
diff --git a/3.5/DISM GUI/frmAbout.resx b/3.5/DISM GUI/frmAbout.resx
new file mode 100644
index 0000000..82e57bc
--- /dev/null
+++ b/3.5/DISM GUI/frmAbout.resx
@@ -0,0 +1,609 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+
+
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/frmAbout.vb b/3.5/DISM GUI/frmAbout.vb
new file mode 100644
index 0000000..4457252
--- /dev/null
+++ b/3.5/DISM GUI/frmAbout.vb
@@ -0,0 +1,34 @@
+Public NotInheritable Class frmAbout
+
+ Private Sub AboutBox1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ ' Set the title of the form.
+ Dim ApplicationTitle As String
+ If My.Application.Info.Title <> "" Then
+ ApplicationTitle = My.Application.Info.Title
+ Else
+ ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
+ End If
+ Me.Text = String.Format("About {0}", ApplicationTitle)
+ ' Initialize all of the text displayed on the About Box.
+ ' TODO: Customize the application's assembly information in the "Application" pane of the project
+ ' properties dialog (under the "Project" menu).
+ Me.LabelProductName.Text = My.Application.Info.ProductName
+ Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
+ Me.LabelCopyright.Text = My.Application.Info.Copyright
+ 'Me.LabelCompanyName.Text = My.Application.Info.CompanyName
+ 'Me.TextBoxDescription.Text = My.Application.Info.Description
+ End Sub
+
+ Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
+ Me.Close()
+ End Sub
+
+ Private Sub LabelProductName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelProductName.Click
+
+ End Sub
+
+
+ Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
+ System.Diagnostics.Process.Start("http://mikecel79.wordpress.com")
+ End Sub
+End Class
diff --git a/3.5/DISM GUI/frmMain.Designer.vb b/3.5/DISM GUI/frmMain.Designer.vb
new file mode 100644
index 0000000..7cd4ce3
--- /dev/null
+++ b/3.5/DISM GUI/frmMain.Designer.vb
@@ -0,0 +1,1181 @@
+ _
+Partial Class frmMain
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.txtWIM = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtMount = New System.Windows.Forms.TextBox()
+ Me.dlgOpenFolder = New System.Windows.Forms.FolderBrowserDialog()
+ Me.dlgOpenFile = New System.Windows.Forms.OpenFileDialog()
+ Me.btnOpenWIM = New System.Windows.Forms.Button()
+ Me.btnOpenMount = New System.Windows.Forms.Button()
+ Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
+ Me.ToolsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.OpenDISMLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.GetWIMInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupWIMToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.UseOnlineModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.btnMount = New System.Windows.Forms.Button()
+ Me.cmbIndex = New System.Windows.Forms.ComboBox()
+ Me.btnDismount = New System.Windows.Forms.Button()
+ Me.txtOutput = New System.Windows.Forms.TextBox()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.btnOpenFolder = New System.Windows.Forms.Button()
+ Me.btnExit = New System.Windows.Forms.Button()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.BackgroundWorkerMount = New System.ComponentModel.BackgroundWorker()
+ Me.BackgroundWorkerDisMount = New System.ComponentModel.BackgroundWorker()
+ Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.TabPage1 = New System.Windows.Forms.TabPage()
+ Me.btnDisplayWIMInfo = New System.Windows.Forms.Button()
+ Me.TabPage2 = New System.Windows.Forms.TabPage()
+ Me.btnGetAllDriverInfo = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.btnDelDriver = New System.Windows.Forms.Button()
+ Me.txtDelDriverLocation = New System.Windows.Forms.TextBox()
+ Me.chkForceUnsigned = New System.Windows.Forms.CheckBox()
+ Me.btnOpnDriverFolder = New System.Windows.Forms.Button()
+ Me.txtDriverLocation = New System.Windows.Forms.TextBox()
+ Me.btnGetDrivers = New System.Windows.Forms.Button()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.chkRecurse = New System.Windows.Forms.CheckBox()
+ Me.btnAddDriver = New System.Windows.Forms.Button()
+ Me.TabPage3 = New System.Windows.Forms.TabPage()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.Label9 = New System.Windows.Forms.Label()
+ Me.Label8 = New System.Windows.Forms.Label()
+ Me.btnRemovePackagePath = New System.Windows.Forms.Button()
+ Me.btnRemovePackageName = New System.Windows.Forms.Button()
+ Me.txtPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtPackageName = New System.Windows.Forms.TextBox()
+ Me.btnGetPackages = New System.Windows.Forms.Button()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.btnAddPackages = New System.Windows.Forms.Button()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.chkIgnoreCheck = New System.Windows.Forms.CheckBox()
+ Me.txtPackageFile = New System.Windows.Forms.TextBox()
+ Me.btnOpenPackageFile = New System.Windows.Forms.Button()
+ Me.TabPage4 = New System.Windows.Forms.TabPage()
+ Me.btnDisableFeature = New System.Windows.Forms.Button()
+ Me.chkEnablePkgPath = New System.Windows.Forms.CheckBox()
+ Me.chkEnablePkgName = New System.Windows.Forms.CheckBox()
+ Me.btnEnableFeature = New System.Windows.Forms.Button()
+ Me.Label12 = New System.Windows.Forms.Label()
+ Me.Label11 = New System.Windows.Forms.Label()
+ Me.Label10 = New System.Windows.Forms.Label()
+ Me.txtFeatPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtFeatPackageName = New System.Windows.Forms.TextBox()
+ Me.txtFeatureName = New System.Windows.Forms.TextBox()
+ Me.btnGetFeatures = New System.Windows.Forms.Button()
+ Me.TabPage5 = New System.Windows.Forms.TabPage()
+ Me.Label15 = New System.Windows.Forms.Label()
+ Me.btnSetEdition = New System.Windows.Forms.Button()
+ Me.txtEdition = New System.Windows.Forms.TextBox()
+ Me.txtProdKey = New System.Windows.Forms.MaskedTextBox()
+ Me.btnSetProdKey = New System.Windows.Forms.Button()
+ Me.Label13 = New System.Windows.Forms.Label()
+ Me.btnGetTargetEditions = New System.Windows.Forms.Button()
+ Me.btGetCurrentEdition = New System.Windows.Forms.Button()
+ Me.TabPage6 = New System.Windows.Forms.TabPage()
+ Me.btnChooseUnAttend = New System.Windows.Forms.Button()
+ Me.txtUnattend = New System.Windows.Forms.TextBox()
+ Me.Label14 = New System.Windows.Forms.Label()
+ Me.btnApplyUnattend = New System.Windows.Forms.Button()
+ Me.TabPage7 = New System.Windows.Forms.TabPage()
+ Me.btnChooseMSP = New System.Windows.Forms.Button()
+ Me.txtPatchLocation = New System.Windows.Forms.TextBox()
+ Me.Label18 = New System.Windows.Forms.Label()
+ Me.txtPatchCode = New System.Windows.Forms.MaskedTextBox()
+ Me.txtProductCode = New System.Windows.Forms.MaskedTextBox()
+ Me.btnCheckAppPatch = New System.Windows.Forms.Button()
+ Me.btnGetAppPatchInfo = New System.Windows.Forms.Button()
+ Me.btnGetAppPatches = New System.Windows.Forms.Button()
+ Me.btnGetAppInfo = New System.Windows.Forms.Button()
+ Me.Label17 = New System.Windows.Forms.Label()
+ Me.Label16 = New System.Windows.Forms.Label()
+ Me.btnGetApps = New System.Windows.Forms.Button()
+ Me.BackgroundWorkerDISMCommand = New System.ComponentModel.BackgroundWorker()
+ Me.dlgOpenXML = New System.Windows.Forms.OpenFileDialog()
+ Me.dlgOpenMSP = New System.Windows.Forms.OpenFileDialog()
+ Me.MenuStrip1.SuspendLayout()
+ Me.TabControl1.SuspendLayout()
+ Me.TabPage1.SuspendLayout()
+ Me.TabPage2.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.TabPage3.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
+ Me.TabPage4.SuspendLayout()
+ Me.TabPage5.SuspendLayout()
+ Me.TabPage6.SuspendLayout()
+ Me.TabPage7.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'txtWIM
+ '
+ Me.txtWIM.Location = New System.Drawing.Point(5, 25)
+ Me.txtWIM.Name = "txtWIM"
+ Me.txtWIM.Size = New System.Drawing.Size(339, 20)
+ Me.txtWIM.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(6, 3)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(49, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "WIM File"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(6, 91)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(81, 13)
+ Me.Label2.TabIndex = 2
+ Me.Label2.Text = "Mount Location"
+ '
+ 'txtMount
+ '
+ Me.txtMount.Location = New System.Drawing.Point(6, 108)
+ Me.txtMount.Name = "txtMount"
+ Me.txtMount.Size = New System.Drawing.Size(339, 20)
+ Me.txtMount.TabIndex = 3
+ '
+ 'dlgOpenFolder
+ '
+ Me.dlgOpenFolder.SelectedPath = "c:\"
+ '
+ 'btnOpenWIM
+ '
+ Me.btnOpenWIM.Location = New System.Drawing.Point(361, 21)
+ Me.btnOpenWIM.Name = "btnOpenWIM"
+ Me.btnOpenWIM.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenWIM.TabIndex = 4
+ Me.btnOpenWIM.Text = "Choose WIM"
+ Me.btnOpenWIM.UseVisualStyleBackColor = True
+ '
+ 'btnOpenMount
+ '
+ Me.btnOpenMount.Location = New System.Drawing.Point(362, 104)
+ Me.btnOpenMount.Name = "btnOpenMount"
+ Me.btnOpenMount.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenMount.TabIndex = 5
+ Me.btnOpenMount.Text = "Choose Folder"
+ Me.btnOpenMount.UseVisualStyleBackColor = True
+ '
+ 'MenuStrip1
+ '
+ Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolsToolStripMenuItem})
+ Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
+ Me.MenuStrip1.Name = "MenuStrip1"
+ Me.MenuStrip1.Size = New System.Drawing.Size(686, 24)
+ Me.MenuStrip1.TabIndex = 6
+ Me.MenuStrip1.Text = "MenuStrip1"
+ '
+ 'ToolsToolStripMenuItem
+ '
+ Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenDISMLogToolStripMenuItem, Me.GetWIMInfoToolStripMenuItem, Me.CleanupWIMToolStripMenuItem, Me.CleanupImageToolStripMenuItem, Me.UseOnlineModeToolStripMenuItem, Me.AboutToolStripMenuItem})
+ Me.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem"
+ Me.ToolsToolStripMenuItem.Size = New System.Drawing.Size(48, 20)
+ Me.ToolsToolStripMenuItem.Text = "Tools"
+ '
+ 'OpenDISMLogToolStripMenuItem
+ '
+ Me.OpenDISMLogToolStripMenuItem.Name = "OpenDISMLogToolStripMenuItem"
+ Me.OpenDISMLogToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.OpenDISMLogToolStripMenuItem.Text = "Open DISM Log"
+ '
+ 'GetWIMInfoToolStripMenuItem
+ '
+ Me.GetWIMInfoToolStripMenuItem.Name = "GetWIMInfoToolStripMenuItem"
+ Me.GetWIMInfoToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.GetWIMInfoToolStripMenuItem.Text = "Get Mounted WIM Info"
+ '
+ 'CleanupWIMToolStripMenuItem
+ '
+ Me.CleanupWIMToolStripMenuItem.Name = "CleanupWIMToolStripMenuItem"
+ Me.CleanupWIMToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupWIMToolStripMenuItem.Text = "Cleanup WIM"
+ '
+ 'CleanupImageToolStripMenuItem
+ '
+ Me.CleanupImageToolStripMenuItem.Name = "CleanupImageToolStripMenuItem"
+ Me.CleanupImageToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupImageToolStripMenuItem.Text = "Cleanup Image"
+ '
+ 'UseOnlineModeToolStripMenuItem
+ '
+ Me.UseOnlineModeToolStripMenuItem.CheckOnClick = True
+ Me.UseOnlineModeToolStripMenuItem.Name = "UseOnlineModeToolStripMenuItem"
+ Me.UseOnlineModeToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.UseOnlineModeToolStripMenuItem.Text = "Use Online Mode"
+ Me.UseOnlineModeToolStripMenuItem.Visible = False
+ '
+ 'AboutToolStripMenuItem
+ '
+ Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
+ Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.AboutToolStripMenuItem.Text = "About"
+ '
+ 'btnMount
+ '
+ Me.btnMount.Location = New System.Drawing.Point(523, 21)
+ Me.btnMount.Name = "btnMount"
+ Me.btnMount.Size = New System.Drawing.Size(127, 64)
+ Me.btnMount.TabIndex = 7
+ Me.btnMount.Text = "Mount WIM"
+ Me.btnMount.UseVisualStyleBackColor = True
+ '
+ 'cmbIndex
+ '
+ Me.cmbIndex.FormattingEnabled = True
+ Me.cmbIndex.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
+ Me.cmbIndex.Location = New System.Drawing.Point(478, 25)
+ Me.cmbIndex.Name = "cmbIndex"
+ Me.cmbIndex.Size = New System.Drawing.Size(30, 21)
+ Me.cmbIndex.TabIndex = 8
+ '
+ 'btnDismount
+ '
+ Me.btnDismount.Enabled = False
+ Me.btnDismount.Location = New System.Drawing.Point(523, 91)
+ Me.btnDismount.Name = "btnDismount"
+ Me.btnDismount.Size = New System.Drawing.Size(127, 64)
+ Me.btnDismount.TabIndex = 10
+ Me.btnDismount.Text = "Dismount WIM"
+ Me.btnDismount.UseVisualStyleBackColor = True
+ '
+ 'txtOutput
+ '
+ Me.txtOutput.Location = New System.Drawing.Point(11, 436)
+ Me.txtOutput.Multiline = True
+ Me.txtOutput.Name = "txtOutput"
+ Me.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Both
+ Me.txtOutput.Size = New System.Drawing.Size(656, 246)
+ Me.txtOutput.TabIndex = 13
+ Me.txtOutput.WordWrap = False
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(8, 420)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(69, 13)
+ Me.Label4.TabIndex = 14
+ Me.Label4.Text = "DISM Output"
+ '
+ 'btnOpenFolder
+ '
+ Me.btnOpenFolder.Location = New System.Drawing.Point(523, 161)
+ Me.btnOpenFolder.Name = "btnOpenFolder"
+ Me.btnOpenFolder.Size = New System.Drawing.Size(127, 64)
+ Me.btnOpenFolder.TabIndex = 15
+ Me.btnOpenFolder.Text = "Open Mounted Folder"
+ Me.btnOpenFolder.UseVisualStyleBackColor = True
+ '
+ 'btnExit
+ '
+ Me.btnExit.Location = New System.Drawing.Point(595, 687)
+ Me.btnExit.Name = "btnExit"
+ Me.btnExit.Size = New System.Drawing.Size(75, 23)
+ Me.btnExit.TabIndex = 16
+ Me.btnExit.Text = "Exit"
+ Me.btnExit.UseVisualStyleBackColor = True
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(475, 3)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(33, 13)
+ Me.Label3.TabIndex = 17
+ Me.Label3.Text = "Index"
+ '
+ 'BackgroundWorkerMount
+ '
+ Me.BackgroundWorkerMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerMount.WorkerSupportsCancellation = True
+ '
+ 'BackgroundWorkerDisMount
+ '
+ Me.BackgroundWorkerDisMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerDisMount.WorkerSupportsCancellation = True
+ '
+ 'TabControl1
+ '
+ Me.TabControl1.Controls.Add(Me.TabPage1)
+ Me.TabControl1.Controls.Add(Me.TabPage2)
+ Me.TabControl1.Controls.Add(Me.TabPage3)
+ Me.TabControl1.Controls.Add(Me.TabPage4)
+ Me.TabControl1.Controls.Add(Me.TabPage5)
+ Me.TabControl1.Controls.Add(Me.TabPage6)
+ Me.TabControl1.Controls.Add(Me.TabPage7)
+ Me.TabControl1.Location = New System.Drawing.Point(11, 27)
+ Me.TabControl1.Name = "TabControl1"
+ Me.TabControl1.SelectedIndex = 0
+ Me.TabControl1.Size = New System.Drawing.Size(663, 390)
+ Me.TabControl1.TabIndex = 18
+ '
+ 'TabPage1
+ '
+ Me.TabPage1.Controls.Add(Me.btnDisplayWIMInfo)
+ Me.TabPage1.Controls.Add(Me.btnOpenWIM)
+ Me.TabPage1.Controls.Add(Me.Label3)
+ Me.TabPage1.Controls.Add(Me.txtWIM)
+ Me.TabPage1.Controls.Add(Me.Label1)
+ Me.TabPage1.Controls.Add(Me.btnOpenFolder)
+ Me.TabPage1.Controls.Add(Me.Label2)
+ Me.TabPage1.Controls.Add(Me.txtMount)
+ Me.TabPage1.Controls.Add(Me.btnOpenMount)
+ Me.TabPage1.Controls.Add(Me.btnDismount)
+ Me.TabPage1.Controls.Add(Me.btnMount)
+ Me.TabPage1.Controls.Add(Me.cmbIndex)
+ Me.TabPage1.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage1.Name = "TabPage1"
+ Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage1.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage1.TabIndex = 0
+ Me.TabPage1.Text = "Mount Control"
+ Me.TabPage1.UseVisualStyleBackColor = True
+ '
+ 'btnDisplayWIMInfo
+ '
+ Me.btnDisplayWIMInfo.Location = New System.Drawing.Point(4, 52)
+ Me.btnDisplayWIMInfo.Name = "btnDisplayWIMInfo"
+ Me.btnDisplayWIMInfo.Size = New System.Drawing.Size(124, 23)
+ Me.btnDisplayWIMInfo.TabIndex = 18
+ Me.btnDisplayWIMInfo.Text = "Display WIM Info"
+ Me.btnDisplayWIMInfo.UseVisualStyleBackColor = True
+ '
+ 'TabPage2
+ '
+ Me.TabPage2.Controls.Add(Me.btnGetAllDriverInfo)
+ Me.TabPage2.Controls.Add(Me.GroupBox2)
+ Me.TabPage2.Controls.Add(Me.chkForceUnsigned)
+ Me.TabPage2.Controls.Add(Me.btnOpnDriverFolder)
+ Me.TabPage2.Controls.Add(Me.txtDriverLocation)
+ Me.TabPage2.Controls.Add(Me.btnGetDrivers)
+ Me.TabPage2.Controls.Add(Me.Label5)
+ Me.TabPage2.Controls.Add(Me.GroupBox1)
+ Me.TabPage2.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage2.Name = "TabPage2"
+ Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage2.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage2.TabIndex = 1
+ Me.TabPage2.Text = "Driver Management"
+ Me.TabPage2.UseVisualStyleBackColor = True
+ '
+ 'btnGetAllDriverInfo
+ '
+ Me.btnGetAllDriverInfo.Location = New System.Drawing.Point(525, 76)
+ Me.btnGetAllDriverInfo.Name = "btnGetAllDriverInfo"
+ Me.btnGetAllDriverInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAllDriverInfo.TabIndex = 14
+ Me.btnGetAllDriverInfo.Text = "Get All Driver information from WIM"
+ Me.btnGetAllDriverInfo.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.Label7)
+ Me.GroupBox2.Controls.Add(Me.btnDelDriver)
+ Me.GroupBox2.Controls.Add(Me.txtDelDriverLocation)
+ Me.GroupBox2.Location = New System.Drawing.Point(6, 197)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(461, 65)
+ Me.GroupBox2.TabIndex = 13
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Delete Drivers"
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(7, 20)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(66, 13)
+ Me.Label7.TabIndex = 2
+ Me.Label7.Text = "Driver Name"
+ '
+ 'btnDelDriver
+ '
+ Me.btnDelDriver.Location = New System.Drawing.Point(316, 35)
+ Me.btnDelDriver.Name = "btnDelDriver"
+ Me.btnDelDriver.Size = New System.Drawing.Size(124, 23)
+ Me.btnDelDriver.TabIndex = 1
+ Me.btnDelDriver.Text = "Delete Driver"
+ Me.btnDelDriver.UseVisualStyleBackColor = True
+ '
+ 'txtDelDriverLocation
+ '
+ Me.txtDelDriverLocation.Location = New System.Drawing.Point(4, 39)
+ Me.txtDelDriverLocation.Name = "txtDelDriverLocation"
+ Me.txtDelDriverLocation.Size = New System.Drawing.Size(305, 20)
+ Me.txtDelDriverLocation.TabIndex = 0
+ '
+ 'chkForceUnsigned
+ '
+ Me.chkForceUnsigned.AutoSize = True
+ Me.chkForceUnsigned.Location = New System.Drawing.Point(10, 68)
+ Me.chkForceUnsigned.Name = "chkForceUnsigned"
+ Me.chkForceUnsigned.Size = New System.Drawing.Size(101, 17)
+ Me.chkForceUnsigned.TabIndex = 10
+ Me.chkForceUnsigned.Text = "Force Unsigned"
+ Me.chkForceUnsigned.UseVisualStyleBackColor = True
+ '
+ 'btnOpnDriverFolder
+ '
+ Me.btnOpnDriverFolder.Location = New System.Drawing.Point(324, 34)
+ Me.btnOpnDriverFolder.Name = "btnOpnDriverFolder"
+ Me.btnOpnDriverFolder.Size = New System.Drawing.Size(125, 23)
+ Me.btnOpnDriverFolder.TabIndex = 3
+ Me.btnOpnDriverFolder.Text = "Choose Driver Folder"
+ Me.btnOpnDriverFolder.UseVisualStyleBackColor = True
+ '
+ 'txtDriverLocation
+ '
+ Me.txtDriverLocation.Location = New System.Drawing.Point(11, 34)
+ Me.txtDriverLocation.Name = "txtDriverLocation"
+ Me.txtDriverLocation.Size = New System.Drawing.Size(307, 20)
+ Me.txtDriverLocation.TabIndex = 2
+ '
+ 'btnGetDrivers
+ '
+ Me.btnGetDrivers.Location = New System.Drawing.Point(525, 6)
+ Me.btnGetDrivers.Name = "btnGetDrivers"
+ Me.btnGetDrivers.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetDrivers.TabIndex = 1
+ Me.btnGetDrivers.Text = "Get 3rd Party Driver information from WIM"
+ Me.btnGetDrivers.UseVisualStyleBackColor = True
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(7, 21)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(116, 13)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "Drivers Folder Location"
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.chkRecurse)
+ Me.GroupBox1.Controls.Add(Me.btnAddDriver)
+ Me.GroupBox1.Location = New System.Drawing.Point(6, 6)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(461, 185)
+ Me.GroupBox1.TabIndex = 11
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Add Drivers"
+ '
+ 'chkRecurse
+ '
+ Me.chkRecurse.AutoSize = True
+ Me.chkRecurse.Checked = True
+ Me.chkRecurse.CheckState = System.Windows.Forms.CheckState.Checked
+ Me.chkRecurse.Location = New System.Drawing.Point(112, 62)
+ Me.chkRecurse.Name = "chkRecurse"
+ Me.chkRecurse.Size = New System.Drawing.Size(66, 17)
+ Me.chkRecurse.TabIndex = 9
+ Me.chkRecurse.Text = "Recurse"
+ Me.chkRecurse.UseVisualStyleBackColor = True
+ '
+ 'btnAddDriver
+ '
+ Me.btnAddDriver.Location = New System.Drawing.Point(4, 85)
+ Me.btnAddDriver.Name = "btnAddDriver"
+ Me.btnAddDriver.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddDriver.TabIndex = 8
+ Me.btnAddDriver.Text = "Add Drivers"
+ Me.btnAddDriver.UseVisualStyleBackColor = True
+ '
+ 'TabPage3
+ '
+ Me.TabPage3.Controls.Add(Me.GroupBox4)
+ Me.TabPage3.Controls.Add(Me.btnGetPackages)
+ Me.TabPage3.Controls.Add(Me.GroupBox3)
+ Me.TabPage3.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage3.Name = "TabPage3"
+ Me.TabPage3.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage3.TabIndex = 2
+ Me.TabPage3.Text = "Package Management"
+ Me.TabPage3.UseVisualStyleBackColor = True
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.Label9)
+ Me.GroupBox4.Controls.Add(Me.Label8)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackagePath)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackageName)
+ Me.GroupBox4.Controls.Add(Me.txtPackagePath)
+ Me.GroupBox4.Controls.Add(Me.txtPackageName)
+ Me.GroupBox4.Location = New System.Drawing.Point(4, 158)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(515, 159)
+ Me.GroupBox4.TabIndex = 16
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "Remove Packages"
+ '
+ 'Label9
+ '
+ Me.Label9.AutoSize = True
+ Me.Label9.Location = New System.Drawing.Point(3, 24)
+ Me.Label9.Name = "Label9"
+ Me.Label9.Size = New System.Drawing.Size(81, 13)
+ Me.Label9.TabIndex = 5
+ Me.Label9.Text = "Package Name"
+ '
+ 'Label8
+ '
+ Me.Label8.AutoSize = True
+ Me.Label8.Location = New System.Drawing.Point(6, 66)
+ Me.Label8.Name = "Label8"
+ Me.Label8.Size = New System.Drawing.Size(75, 13)
+ Me.Label8.TabIndex = 4
+ Me.Label8.Text = "Package Path"
+ '
+ 'btnRemovePackagePath
+ '
+ Me.btnRemovePackagePath.Location = New System.Drawing.Point(317, 88)
+ Me.btnRemovePackagePath.Name = "btnRemovePackagePath"
+ Me.btnRemovePackagePath.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackagePath.TabIndex = 3
+ Me.btnRemovePackagePath.Text = "Remove Package"
+ Me.btnRemovePackagePath.UseVisualStyleBackColor = True
+ '
+ 'btnRemovePackageName
+ '
+ Me.btnRemovePackageName.Location = New System.Drawing.Point(317, 43)
+ Me.btnRemovePackageName.Name = "btnRemovePackageName"
+ Me.btnRemovePackageName.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackageName.TabIndex = 2
+ Me.btnRemovePackageName.Text = "Remove Package"
+ Me.btnRemovePackageName.UseVisualStyleBackColor = True
+ '
+ 'txtPackagePath
+ '
+ Me.txtPackagePath.Location = New System.Drawing.Point(3, 88)
+ Me.txtPackagePath.Name = "txtPackagePath"
+ Me.txtPackagePath.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackagePath.TabIndex = 1
+ '
+ 'txtPackageName
+ '
+ Me.txtPackageName.Location = New System.Drawing.Point(3, 43)
+ Me.txtPackageName.Name = "txtPackageName"
+ Me.txtPackageName.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageName.TabIndex = 0
+ '
+ 'btnGetPackages
+ '
+ Me.btnGetPackages.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetPackages.Name = "btnGetPackages"
+ Me.btnGetPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetPackages.TabIndex = 9
+ Me.btnGetPackages.Text = "Get Packges from WIM"
+ Me.btnGetPackages.UseVisualStyleBackColor = True
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.btnAddPackages)
+ Me.GroupBox3.Controls.Add(Me.Label6)
+ Me.GroupBox3.Controls.Add(Me.chkIgnoreCheck)
+ Me.GroupBox3.Controls.Add(Me.txtPackageFile)
+ Me.GroupBox3.Controls.Add(Me.btnOpenPackageFile)
+ Me.GroupBox3.Location = New System.Drawing.Point(3, 3)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(516, 148)
+ Me.GroupBox3.TabIndex = 15
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Add Packages"
+ '
+ 'btnAddPackages
+ '
+ Me.btnAddPackages.Location = New System.Drawing.Point(6, 78)
+ Me.btnAddPackages.Name = "btnAddPackages"
+ Me.btnAddPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddPackages.TabIndex = 14
+ Me.btnAddPackages.Text = "Add Packages"
+ Me.btnAddPackages.UseVisualStyleBackColor = True
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(6, 16)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(82, 13)
+ Me.Label6.TabIndex = 11
+ Me.Label6.Text = "Package Folder"
+ '
+ 'chkIgnoreCheck
+ '
+ Me.chkIgnoreCheck.AutoSize = True
+ Me.chkIgnoreCheck.Location = New System.Drawing.Point(9, 55)
+ Me.chkIgnoreCheck.Name = "chkIgnoreCheck"
+ Me.chkIgnoreCheck.Size = New System.Drawing.Size(90, 17)
+ Me.chkIgnoreCheck.TabIndex = 13
+ Me.chkIgnoreCheck.Text = "Ignore Check"
+ Me.chkIgnoreCheck.UseVisualStyleBackColor = True
+ '
+ 'txtPackageFile
+ '
+ Me.txtPackageFile.Location = New System.Drawing.Point(6, 29)
+ Me.txtPackageFile.Name = "txtPackageFile"
+ Me.txtPackageFile.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageFile.TabIndex = 10
+ '
+ 'btnOpenPackageFile
+ '
+ Me.btnOpenPackageFile.Location = New System.Drawing.Point(320, 25)
+ Me.btnOpenPackageFile.Name = "btnOpenPackageFile"
+ Me.btnOpenPackageFile.Size = New System.Drawing.Size(131, 23)
+ Me.btnOpenPackageFile.TabIndex = 12
+ Me.btnOpenPackageFile.Text = "Choose Package Folder"
+ Me.btnOpenPackageFile.UseVisualStyleBackColor = True
+ '
+ 'TabPage4
+ '
+ Me.TabPage4.Controls.Add(Me.btnDisableFeature)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgPath)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgName)
+ Me.TabPage4.Controls.Add(Me.btnEnableFeature)
+ Me.TabPage4.Controls.Add(Me.Label12)
+ Me.TabPage4.Controls.Add(Me.Label11)
+ Me.TabPage4.Controls.Add(Me.Label10)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackagePath)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackageName)
+ Me.TabPage4.Controls.Add(Me.txtFeatureName)
+ Me.TabPage4.Controls.Add(Me.btnGetFeatures)
+ Me.TabPage4.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage4.Name = "TabPage4"
+ Me.TabPage4.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage4.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage4.TabIndex = 3
+ Me.TabPage4.Text = "Feature Management"
+ Me.TabPage4.UseVisualStyleBackColor = True
+ '
+ 'btnDisableFeature
+ '
+ Me.btnDisableFeature.Location = New System.Drawing.Point(525, 143)
+ Me.btnDisableFeature.Name = "btnDisableFeature"
+ Me.btnDisableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnDisableFeature.TabIndex = 22
+ Me.btnDisableFeature.Text = "Disable Feature"
+ Me.btnDisableFeature.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgPath
+ '
+ Me.chkEnablePkgPath.AutoSize = True
+ Me.chkEnablePkgPath.Location = New System.Drawing.Point(5, 117)
+ Me.chkEnablePkgPath.Name = "chkEnablePkgPath"
+ Me.chkEnablePkgPath.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgPath.TabIndex = 21
+ Me.chkEnablePkgPath.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgName
+ '
+ Me.chkEnablePkgName.AutoSize = True
+ Me.chkEnablePkgName.Location = New System.Drawing.Point(5, 70)
+ Me.chkEnablePkgName.Name = "chkEnablePkgName"
+ Me.chkEnablePkgName.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgName.TabIndex = 20
+ Me.chkEnablePkgName.UseVisualStyleBackColor = True
+ '
+ 'btnEnableFeature
+ '
+ Me.btnEnableFeature.Location = New System.Drawing.Point(525, 73)
+ Me.btnEnableFeature.Name = "btnEnableFeature"
+ Me.btnEnableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnEnableFeature.TabIndex = 19
+ Me.btnEnableFeature.Text = "Enable Feature"
+ Me.btnEnableFeature.UseVisualStyleBackColor = True
+ '
+ 'Label12
+ '
+ Me.Label12.AutoSize = True
+ Me.Label12.Location = New System.Drawing.Point(27, 95)
+ Me.Label12.Name = "Label12"
+ Me.Label12.Size = New System.Drawing.Size(75, 13)
+ Me.Label12.TabIndex = 18
+ Me.Label12.Text = "Package Path"
+ '
+ 'Label11
+ '
+ Me.Label11.AutoSize = True
+ Me.Label11.Location = New System.Drawing.Point(27, 48)
+ Me.Label11.Name = "Label11"
+ Me.Label11.Size = New System.Drawing.Size(81, 13)
+ Me.Label11.TabIndex = 17
+ Me.Label11.Text = "Package Name"
+ '
+ 'Label10
+ '
+ Me.Label10.AutoSize = True
+ Me.Label10.Location = New System.Drawing.Point(27, 3)
+ Me.Label10.Name = "Label10"
+ Me.Label10.Size = New System.Drawing.Size(74, 13)
+ Me.Label10.TabIndex = 16
+ Me.Label10.Text = "Feature Name"
+ '
+ 'txtFeatPackagePath
+ '
+ Me.txtFeatPackagePath.Enabled = False
+ Me.txtFeatPackagePath.Location = New System.Drawing.Point(26, 111)
+ Me.txtFeatPackagePath.Name = "txtFeatPackagePath"
+ Me.txtFeatPackagePath.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackagePath.TabIndex = 15
+ '
+ 'txtFeatPackageName
+ '
+ Me.txtFeatPackageName.Enabled = False
+ Me.txtFeatPackageName.Location = New System.Drawing.Point(26, 64)
+ Me.txtFeatPackageName.Name = "txtFeatPackageName"
+ Me.txtFeatPackageName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackageName.TabIndex = 12
+ '
+ 'txtFeatureName
+ '
+ Me.txtFeatureName.Location = New System.Drawing.Point(26, 19)
+ Me.txtFeatureName.Name = "txtFeatureName"
+ Me.txtFeatureName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatureName.TabIndex = 11
+ '
+ 'btnGetFeatures
+ '
+ Me.btnGetFeatures.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetFeatures.Name = "btnGetFeatures"
+ Me.btnGetFeatures.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetFeatures.TabIndex = 10
+ Me.btnGetFeatures.Text = "Get Features from WIM"
+ Me.btnGetFeatures.UseVisualStyleBackColor = True
+ '
+ 'TabPage5
+ '
+ Me.TabPage5.Controls.Add(Me.Label15)
+ Me.TabPage5.Controls.Add(Me.btnSetEdition)
+ Me.TabPage5.Controls.Add(Me.txtEdition)
+ Me.TabPage5.Controls.Add(Me.txtProdKey)
+ Me.TabPage5.Controls.Add(Me.btnSetProdKey)
+ Me.TabPage5.Controls.Add(Me.Label13)
+ Me.TabPage5.Controls.Add(Me.btnGetTargetEditions)
+ Me.TabPage5.Controls.Add(Me.btGetCurrentEdition)
+ Me.TabPage5.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage5.Name = "TabPage5"
+ Me.TabPage5.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage5.TabIndex = 4
+ Me.TabPage5.Text = "Edition Servicing"
+ Me.TabPage5.UseVisualStyleBackColor = True
+ '
+ 'Label15
+ '
+ Me.Label15.AutoSize = True
+ Me.Label15.Location = New System.Drawing.Point(26, 80)
+ Me.Label15.Name = "Label15"
+ Me.Label15.Size = New System.Drawing.Size(39, 13)
+ Me.Label15.TabIndex = 28
+ Me.Label15.Text = "Edition"
+ '
+ 'btnSetEdition
+ '
+ Me.btnSetEdition.Location = New System.Drawing.Point(16, 122)
+ Me.btnSetEdition.Name = "btnSetEdition"
+ Me.btnSetEdition.Size = New System.Drawing.Size(129, 23)
+ Me.btnSetEdition.TabIndex = 27
+ Me.btnSetEdition.Text = "Set Edition"
+ Me.btnSetEdition.UseVisualStyleBackColor = True
+ '
+ 'txtEdition
+ '
+ Me.txtEdition.Location = New System.Drawing.Point(16, 96)
+ Me.txtEdition.Name = "txtEdition"
+ Me.txtEdition.Size = New System.Drawing.Size(303, 20)
+ Me.txtEdition.TabIndex = 26
+ '
+ 'txtProdKey
+ '
+ Me.txtProdKey.Location = New System.Drawing.Point(16, 19)
+ Me.txtProdKey.Mask = "&&&&&-&&&&&-&&&&&-&&&&&-&&&&&"
+ Me.txtProdKey.Name = "txtProdKey"
+ Me.txtProdKey.Size = New System.Drawing.Size(303, 20)
+ Me.txtProdKey.TabIndex = 25
+ '
+ 'btnSetProdKey
+ '
+ Me.btnSetProdKey.Location = New System.Drawing.Point(16, 45)
+ Me.btnSetProdKey.Name = "btnSetProdKey"
+ Me.btnSetProdKey.Size = New System.Drawing.Size(129, 23)
+ Me.btnSetProdKey.TabIndex = 24
+ Me.btnSetProdKey.Text = "Set Product Key"
+ Me.btnSetProdKey.UseVisualStyleBackColor = True
+ '
+ 'Label13
+ '
+ Me.Label13.AutoSize = True
+ Me.Label13.Location = New System.Drawing.Point(26, 3)
+ Me.Label13.Name = "Label13"
+ Me.Label13.Size = New System.Drawing.Size(65, 13)
+ Me.Label13.TabIndex = 22
+ Me.Label13.Text = "Product Key"
+ '
+ 'btnGetTargetEditions
+ '
+ Me.btnGetTargetEditions.Location = New System.Drawing.Point(525, 73)
+ Me.btnGetTargetEditions.Name = "btnGetTargetEditions"
+ Me.btnGetTargetEditions.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetTargetEditions.TabIndex = 12
+ Me.btnGetTargetEditions.Text = "Get Target Editions"
+ Me.btnGetTargetEditions.UseVisualStyleBackColor = True
+ '
+ 'btGetCurrentEdition
+ '
+ Me.btGetCurrentEdition.Location = New System.Drawing.Point(525, 3)
+ Me.btGetCurrentEdition.Name = "btGetCurrentEdition"
+ Me.btGetCurrentEdition.Size = New System.Drawing.Size(127, 64)
+ Me.btGetCurrentEdition.TabIndex = 11
+ Me.btGetCurrentEdition.Text = "Get Current Edition"
+ Me.btGetCurrentEdition.UseVisualStyleBackColor = True
+ '
+ 'TabPage6
+ '
+ Me.TabPage6.Controls.Add(Me.btnChooseUnAttend)
+ Me.TabPage6.Controls.Add(Me.txtUnattend)
+ Me.TabPage6.Controls.Add(Me.Label14)
+ Me.TabPage6.Controls.Add(Me.btnApplyUnattend)
+ Me.TabPage6.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage6.Name = "TabPage6"
+ Me.TabPage6.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage6.TabIndex = 5
+ Me.TabPage6.Text = "Unattended Servicing"
+ Me.TabPage6.UseVisualStyleBackColor = True
+ '
+ 'btnChooseUnAttend
+ '
+ Me.btnChooseUnAttend.Location = New System.Drawing.Point(358, 21)
+ Me.btnChooseUnAttend.Name = "btnChooseUnAttend"
+ Me.btnChooseUnAttend.Size = New System.Drawing.Size(106, 23)
+ Me.btnChooseUnAttend.TabIndex = 23
+ Me.btnChooseUnAttend.Text = "Choose XML"
+ Me.btnChooseUnAttend.UseVisualStyleBackColor = True
+ '
+ 'txtUnattend
+ '
+ Me.txtUnattend.Location = New System.Drawing.Point(2, 25)
+ Me.txtUnattend.Name = "txtUnattend"
+ Me.txtUnattend.Size = New System.Drawing.Size(339, 20)
+ Me.txtUnattend.TabIndex = 21
+ '
+ 'Label14
+ '
+ Me.Label14.AutoSize = True
+ Me.Label14.Location = New System.Drawing.Point(3, 3)
+ Me.Label14.Name = "Label14"
+ Me.Label14.Size = New System.Drawing.Size(95, 13)
+ Me.Label14.TabIndex = 22
+ Me.Label14.Text = "Unattend XML File"
+ '
+ 'btnApplyUnattend
+ '
+ Me.btnApplyUnattend.Location = New System.Drawing.Point(525, 3)
+ Me.btnApplyUnattend.Name = "btnApplyUnattend"
+ Me.btnApplyUnattend.Size = New System.Drawing.Size(127, 64)
+ Me.btnApplyUnattend.TabIndex = 20
+ Me.btnApplyUnattend.Text = "Apply Unattend.xml"
+ Me.btnApplyUnattend.UseVisualStyleBackColor = True
+ '
+ 'TabPage7
+ '
+ Me.TabPage7.Controls.Add(Me.btnChooseMSP)
+ Me.TabPage7.Controls.Add(Me.txtPatchLocation)
+ Me.TabPage7.Controls.Add(Me.Label18)
+ Me.TabPage7.Controls.Add(Me.txtPatchCode)
+ Me.TabPage7.Controls.Add(Me.txtProductCode)
+ Me.TabPage7.Controls.Add(Me.btnCheckAppPatch)
+ Me.TabPage7.Controls.Add(Me.btnGetAppPatchInfo)
+ Me.TabPage7.Controls.Add(Me.btnGetAppPatches)
+ Me.TabPage7.Controls.Add(Me.btnGetAppInfo)
+ Me.TabPage7.Controls.Add(Me.Label17)
+ Me.TabPage7.Controls.Add(Me.Label16)
+ Me.TabPage7.Controls.Add(Me.btnGetApps)
+ Me.TabPage7.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage7.Name = "TabPage7"
+ Me.TabPage7.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage7.TabIndex = 6
+ Me.TabPage7.Text = "Appiclation Servicing"
+ Me.TabPage7.UseVisualStyleBackColor = True
+ '
+ 'btnChooseMSP
+ '
+ Me.btnChooseMSP.Location = New System.Drawing.Point(358, 99)
+ Me.btnChooseMSP.Name = "btnChooseMSP"
+ Me.btnChooseMSP.Size = New System.Drawing.Size(106, 23)
+ Me.btnChooseMSP.TabIndex = 41
+ Me.btnChooseMSP.Text = "Choose MSP"
+ Me.btnChooseMSP.UseVisualStyleBackColor = True
+ '
+ 'txtPatchLocation
+ '
+ Me.txtPatchLocation.Location = New System.Drawing.Point(6, 101)
+ Me.txtPatchLocation.Name = "txtPatchLocation"
+ Me.txtPatchLocation.Size = New System.Drawing.Size(303, 20)
+ Me.txtPatchLocation.TabIndex = 39
+ '
+ 'Label18
+ '
+ Me.Label18.AutoSize = True
+ Me.Label18.Location = New System.Drawing.Point(3, 81)
+ Me.Label18.Name = "Label18"
+ Me.Label18.Size = New System.Drawing.Size(49, 13)
+ Me.Label18.TabIndex = 40
+ Me.Label18.Text = "MSP File"
+ '
+ 'txtPatchCode
+ '
+ Me.txtPatchCode.Location = New System.Drawing.Point(6, 58)
+ Me.txtPatchCode.Mask = "{&&&&&&&&-&&&&-&&&&-&&&&-&&&&&&&&&&&&}"
+ Me.txtPatchCode.Name = "txtPatchCode"
+ Me.txtPatchCode.Size = New System.Drawing.Size(303, 20)
+ Me.txtPatchCode.TabIndex = 38
+ '
+ 'txtProductCode
+ '
+ Me.txtProductCode.Location = New System.Drawing.Point(6, 19)
+ Me.txtProductCode.Mask = "{&&&&&&&&-&&&&-&&&&-&&&&-&&&&&&&&&&&&}"
+ Me.txtProductCode.Name = "txtProductCode"
+ Me.txtProductCode.Size = New System.Drawing.Size(303, 20)
+ Me.txtProductCode.TabIndex = 37
+ '
+ 'btnCheckAppPatch
+ '
+ Me.btnCheckAppPatch.Location = New System.Drawing.Point(525, 283)
+ Me.btnCheckAppPatch.Name = "btnCheckAppPatch"
+ Me.btnCheckAppPatch.Size = New System.Drawing.Size(127, 64)
+ Me.btnCheckAppPatch.TabIndex = 36
+ Me.btnCheckAppPatch.Text = "Check App Patch"
+ Me.btnCheckAppPatch.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppPatchInfo
+ '
+ Me.btnGetAppPatchInfo.Location = New System.Drawing.Point(525, 213)
+ Me.btnGetAppPatchInfo.Name = "btnGetAppPatchInfo"
+ Me.btnGetAppPatchInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppPatchInfo.TabIndex = 35
+ Me.btnGetAppPatchInfo.Text = "Get Application Patch Info"
+ Me.btnGetAppPatchInfo.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppPatches
+ '
+ Me.btnGetAppPatches.Location = New System.Drawing.Point(525, 143)
+ Me.btnGetAppPatches.Name = "btnGetAppPatches"
+ Me.btnGetAppPatches.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppPatches.TabIndex = 34
+ Me.btnGetAppPatches.Text = "Get Application Patches"
+ Me.btnGetAppPatches.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppInfo
+ '
+ Me.btnGetAppInfo.Location = New System.Drawing.Point(525, 73)
+ Me.btnGetAppInfo.Name = "btnGetAppInfo"
+ Me.btnGetAppInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppInfo.TabIndex = 33
+ Me.btnGetAppInfo.Text = "Get Application Info"
+ Me.btnGetAppInfo.UseVisualStyleBackColor = True
+ '
+ 'Label17
+ '
+ Me.Label17.AutoSize = True
+ Me.Label17.Location = New System.Drawing.Point(3, 42)
+ Me.Label17.Name = "Label17"
+ Me.Label17.Size = New System.Drawing.Size(60, 13)
+ Me.Label17.TabIndex = 32
+ Me.Label17.Text = "PatchCode"
+ '
+ 'Label16
+ '
+ Me.Label16.AutoSize = True
+ Me.Label16.Location = New System.Drawing.Point(0, 3)
+ Me.Label16.Name = "Label16"
+ Me.Label16.Size = New System.Drawing.Size(69, 13)
+ Me.Label16.TabIndex = 30
+ Me.Label16.Text = "ProductCode"
+ '
+ 'btnGetApps
+ '
+ Me.btnGetApps.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetApps.Name = "btnGetApps"
+ Me.btnGetApps.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetApps.TabIndex = 12
+ Me.btnGetApps.Text = "Get Applications"
+ Me.btnGetApps.UseVisualStyleBackColor = True
+ '
+ 'BackgroundWorkerDISMCommand
+ '
+ '
+ 'frmMain
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(686, 722)
+ Me.Controls.Add(Me.TabControl1)
+ Me.Controls.Add(Me.btnExit)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.txtOutput)
+ Me.Controls.Add(Me.MenuStrip1)
+ Me.MainMenuStrip = Me.MenuStrip1
+ Me.Name = "frmMain"
+ Me.Text = "DISM GUI"
+ Me.MenuStrip1.ResumeLayout(False)
+ Me.MenuStrip1.PerformLayout()
+ Me.TabControl1.ResumeLayout(False)
+ Me.TabPage1.ResumeLayout(False)
+ Me.TabPage1.PerformLayout()
+ Me.TabPage2.ResumeLayout(False)
+ Me.TabPage2.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.TabPage3.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.GroupBox4.PerformLayout()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox3.PerformLayout()
+ Me.TabPage4.ResumeLayout(False)
+ Me.TabPage4.PerformLayout()
+ Me.TabPage5.ResumeLayout(False)
+ Me.TabPage5.PerformLayout()
+ Me.TabPage6.ResumeLayout(False)
+ Me.TabPage6.PerformLayout()
+ Me.TabPage7.ResumeLayout(False)
+ Me.TabPage7.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txtWIM As System.Windows.Forms.TextBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents txtMount As System.Windows.Forms.TextBox
+ Friend WithEvents dlgOpenFolder As System.Windows.Forms.FolderBrowserDialog
+ Friend WithEvents dlgOpenFile As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents btnOpenWIM As System.Windows.Forms.Button
+ Friend WithEvents btnOpenMount As System.Windows.Forms.Button
+ Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
+ Friend WithEvents ToolsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnMount As System.Windows.Forms.Button
+ Friend WithEvents cmbIndex As System.Windows.Forms.ComboBox
+ Friend WithEvents AboutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDismount As System.Windows.Forms.Button
+ Friend WithEvents txtOutput As System.Windows.Forms.TextBox
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents btnOpenFolder As System.Windows.Forms.Button
+ Friend WithEvents btnExit As System.Windows.Forms.Button
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents OpenDISMLogToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents BackgroundWorkerMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents BackgroundWorkerDisMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+ Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
+ Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
+ Friend WithEvents Label5 As System.Windows.Forms.Label
+ Friend WithEvents btnGetDrivers As System.Windows.Forms.Button
+ Friend WithEvents txtDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpnDriverFolder As System.Windows.Forms.Button
+ Friend WithEvents chkForceUnsigned As System.Windows.Forms.CheckBox
+ Friend WithEvents btnAddDriver As System.Windows.Forms.Button
+ Friend WithEvents BackgroundWorkerDISMCommand As System.ComponentModel.BackgroundWorker
+ Friend WithEvents CleanupWIMToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents GetWIMInfoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDisplayWIMInfo As System.Windows.Forms.Button
+ Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetPackages As System.Windows.Forms.Button
+ Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
+ Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents txtPackageFile As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpenPackageFile As System.Windows.Forms.Button
+ Friend WithEvents btnAddPackages As System.Windows.Forms.Button
+ Friend WithEvents chkIgnoreCheck As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnGetAllDriverInfo As System.Windows.Forms.Button
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnDelDriver As System.Windows.Forms.Button
+ Friend WithEvents txtDelDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents Label7 As System.Windows.Forms.Label
+ Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label9 As System.Windows.Forms.Label
+ Friend WithEvents Label8 As System.Windows.Forms.Label
+ Friend WithEvents btnRemovePackagePath As System.Windows.Forms.Button
+ Friend WithEvents btnRemovePackageName As System.Windows.Forms.Button
+ Friend WithEvents txtPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
+ Friend WithEvents chkRecurse As System.Windows.Forms.CheckBox
+ Friend WithEvents btnGetFeatures As System.Windows.Forms.Button
+ Friend WithEvents btnEnableFeature As System.Windows.Forms.Button
+ Friend WithEvents Label12 As System.Windows.Forms.Label
+ Friend WithEvents Label11 As System.Windows.Forms.Label
+ Friend WithEvents Label10 As System.Windows.Forms.Label
+ Friend WithEvents txtFeatPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatureName As System.Windows.Forms.TextBox
+ Friend WithEvents chkEnablePkgPath As System.Windows.Forms.CheckBox
+ Friend WithEvents chkEnablePkgName As System.Windows.Forms.CheckBox
+ Friend WithEvents btnDisableFeature As System.Windows.Forms.Button
+ Friend WithEvents CleanupImageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents UseOnlineModeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents TabPage5 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetTargetEditions As System.Windows.Forms.Button
+ Friend WithEvents btGetCurrentEdition As System.Windows.Forms.Button
+ Friend WithEvents Label13 As System.Windows.Forms.Label
+ Friend WithEvents btnSetProdKey As System.Windows.Forms.Button
+ Friend WithEvents txtProdKey As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents btnSetEdition As System.Windows.Forms.Button
+ Friend WithEvents txtEdition As System.Windows.Forms.TextBox
+ Friend WithEvents TabPage6 As System.Windows.Forms.TabPage
+ Friend WithEvents btnChooseUnAttend As System.Windows.Forms.Button
+ Friend WithEvents txtUnattend As System.Windows.Forms.TextBox
+ Friend WithEvents Label14 As System.Windows.Forms.Label
+ Friend WithEvents btnApplyUnattend As System.Windows.Forms.Button
+ Friend WithEvents TabPage7 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetApps As System.Windows.Forms.Button
+ Friend WithEvents Label15 As System.Windows.Forms.Label
+ Friend WithEvents btnGetAppInfo As System.Windows.Forms.Button
+ Friend WithEvents Label17 As System.Windows.Forms.Label
+ Friend WithEvents Label16 As System.Windows.Forms.Label
+ Friend WithEvents btnCheckAppPatch As System.Windows.Forms.Button
+ Friend WithEvents btnGetAppPatchInfo As System.Windows.Forms.Button
+ Friend WithEvents btnGetAppPatches As System.Windows.Forms.Button
+ Friend WithEvents txtPatchCode As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents txtProductCode As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents btnChooseMSP As System.Windows.Forms.Button
+ Friend WithEvents txtPatchLocation As System.Windows.Forms.TextBox
+ Friend WithEvents Label18 As System.Windows.Forms.Label
+ Friend WithEvents dlgOpenXML As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents dlgOpenMSP As System.Windows.Forms.OpenFileDialog
+
+End Class
diff --git a/3.5/DISM GUI/frmMain.resx b/3.5/DISM GUI/frmMain.resx
new file mode 100644
index 0000000..1088554
--- /dev/null
+++ b/3.5/DISM GUI/frmMain.resx
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 188, 17
+
+
+ 313, 17
+
+
+ 428, 17
+
+
+ 621, 17
+
+
+ 17, 56
+
+
+ 260, 56
+
+
+ 383, 56
+
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/frmMain.vb b/3.5/DISM GUI/frmMain.vb
new file mode 100644
index 0000000..39abbce
--- /dev/null
+++ b/3.5/DISM GUI/frmMain.vb
@@ -0,0 +1,843 @@
+Imports Microsoft.Win32
+Public Class frmMain
+ Public Property RedirectStandardOutput As Boolean
+ Dim strFolderName As String
+ Dim WIMMounted As Boolean = False
+ Dim strMountedImageLocation As String
+ Dim strIndex As String
+ Dim strWIM As String
+ Dim strOutput As String
+ Dim strDISMExitCode As String
+ Dim blnDISMCommit As Boolean
+ Dim strDriverLocation As String
+ Dim blnForceUnsigned As Boolean
+ Dim strDISMArguments As String
+ Dim strPackageLocation As String
+ Dim strLocation As String
+ Dim blnIgnoreCheck As Boolean
+ Dim strDelDriverLocation As String
+ Dim strPackageName As String
+ Dim strPackagePath As String
+ Dim strFeatureName As String
+ Dim OnlineMode As Boolean = False
+ Dim strProductKey As String
+ Dim strEdition As String
+ Dim strXMLFileName As String
+ Dim strProductCode As String
+ Dim strPatchCode As String
+ Dim strMSPFileName As String
+
+
+
+
+
+
+ Private Sub btnOpenWIM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenWIM.Click
+ dlgOpenFile.InitialDirectory = "c:\"
+ dlgOpenFile.Title = "Choose WIM file to Open"
+ dlgOpenFile.Filter = ("WIM Files(*.wim)|*.wim|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenFile.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strFileName As String = dlgOpenFile.FileName
+ txtWIM.Text = strFileName
+ End If
+
+ End Sub
+
+ Private Sub btnOpenMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenMount.Click
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ dlgOpenFolder.ShowDialog()
+ Dim strFolderName As String = dlgOpenFolder.SelectedPath
+ Dim dirs As String() = System.IO.Directory.GetDirectories(strFolderName)
+ Dim files As String() = System.IO.Directory.GetFiles(strFolderName)
+ If dirs.Length = 0 AndAlso files.Length = 0 Then
+ txtMount.Text = strFolderName
+ Else
+ If MessageBox.Show("You must choose an empty folder to mount the WIM") = DialogResult.OK Then
+ Else
+ 'Do Nothing
+ End If
+ End If
+ End Sub
+
+
+
+ Private Sub btnMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMount.Click
+ txtOutput.Text = ""
+ If txtWIM.Text = "" Or txtMount.Text = "" Or cmbIndex.Text = "" Then
+ MsgBox("You must select a WIM and folder first")
+ Else
+ txtMount.Text = Replace(txtMount.Text, """", "")
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ txtWIM.Text = Replace(txtWIM.Text, """", "")
+ strWIM = txtWIM.Text
+ BackgroundWorkerMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+
+
+ End Sub
+
+ Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
+ frmAbout.ShowDialog()
+
+ End Sub
+
+ Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+ If MessageBox.Show("Are you sure you want to exit?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ If WIMMounted = True Then
+ If MessageBox.Show("You currently have a WIM Mounted. Do you want to dismount before exiting?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ 'DismountWIM()
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+
+
+ Else
+ e.Cancel = False
+ End If
+ Else
+ 'Do Nothing - Exit form
+ End If
+ Else
+ e.Cancel = True
+ End If
+
+
+ End Sub
+
+
+ Private Sub btnDismount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDismount.Click
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ strWIM = txtWIM.Text
+ txtOutput.Text = ""
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+
+ Private Sub btnOpenFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenFolder.Click
+ Dim OpenFolder As New Process
+ Process.Start("explorer.exe", txtMount.Text)
+ End Sub
+
+ Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
+ Me.Close()
+ End Sub
+
+ Private Sub OpenDISMLogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenDISMLogToolStripMenuItem.Click
+ Dim strWinDir As String = System.Environment.GetEnvironmentVariable("windir")
+ Dim OpenDISMLog As New Process
+ Process.Start("Notepad.exe", strWinDir & "\Logs\DISM\dism.log")
+ End Sub
+
+ Private Sub btnGetDrivers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetDrivers.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+ End Sub
+
+ Private Sub BackgroundWorkerMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerMount.DoWork
+ strDISMExitCode = ""
+ 'Mount WIM file
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ DISM.StartInfo.Arguments = "/Mount-WIM /WimFile:""" & strWIM & """" & " /index:" & strIndex & " /MountDir:" & """" & strFolderName & """"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ 'txtOutput.Text = output
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerMount.RunWorkerCompleted
+ 'Check to see if WIM mounted correctly
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = False
+ btnDismount.Enabled = True
+ WIMMounted = True
+ If strMountedImageLocation = "" Then
+ strMountedImageLocation = strFolderName
+ Else
+ 'Do Nothing
+ End If
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDisMount.DoWork
+ strDISMExitCode = ""
+
+ If MessageBox.Show("Do you want to commit changes?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ blnDISMCommit = True
+ Else
+ blnDISMCommit = False
+ End If
+
+
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+
+ If blnDISMCommit = True Then
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /commit"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ Else
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /discard"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ End If
+
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDisMount.RunWorkerCompleted
+ 'Verify DIM was dismounted
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = True
+ btnDismount.Enabled = False
+ WIMMounted = False
+ strMountedImageLocation = ""
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub btnOpnDriverFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpnDriverFolder.Click
+ txtDriverLocation.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddDriver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDriverLocation.Text = "" Then
+ MessageBox.Show("You must specify a folder where your drivers are located.")
+ Else
+ strDriverLocation = txtDriverLocation.Text
+ If chkForceUnsigned.Checked = True Then
+ 'blnForceUnsigned = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " /ForceUnsigned "
+ Else
+ 'blnForceUnsigned = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " "
+ End If
+ If chkRecurse.Checked = True Then
+ strDISMArguments = strDISMArguments & "/recurse"
+ Else
+ 'Do Nothing
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub GetWIMInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetWIMInfoToolStripMenuItem.Click
+ strDISMArguments = "/Get-MountedWIMInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDISMCommand.DoWork
+ Dim strInput As String = e.Argument
+ strDISMExitCode = ""
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ DISM.StartInfo.Arguments = strInput
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDISMCommand.RunWorkerCompleted
+ strDISMArguments = ""
+ frmProgress.Close()
+ End Sub
+
+ Private Sub CleanupWIMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupWIMToolStripMenuItem.Click
+ strDISMArguments = "/Cleanup-WIM"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+
+ Private Sub btnDisplayWIMInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayWIMInfo.Click
+
+ If txtWIM.Text = "" Then
+ MsgBox("You must select a WIM file first")
+ Else
+
+ strWIM = txtWIM.Text
+ strDISMArguments = "/Get-WimInfo /wimFile:""" & strWIM & """"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnGetPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Packages"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnOpenPackageFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenPackageFile.Click
+ txtPackageFile.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageFile.Text = "" Then
+ MessageBox.Show("You must specify a folder where your package(s) are located.")
+ Else
+ strPackageLocation = txtPackageFile.Text
+ If chkIgnoreCheck.Checked = True Then
+ blnIgnoreCheck = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """" & " /ignorecheck"
+ Else
+ blnIgnoreCheck = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """"
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Function OpenFolder()
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ Dim DidWork As Integer = dlgOpenFolder.ShowDialog
+ If DidWork = DialogResult.Cancel Then
+ strLocation = ""
+ Return strLocation
+ Else
+ strLocation = dlgOpenFolder.SelectedPath
+ Return strLocation
+ End If
+ End Function
+
+
+
+ Private Sub btnGetAllDriverInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetAllDriverInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers /All"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnDelDriver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDelDriverLocation.Text = "" Then
+ 'Or Microsoft.VisualBasic.Left(txtDelDriverLocation.Text, 3) <> "inf"
+ MessageBox.Show("You must enter in a driver name before continuing. The Driver name must end with inf")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Driver /driver:" & strDelDriverLocation
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackageName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackageName.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageName.Text = "" Then
+ MessageBox.Show("You must enter in a package name before continuing.")
+ Else
+ strPackageName = txtPackageName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackageName:" & strPackageName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackagePath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackagePath.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackagePath.Text = "" Or Microsoft.VisualBasic.Left(txtPackagePath.Text, 3) <> "cab" Then
+ MessageBox.Show("You must enter in a package path before continuing. The package path must point to a valid cab file.")
+ Else
+ strPackagePath = txtPackagePath.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackagePath:" & strPackagePath
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnGetFeatures_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetFeatures.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Features"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub chkEnablePkgName_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgName.CheckedChanged
+ If chkEnablePkgName.Checked = True Then
+ txtFeatPackageName.Enabled = True
+ ElseIf chkEnablePkgName.Checked = False Then
+ txtFeatPackageName.Enabled = False
+ End If
+
+ End Sub
+
+ Private Sub chkEnablePkgPath_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgPath.CheckedChanged
+ If chkEnablePkgPath.Checked = True Then
+ txtFeatPackagePath.Enabled = True
+ ElseIf chkEnablePkgPath.Checked = False Then
+ txtFeatPackagePath.Enabled = False
+ End If
+ End Sub
+
+ Private Sub btnEnableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True And txtFeatPackagePath.Text = "" Then
+ MessageBox.Show("If you enable the Package Path field you must specify a Package Path")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Enable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackagePath:" & txtFeatPackagePath.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnDisableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ MessageBox.Show("The PackagePath option cannot be used with disabling a feature. Anything entered into that box will be ignored.")
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Disable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub CleanupImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupImageToolStripMenuItem.Click
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Cleanup-Image /RevertPendingActions"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ cmbIndex.Text = "1"
+ End Sub
+
+ Private Sub UseOnlineModeToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UseOnlineModeToolStripMenuItem.Click
+ If UseOnlineModeToolStripMenuItem.CheckState = CheckState.Checked Then
+ OnlineMode = True
+ btnMount.Enabled = False
+ btnOpenFolder.Enabled = False
+ Else
+ OnlineMode = False
+ btnMount.Enabled = True
+ btnOpenFolder.Enabled = True
+ End If
+ End Sub
+
+ Private Sub btGetCurrentEdition_Click(sender As System.Object, e As System.EventArgs) Handles btGetCurrentEdition.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-CurrentEdition"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnGetTargetEditions_Click(sender As System.Object, e As System.EventArgs) Handles btnGetTargetEditions.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-TargetEditions"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnSetProdKey_Click(sender As System.Object, e As System.EventArgs) Handles btnSetProdKey.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProdKey.Text = "" Then
+ MessageBox.Show("Product Key is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strProductKey = txtProdKey.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Set-ProductKey:" & strProductKey
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnSetEdition_Click(sender As System.Object, e As System.EventArgs) Handles btnSetEdition.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+
+ End If
+
+ If txtEdition.Text = "" Then
+ MessageBox.Show("Edition is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strEdition = txtEdition.Text
+ strProductKey = txtProdKey.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Set-Edition:" & strEdition
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+ End Sub
+
+ Private Sub btnChooseUnAttend_Click(sender As System.Object, e As System.EventArgs) Handles btnChooseUnAttend.Click
+ dlgOpenXML.InitialDirectory = "c:\"
+ dlgOpenXML.Title = "Choose Unattend XML file to Open"
+ dlgOpenXML.Filter = ("XML Files(*.xml)|*.xml|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenXML.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strXMLFileName As String = dlgOpenXML.FileName
+ txtUnattend.Text = strXMLFileName
+ End If
+ End Sub
+
+ Private Sub btnApplyUnattend_Click(sender As System.Object, e As System.EventArgs) Handles btnApplyUnattend.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ 'Do Nothing
+ End If
+
+ If txtUnattend.Text = "" Then
+ MessageBox.Show("You must enter an XML file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+ strXMLFileName = txtPatchLocation.Text
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Apply-Unattend:" & strXMLFileName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnGetApps_Click(sender As System.Object, e As System.EventArgs) Handles btnGetApps.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Apps"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnGetAppInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProductCode.Text = "{ - - - - }" Then
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ Else
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppInfo /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnGetAppPatches_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppPatches.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProductCode.Text = "{ - - - - }" Then
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatches"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Else
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatches /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+
+ End Sub
+
+ Private Sub btnGetAppPatchInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppPatchInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text = "{ - - - - }" And txtProductCode.Text = "{ - - - - }" Then
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text <> "{ - - - - }" And txtProductCode.Text = "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /PatchCode:" & strPatchCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text = "{ - - - - }" And txtProductCode.Text <> "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text <> "{ - - - - }" And txtProductCode.Text <> "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /PatchCode:" & strPatchCode & " /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ End Sub
+
+ Private Sub btnCheckAppPatch_Click(sender As System.Object, e As System.EventArgs) Handles btnCheckAppPatch.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+
+
+ If txtPatchLocation.Text = "" Then
+ MessageBox.Show("You must enter an MSP file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+ strMSPFileName = txtPatchLocation.Text
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Check-AppPatch /PatchLocation:" & strMSPFileName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+ Private Sub btnChooseMSP_Click(sender As System.Object, e As System.EventArgs) Handles btnChooseMSP.Click
+ dlgOpenMSP.InitialDirectory = "c:\"
+ dlgOpenMSP.Title = "Choose Unattend XML file to Open"
+ dlgOpenMSP.Filter = ("MSP Files(*.msp)|*.msp|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenMSP.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strMSPFileName As String = dlgOpenMSP.FileName
+ txtPatchLocation.Text = strMSPFileName
+ End If
+ End Sub
+End Class
diff --git a/3.5/DISM GUI/frmProgress.Designer.vb b/3.5/DISM GUI/frmProgress.Designer.vb
new file mode 100644
index 0000000..25d2797
--- /dev/null
+++ b/3.5/DISM GUI/frmProgress.Designer.vb
@@ -0,0 +1,74 @@
+ _
+Partial Class frmProgress
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(87, 9)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(279, 24)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "DISM is Running. Please wait...."
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(13, 65)
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(428, 23)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 1
+ '
+ 'Timer1
+ '
+ '
+ 'frmProgress
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(453, 148)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.ProgressBar1)
+ Me.Controls.Add(Me.Label1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmProgress"
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.Text = "DISM is Running"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents Timer1 As System.Windows.Forms.Timer
+End Class
diff --git a/3.5/DISM GUI/frmProgress.resx b/3.5/DISM GUI/frmProgress.resx
new file mode 100644
index 0000000..b78d45b
--- /dev/null
+++ b/3.5/DISM GUI/frmProgress.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/3.5/DISM GUI/frmProgress.vb b/3.5/DISM GUI/frmProgress.vb
new file mode 100644
index 0000000..35a2961
--- /dev/null
+++ b/3.5/DISM GUI/frmProgress.vb
@@ -0,0 +1,9 @@
+Public Class frmProgress
+ Dim Progress As Integer
+
+
+ Private Sub frmProgress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ Timer1.Enabled = True
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/4.0/DISM GUI.sln b/4.0/DISM GUI.sln
new file mode 100644
index 0000000..4e75f48
--- /dev/null
+++ b/4.0/DISM GUI.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DISM GUI", "DISM GUI\DISM GUI.vbproj", "{D3E5BCD3-DED9-48F3-B457-70F561E54A1A}"
+EndProject
+Global
+ GlobalSection(TeamFoundationVersionControl) = preSolution
+ SccNumberOfProjects = 2
+ SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
+ SccTeamFoundationServer = http://us-mertfs02:8080/tfs/defaultcollection
+ SccLocalPath0 = .
+ SccProjectUniqueName1 = DISM\u0020GUI\\DISM\u0020GUI.vbproj
+ SccProjectName1 = DISM\u0020GUI
+ SccLocalPath1 = DISM\u0020GUI
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.ActiveCfg = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Debug|x86.Build.0 = Debug|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.ActiveCfg = Release|x86
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/4.0/DISM GUI.vssscc b/4.0/DISM GUI.vssscc
new file mode 100644
index 0000000..6cb031b
--- /dev/null
+++ b/4.0/DISM GUI.vssscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
+}
diff --git a/4.0/DISM GUI/DISM GUI.vbproj b/4.0/DISM GUI/DISM GUI.vbproj
new file mode 100644
index 0000000..c367ad6
--- /dev/null
+++ b/4.0/DISM GUI/DISM GUI.vbproj
@@ -0,0 +1,187 @@
+
+
+
+ Debug
+ x86
+
+
+ 2.0
+ {D3E5BCD3-DED9-48F3-B457-70F561E54A1A}
+ WinExe
+ DISM_GUI.My.MyApplication
+ DISM_GUI
+ DISM GUI
+ 512
+ WindowsForms
+ v4.0
+ false
+ SAK
+ SAK
+ SAK
+ SAK
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 3.0.0.%2a
+ false
+ true
+ Client
+
+
+ x86
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ x86
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DISM GUI.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+ My Project\app.manifest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frmProgress.vb
+
+
+ Form
+
+
+ frmAbout.vb
+
+
+ Form
+
+
+ Form
+
+
+ frmMain.vb
+ Form
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ frmAbout.vb
+
+
+ frmMain.vb
+
+
+ frmProgress.vb
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/DISM GUI.vbproj.vspscc b/4.0/DISM GUI/DISM GUI.vbproj.vspscc
new file mode 100644
index 0000000..b6d3289
--- /dev/null
+++ b/4.0/DISM GUI/DISM GUI.vbproj.vspscc
@@ -0,0 +1,10 @@
+""
+{
+"FILE_VERSION" = "9237"
+"ENLISTMENT_CHOICE" = "NEVER"
+"PROJECT_FILE_RELATIVE_PATH" = ""
+"NUMBER_OF_EXCLUDED_FILES" = "0"
+"ORIGINAL_PROJECT_FILE_PATH" = ""
+"NUMBER_OF_NESTED_PROJECTS" = "0"
+"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
+}
diff --git a/4.0/DISM GUI/My Project/Application.Designer.vb b/4.0/DISM GUI/My Project/Application.Designer.vb
new file mode 100644
index 0000000..1af3be2
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.18063
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.DISM_GUI.frmMain
+ End Sub
+ End Class
+End Namespace
diff --git a/4.0/DISM GUI/My Project/Application.myapp b/4.0/DISM GUI/My Project/Application.myapp
new file mode 100644
index 0000000..5907301
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ true
+ frmMain
+ false
+ 0
+ true
+ 0
+ true
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/My Project/AssemblyInfo.vb b/4.0/DISM GUI/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..dd26ce6
--- /dev/null
+++ b/4.0/DISM GUI/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' General Information about an assembly is controlled through the following
+' set of attributes. Change these attribute values to modify the information
+' associated with an assembly.
+
+' Review the values of the assembly attributes
+
+
+
+
+
+
+
+
+
+
+'The following GUID is for the ID of the typelib if this project is exposed to COM
+
+
+' Version information for an assembly consists of the following four values:
+'
+' Major Version
+' Minor Version
+' Build Number
+' Revision
+'
+' You can specify all the values or you can default the Build and Revision Numbers
+' by using the '*' as shown below:
+'
+
+
+
diff --git a/4.0/DISM GUI/My Project/Resources.Designer.vb b/4.0/DISM GUI/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..02c602f
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Resources.Designer.vb
@@ -0,0 +1,63 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.18063
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DISM_GUI.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/4.0/DISM GUI/My Project/Resources.resx b/4.0/DISM GUI/My Project/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/My Project/Settings.Designer.vb b/4.0/DISM GUI/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..676f128
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.18063
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.DISM_GUI.My.MySettings
+ Get
+ Return Global.DISM_GUI.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/4.0/DISM GUI/My Project/Settings.settings b/4.0/DISM GUI/My Project/Settings.settings
new file mode 100644
index 0000000..85b890b
--- /dev/null
+++ b/4.0/DISM GUI/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/4.0/DISM GUI/My Project/app.manifest b/4.0/DISM GUI/My Project/app.manifest
new file mode 100644
index 0000000..f5ca617
--- /dev/null
+++ b/4.0/DISM GUI/My Project/app.manifest
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/4.0/DISM GUI/app.config b/4.0/DISM GUI/app.config
new file mode 100644
index 0000000..1c7e609
--- /dev/null
+++ b/4.0/DISM GUI/app.config
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/4.0/DISM GUI/frmAbout.Designer.vb b/4.0/DISM GUI/frmAbout.Designer.vb
new file mode 100644
index 0000000..e28fa9f
--- /dev/null
+++ b/4.0/DISM GUI/frmAbout.Designer.vb
@@ -0,0 +1,159 @@
+ _
+Partial Class frmAbout
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
+ Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
+ Friend WithEvents LabelProductName As System.Windows.Forms.Label
+ Friend WithEvents LabelVersion As System.Windows.Forms.Label
+ Friend WithEvents OKButton As System.Windows.Forms.Button
+ Friend WithEvents LabelCopyright As System.Windows.Forms.Label
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout))
+ Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
+ Me.LogoPictureBox = New System.Windows.Forms.PictureBox()
+ Me.LabelProductName = New System.Windows.Forms.Label()
+ Me.LabelVersion = New System.Windows.Forms.Label()
+ Me.LabelCopyright = New System.Windows.Forms.Label()
+ Me.OKButton = New System.Windows.Forms.Button()
+ Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
+ Me.TableLayoutPanel.SuspendLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'TableLayoutPanel
+ '
+ Me.TableLayoutPanel.ColumnCount = 2
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!))
+ Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!))
+ Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
+ Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
+ Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5)
+ Me.TableLayoutPanel.Controls.Add(Me.LinkLabel1, 1, 3)
+ Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TableLayoutPanel.Location = New System.Drawing.Point(9, 9)
+ Me.TableLayoutPanel.Name = "TableLayoutPanel"
+ Me.TableLayoutPanel.RowCount = 6
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+ Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
+ Me.TableLayoutPanel.Size = New System.Drawing.Size(396, 258)
+ Me.TableLayoutPanel.TabIndex = 0
+ '
+ 'LogoPictureBox
+ '
+ Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
+ Me.LogoPictureBox.Location = New System.Drawing.Point(3, 3)
+ Me.LogoPictureBox.Name = "LogoPictureBox"
+ Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6)
+ Me.LogoPictureBox.Size = New System.Drawing.Size(124, 252)
+ Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.LogoPictureBox.TabIndex = 0
+ Me.LogoPictureBox.TabStop = False
+ '
+ 'LabelProductName
+ '
+ Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelProductName.Location = New System.Drawing.Point(136, 0)
+ Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelProductName.Name = "LabelProductName"
+ Me.LabelProductName.Size = New System.Drawing.Size(257, 17)
+ Me.LabelProductName.TabIndex = 0
+ Me.LabelProductName.Text = "DISM GUI"
+ Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelVersion
+ '
+ Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelVersion.Location = New System.Drawing.Point(136, 25)
+ Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelVersion.Name = "LabelVersion"
+ Me.LabelVersion.Size = New System.Drawing.Size(257, 17)
+ Me.LabelVersion.TabIndex = 0
+ Me.LabelVersion.Text = "1.0"
+ Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'LabelCopyright
+ '
+ Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelCopyright.Location = New System.Drawing.Point(136, 50)
+ Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelCopyright.Name = "LabelCopyright"
+ Me.LabelCopyright.Size = New System.Drawing.Size(257, 17)
+ Me.LabelCopyright.TabIndex = 0
+ Me.LabelCopyright.Text = "Mike Celone"
+ Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'OKButton
+ '
+ Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.OKButton.Location = New System.Drawing.Point(318, 232)
+ Me.OKButton.Name = "OKButton"
+ Me.OKButton.Size = New System.Drawing.Size(75, 23)
+ Me.OKButton.TabIndex = 0
+ Me.OKButton.Text = "&OK"
+ '
+ 'LinkLabel1
+ '
+ Me.LinkLabel1.AutoSize = True
+ Me.LinkLabel1.Location = New System.Drawing.Point(133, 75)
+ Me.LinkLabel1.Name = "LinkLabel1"
+ Me.LinkLabel1.Size = New System.Drawing.Size(160, 13)
+ Me.LinkLabel1.TabIndex = 1
+ Me.LinkLabel1.TabStop = True
+ Me.LinkLabel1.Text = "http://mikecel79.wordpress.com"
+ '
+ 'frmAbout
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.CancelButton = Me.OKButton
+ Me.ClientSize = New System.Drawing.Size(414, 276)
+ Me.Controls.Add(Me.TableLayoutPanel)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmAbout"
+ Me.Padding = New System.Windows.Forms.Padding(9)
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "AboutBox1"
+ Me.TableLayoutPanel.ResumeLayout(False)
+ Me.TableLayoutPanel.PerformLayout()
+ CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
+
+End Class
diff --git a/4.0/DISM GUI/frmAbout.resx b/4.0/DISM GUI/frmAbout.resx
new file mode 100644
index 0000000..2461cb9
--- /dev/null
+++ b/4.0/DISM GUI/frmAbout.resx
@@ -0,0 +1,604 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+ AAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/frmAbout.vb b/4.0/DISM GUI/frmAbout.vb
new file mode 100644
index 0000000..4457252
--- /dev/null
+++ b/4.0/DISM GUI/frmAbout.vb
@@ -0,0 +1,34 @@
+Public NotInheritable Class frmAbout
+
+ Private Sub AboutBox1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ ' Set the title of the form.
+ Dim ApplicationTitle As String
+ If My.Application.Info.Title <> "" Then
+ ApplicationTitle = My.Application.Info.Title
+ Else
+ ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
+ End If
+ Me.Text = String.Format("About {0}", ApplicationTitle)
+ ' Initialize all of the text displayed on the About Box.
+ ' TODO: Customize the application's assembly information in the "Application" pane of the project
+ ' properties dialog (under the "Project" menu).
+ Me.LabelProductName.Text = My.Application.Info.ProductName
+ Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
+ Me.LabelCopyright.Text = My.Application.Info.Copyright
+ 'Me.LabelCompanyName.Text = My.Application.Info.CompanyName
+ 'Me.TextBoxDescription.Text = My.Application.Info.Description
+ End Sub
+
+ Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
+ Me.Close()
+ End Sub
+
+ Private Sub LabelProductName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelProductName.Click
+
+ End Sub
+
+
+ Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
+ System.Diagnostics.Process.Start("http://mikecel79.wordpress.com")
+ End Sub
+End Class
diff --git a/4.0/DISM GUI/frmMain.Designer.vb b/4.0/DISM GUI/frmMain.Designer.vb
new file mode 100644
index 0000000..04d4c79
--- /dev/null
+++ b/4.0/DISM GUI/frmMain.Designer.vb
@@ -0,0 +1,1493 @@
+ _
+Partial Class frmMain
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.txtWIM = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtMount = New System.Windows.Forms.TextBox()
+ Me.dlgOpenFolder = New System.Windows.Forms.FolderBrowserDialog()
+ Me.dlgOpenFile = New System.Windows.Forms.OpenFileDialog()
+ Me.btnOpenWIM = New System.Windows.Forms.Button()
+ Me.btnOpenMount = New System.Windows.Forms.Button()
+ Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
+ Me.ToolsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.OpenDISMLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.GetWIMInfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupWIMToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.CleanupImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.UseOnlineModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.btnMount = New System.Windows.Forms.Button()
+ Me.cmbIndex = New System.Windows.Forms.ComboBox()
+ Me.btnDismount = New System.Windows.Forms.Button()
+ Me.txtOutput = New System.Windows.Forms.TextBox()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.btnOpenFolder = New System.Windows.Forms.Button()
+ Me.btnExit = New System.Windows.Forms.Button()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.BackgroundWorkerMount = New System.ComponentModel.BackgroundWorker()
+ Me.BackgroundWorkerDisMount = New System.ComponentModel.BackgroundWorker()
+ Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.TabPage1 = New System.Windows.Forms.TabPage()
+ Me.btnDisplayWIMInfo = New System.Windows.Forms.Button()
+ Me.TabPage2 = New System.Windows.Forms.TabPage()
+ Me.btnGetAllDriverInfo = New System.Windows.Forms.Button()
+ Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.btnDelDriver = New System.Windows.Forms.Button()
+ Me.txtDelDriverLocation = New System.Windows.Forms.TextBox()
+ Me.chkForceUnsigned = New System.Windows.Forms.CheckBox()
+ Me.btnOpnDriverFolder = New System.Windows.Forms.Button()
+ Me.txtDriverLocation = New System.Windows.Forms.TextBox()
+ Me.btnGetDrivers = New System.Windows.Forms.Button()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.chkRecurse = New System.Windows.Forms.CheckBox()
+ Me.btnAddDriver = New System.Windows.Forms.Button()
+ Me.TabPage3 = New System.Windows.Forms.TabPage()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.Label9 = New System.Windows.Forms.Label()
+ Me.Label8 = New System.Windows.Forms.Label()
+ Me.btnRemovePackagePath = New System.Windows.Forms.Button()
+ Me.btnRemovePackageName = New System.Windows.Forms.Button()
+ Me.txtPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtPackageName = New System.Windows.Forms.TextBox()
+ Me.btnGetPackages = New System.Windows.Forms.Button()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.btnAddPackages = New System.Windows.Forms.Button()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.chkIgnoreCheck = New System.Windows.Forms.CheckBox()
+ Me.txtPackageFile = New System.Windows.Forms.TextBox()
+ Me.btnOpenPackageFile = New System.Windows.Forms.Button()
+ Me.TabPage4 = New System.Windows.Forms.TabPage()
+ Me.btnDisableFeature = New System.Windows.Forms.Button()
+ Me.chkEnablePkgPath = New System.Windows.Forms.CheckBox()
+ Me.chkEnablePkgName = New System.Windows.Forms.CheckBox()
+ Me.btnEnableFeature = New System.Windows.Forms.Button()
+ Me.Label12 = New System.Windows.Forms.Label()
+ Me.Label11 = New System.Windows.Forms.Label()
+ Me.Label10 = New System.Windows.Forms.Label()
+ Me.txtFeatPackagePath = New System.Windows.Forms.TextBox()
+ Me.txtFeatPackageName = New System.Windows.Forms.TextBox()
+ Me.txtFeatureName = New System.Windows.Forms.TextBox()
+ Me.btnGetFeatures = New System.Windows.Forms.Button()
+ Me.TabPage5 = New System.Windows.Forms.TabPage()
+ Me.Label15 = New System.Windows.Forms.Label()
+ Me.btnSetEdition = New System.Windows.Forms.Button()
+ Me.txtEdition = New System.Windows.Forms.TextBox()
+ Me.txtProdKey = New System.Windows.Forms.MaskedTextBox()
+ Me.btnSetProdKey = New System.Windows.Forms.Button()
+ Me.Label13 = New System.Windows.Forms.Label()
+ Me.btnGetTargetEditions = New System.Windows.Forms.Button()
+ Me.btGetCurrentEdition = New System.Windows.Forms.Button()
+ Me.TabPage6 = New System.Windows.Forms.TabPage()
+ Me.btnChooseUnAttend = New System.Windows.Forms.Button()
+ Me.txtUnattend = New System.Windows.Forms.TextBox()
+ Me.Label14 = New System.Windows.Forms.Label()
+ Me.btnApplyUnattend = New System.Windows.Forms.Button()
+ Me.TabPage7 = New System.Windows.Forms.TabPage()
+ Me.btnChooseMSP = New System.Windows.Forms.Button()
+ Me.txtPatchLocation = New System.Windows.Forms.TextBox()
+ Me.Label18 = New System.Windows.Forms.Label()
+ Me.txtPatchCode = New System.Windows.Forms.MaskedTextBox()
+ Me.txtProductCode = New System.Windows.Forms.MaskedTextBox()
+ Me.btnCheckAppPatch = New System.Windows.Forms.Button()
+ Me.btnGetAppPatchInfo = New System.Windows.Forms.Button()
+ Me.btnGetAppPatches = New System.Windows.Forms.Button()
+ Me.btnGetAppInfo = New System.Windows.Forms.Button()
+ Me.Label17 = New System.Windows.Forms.Label()
+ Me.Label16 = New System.Windows.Forms.Label()
+ Me.btnGetApps = New System.Windows.Forms.Button()
+ Me.TabPage8 = New System.Windows.Forms.TabPage()
+ Me.chkCaptureVerify = New System.Windows.Forms.CheckBox()
+ Me.btnAppend = New System.Windows.Forms.Button()
+ Me.cmbCompression = New System.Windows.Forms.ComboBox()
+ Me.lblCompression = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.txtName = New System.Windows.Forms.TextBox()
+ Me.btnCreate = New System.Windows.Forms.Button()
+ Me.Label20 = New System.Windows.Forms.Label()
+ Me.Label21 = New System.Windows.Forms.Label()
+ Me.btnCaptureDest = New System.Windows.Forms.Button()
+ Me.txtCaptureDest = New System.Windows.Forms.TextBox()
+ Me.txtCaptureSource = New System.Windows.Forms.TextBox()
+ Me.btnCaptureSrc = New System.Windows.Forms.Button()
+ Me.TabPage9 = New System.Windows.Forms.TabPage()
+ Me.chkApplyVerify = New System.Windows.Forms.CheckBox()
+ Me.cmbApplyIndex = New System.Windows.Forms.ComboBox()
+ Me.lblIndex = New System.Windows.Forms.Label()
+ Me.btnApply = New System.Windows.Forms.Button()
+ Me.lblDest = New System.Windows.Forms.Label()
+ Me.lblSource = New System.Windows.Forms.Label()
+ Me.btnBrowseDest = New System.Windows.Forms.Button()
+ Me.txtApplyDest = New System.Windows.Forms.TextBox()
+ Me.txtxApplySource = New System.Windows.Forms.TextBox()
+ Me.btnBrowseSource = New System.Windows.Forms.Button()
+ Me.BackgroundWorkerDISMCommand = New System.ComponentModel.BackgroundWorker()
+ Me.dlgOpenXML = New System.Windows.Forms.OpenFileDialog()
+ Me.dlgOpenMSP = New System.Windows.Forms.OpenFileDialog()
+ Me.chkMountReadOnly = New System.Windows.Forms.CheckBox()
+ Me.MenuStrip1.SuspendLayout()
+ Me.TabControl1.SuspendLayout()
+ Me.TabPage1.SuspendLayout()
+ Me.TabPage2.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
+ Me.GroupBox1.SuspendLayout()
+ Me.TabPage3.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
+ Me.TabPage4.SuspendLayout()
+ Me.TabPage5.SuspendLayout()
+ Me.TabPage6.SuspendLayout()
+ Me.TabPage7.SuspendLayout()
+ Me.TabPage8.SuspendLayout()
+ Me.TabPage9.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'txtWIM
+ '
+ Me.txtWIM.Location = New System.Drawing.Point(5, 25)
+ Me.txtWIM.Name = "txtWIM"
+ Me.txtWIM.Size = New System.Drawing.Size(339, 20)
+ Me.txtWIM.TabIndex = 0
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(6, 3)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(49, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "WIM File"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(6, 91)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(81, 13)
+ Me.Label2.TabIndex = 2
+ Me.Label2.Text = "Mount Location"
+ '
+ 'txtMount
+ '
+ Me.txtMount.Location = New System.Drawing.Point(6, 108)
+ Me.txtMount.Name = "txtMount"
+ Me.txtMount.Size = New System.Drawing.Size(339, 20)
+ Me.txtMount.TabIndex = 3
+ '
+ 'dlgOpenFolder
+ '
+ Me.dlgOpenFolder.SelectedPath = "c:\"
+ '
+ 'btnOpenWIM
+ '
+ Me.btnOpenWIM.Location = New System.Drawing.Point(361, 21)
+ Me.btnOpenWIM.Name = "btnOpenWIM"
+ Me.btnOpenWIM.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenWIM.TabIndex = 4
+ Me.btnOpenWIM.Text = "Choose WIM"
+ Me.btnOpenWIM.UseVisualStyleBackColor = True
+ '
+ 'btnOpenMount
+ '
+ Me.btnOpenMount.Location = New System.Drawing.Point(362, 104)
+ Me.btnOpenMount.Name = "btnOpenMount"
+ Me.btnOpenMount.Size = New System.Drawing.Size(106, 23)
+ Me.btnOpenMount.TabIndex = 5
+ Me.btnOpenMount.Text = "Choose Folder"
+ Me.btnOpenMount.UseVisualStyleBackColor = True
+ '
+ 'MenuStrip1
+ '
+ Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolsToolStripMenuItem})
+ Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
+ Me.MenuStrip1.Name = "MenuStrip1"
+ Me.MenuStrip1.Size = New System.Drawing.Size(686, 24)
+ Me.MenuStrip1.TabIndex = 6
+ Me.MenuStrip1.Text = "MenuStrip1"
+ '
+ 'ToolsToolStripMenuItem
+ '
+ Me.ToolsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenDISMLogToolStripMenuItem, Me.GetWIMInfoToolStripMenuItem, Me.CleanupWIMToolStripMenuItem, Me.CleanupImageToolStripMenuItem, Me.UseOnlineModeToolStripMenuItem, Me.AboutToolStripMenuItem})
+ Me.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem"
+ Me.ToolsToolStripMenuItem.Size = New System.Drawing.Size(48, 20)
+ Me.ToolsToolStripMenuItem.Text = "Tools"
+ '
+ 'OpenDISMLogToolStripMenuItem
+ '
+ Me.OpenDISMLogToolStripMenuItem.Name = "OpenDISMLogToolStripMenuItem"
+ Me.OpenDISMLogToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.OpenDISMLogToolStripMenuItem.Text = "Open DISM Log"
+ '
+ 'GetWIMInfoToolStripMenuItem
+ '
+ Me.GetWIMInfoToolStripMenuItem.Name = "GetWIMInfoToolStripMenuItem"
+ Me.GetWIMInfoToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.GetWIMInfoToolStripMenuItem.Text = "Get Mounted WIM Info"
+ '
+ 'CleanupWIMToolStripMenuItem
+ '
+ Me.CleanupWIMToolStripMenuItem.Name = "CleanupWIMToolStripMenuItem"
+ Me.CleanupWIMToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupWIMToolStripMenuItem.Text = "Cleanup WIM"
+ '
+ 'CleanupImageToolStripMenuItem
+ '
+ Me.CleanupImageToolStripMenuItem.Name = "CleanupImageToolStripMenuItem"
+ Me.CleanupImageToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.CleanupImageToolStripMenuItem.Text = "Cleanup Image"
+ '
+ 'UseOnlineModeToolStripMenuItem
+ '
+ Me.UseOnlineModeToolStripMenuItem.CheckOnClick = True
+ Me.UseOnlineModeToolStripMenuItem.Name = "UseOnlineModeToolStripMenuItem"
+ Me.UseOnlineModeToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.UseOnlineModeToolStripMenuItem.Text = "Use Online Mode"
+ Me.UseOnlineModeToolStripMenuItem.Visible = False
+ '
+ 'AboutToolStripMenuItem
+ '
+ Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
+ Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(196, 22)
+ Me.AboutToolStripMenuItem.Text = "About"
+ '
+ 'btnMount
+ '
+ Me.btnMount.Location = New System.Drawing.Point(523, 21)
+ Me.btnMount.Name = "btnMount"
+ Me.btnMount.Size = New System.Drawing.Size(127, 64)
+ Me.btnMount.TabIndex = 7
+ Me.btnMount.Text = "Mount WIM"
+ Me.btnMount.UseVisualStyleBackColor = True
+ '
+ 'cmbIndex
+ '
+ Me.cmbIndex.FormattingEnabled = True
+ Me.cmbIndex.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
+ Me.cmbIndex.Location = New System.Drawing.Point(478, 25)
+ Me.cmbIndex.Name = "cmbIndex"
+ Me.cmbIndex.Size = New System.Drawing.Size(30, 21)
+ Me.cmbIndex.TabIndex = 8
+ '
+ 'btnDismount
+ '
+ Me.btnDismount.Enabled = False
+ Me.btnDismount.Location = New System.Drawing.Point(523, 91)
+ Me.btnDismount.Name = "btnDismount"
+ Me.btnDismount.Size = New System.Drawing.Size(127, 64)
+ Me.btnDismount.TabIndex = 10
+ Me.btnDismount.Text = "Dismount WIM"
+ Me.btnDismount.UseVisualStyleBackColor = True
+ '
+ 'txtOutput
+ '
+ Me.txtOutput.Location = New System.Drawing.Point(11, 436)
+ Me.txtOutput.Multiline = True
+ Me.txtOutput.Name = "txtOutput"
+ Me.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Both
+ Me.txtOutput.Size = New System.Drawing.Size(656, 246)
+ Me.txtOutput.TabIndex = 13
+ Me.txtOutput.WordWrap = False
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(8, 420)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(69, 13)
+ Me.Label4.TabIndex = 14
+ Me.Label4.Text = "DISM Output"
+ '
+ 'btnOpenFolder
+ '
+ Me.btnOpenFolder.Location = New System.Drawing.Point(523, 161)
+ Me.btnOpenFolder.Name = "btnOpenFolder"
+ Me.btnOpenFolder.Size = New System.Drawing.Size(127, 64)
+ Me.btnOpenFolder.TabIndex = 15
+ Me.btnOpenFolder.Text = "Open Mounted Folder"
+ Me.btnOpenFolder.UseVisualStyleBackColor = True
+ '
+ 'btnExit
+ '
+ Me.btnExit.Location = New System.Drawing.Point(595, 687)
+ Me.btnExit.Name = "btnExit"
+ Me.btnExit.Size = New System.Drawing.Size(75, 23)
+ Me.btnExit.TabIndex = 16
+ Me.btnExit.Text = "Exit"
+ Me.btnExit.UseVisualStyleBackColor = True
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(475, 3)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(33, 13)
+ Me.Label3.TabIndex = 17
+ Me.Label3.Text = "Index"
+ '
+ 'BackgroundWorkerMount
+ '
+ Me.BackgroundWorkerMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerMount.WorkerSupportsCancellation = True
+ '
+ 'BackgroundWorkerDisMount
+ '
+ Me.BackgroundWorkerDisMount.WorkerReportsProgress = True
+ Me.BackgroundWorkerDisMount.WorkerSupportsCancellation = True
+ '
+ 'TabControl1
+ '
+ Me.TabControl1.Controls.Add(Me.TabPage1)
+ Me.TabControl1.Controls.Add(Me.TabPage2)
+ Me.TabControl1.Controls.Add(Me.TabPage3)
+ Me.TabControl1.Controls.Add(Me.TabPage4)
+ Me.TabControl1.Controls.Add(Me.TabPage5)
+ Me.TabControl1.Controls.Add(Me.TabPage6)
+ Me.TabControl1.Controls.Add(Me.TabPage7)
+ Me.TabControl1.Controls.Add(Me.TabPage8)
+ Me.TabControl1.Controls.Add(Me.TabPage9)
+ Me.TabControl1.Location = New System.Drawing.Point(11, 27)
+ Me.TabControl1.Name = "TabControl1"
+ Me.TabControl1.SelectedIndex = 0
+ Me.TabControl1.Size = New System.Drawing.Size(663, 390)
+ Me.TabControl1.TabIndex = 18
+ '
+ 'TabPage1
+ '
+ Me.TabPage1.Controls.Add(Me.chkMountReadOnly)
+ Me.TabPage1.Controls.Add(Me.btnDisplayWIMInfo)
+ Me.TabPage1.Controls.Add(Me.btnOpenWIM)
+ Me.TabPage1.Controls.Add(Me.Label3)
+ Me.TabPage1.Controls.Add(Me.txtWIM)
+ Me.TabPage1.Controls.Add(Me.Label1)
+ Me.TabPage1.Controls.Add(Me.btnOpenFolder)
+ Me.TabPage1.Controls.Add(Me.Label2)
+ Me.TabPage1.Controls.Add(Me.txtMount)
+ Me.TabPage1.Controls.Add(Me.btnOpenMount)
+ Me.TabPage1.Controls.Add(Me.btnDismount)
+ Me.TabPage1.Controls.Add(Me.btnMount)
+ Me.TabPage1.Controls.Add(Me.cmbIndex)
+ Me.TabPage1.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage1.Name = "TabPage1"
+ Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage1.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage1.TabIndex = 0
+ Me.TabPage1.Text = "Mount Control"
+ Me.TabPage1.UseVisualStyleBackColor = True
+ '
+ 'btnDisplayWIMInfo
+ '
+ Me.btnDisplayWIMInfo.Location = New System.Drawing.Point(4, 52)
+ Me.btnDisplayWIMInfo.Name = "btnDisplayWIMInfo"
+ Me.btnDisplayWIMInfo.Size = New System.Drawing.Size(124, 23)
+ Me.btnDisplayWIMInfo.TabIndex = 18
+ Me.btnDisplayWIMInfo.Text = "Display WIM Info"
+ Me.btnDisplayWIMInfo.UseVisualStyleBackColor = True
+ '
+ 'TabPage2
+ '
+ Me.TabPage2.Controls.Add(Me.btnGetAllDriverInfo)
+ Me.TabPage2.Controls.Add(Me.GroupBox2)
+ Me.TabPage2.Controls.Add(Me.chkForceUnsigned)
+ Me.TabPage2.Controls.Add(Me.btnOpnDriverFolder)
+ Me.TabPage2.Controls.Add(Me.txtDriverLocation)
+ Me.TabPage2.Controls.Add(Me.btnGetDrivers)
+ Me.TabPage2.Controls.Add(Me.Label5)
+ Me.TabPage2.Controls.Add(Me.GroupBox1)
+ Me.TabPage2.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage2.Name = "TabPage2"
+ Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage2.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage2.TabIndex = 1
+ Me.TabPage2.Text = "Driver Management"
+ Me.TabPage2.UseVisualStyleBackColor = True
+ '
+ 'btnGetAllDriverInfo
+ '
+ Me.btnGetAllDriverInfo.Location = New System.Drawing.Point(525, 76)
+ Me.btnGetAllDriverInfo.Name = "btnGetAllDriverInfo"
+ Me.btnGetAllDriverInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAllDriverInfo.TabIndex = 14
+ Me.btnGetAllDriverInfo.Text = "Get All Driver information from WIM"
+ Me.btnGetAllDriverInfo.UseVisualStyleBackColor = True
+ '
+ 'GroupBox2
+ '
+ Me.GroupBox2.Controls.Add(Me.Label7)
+ Me.GroupBox2.Controls.Add(Me.btnDelDriver)
+ Me.GroupBox2.Controls.Add(Me.txtDelDriverLocation)
+ Me.GroupBox2.Location = New System.Drawing.Point(6, 197)
+ Me.GroupBox2.Name = "GroupBox2"
+ Me.GroupBox2.Size = New System.Drawing.Size(461, 65)
+ Me.GroupBox2.TabIndex = 13
+ Me.GroupBox2.TabStop = False
+ Me.GroupBox2.Text = "Delete Drivers"
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.Location = New System.Drawing.Point(7, 20)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(66, 13)
+ Me.Label7.TabIndex = 2
+ Me.Label7.Text = "Driver Name"
+ '
+ 'btnDelDriver
+ '
+ Me.btnDelDriver.Location = New System.Drawing.Point(316, 35)
+ Me.btnDelDriver.Name = "btnDelDriver"
+ Me.btnDelDriver.Size = New System.Drawing.Size(124, 23)
+ Me.btnDelDriver.TabIndex = 1
+ Me.btnDelDriver.Text = "Delete Driver"
+ Me.btnDelDriver.UseVisualStyleBackColor = True
+ '
+ 'txtDelDriverLocation
+ '
+ Me.txtDelDriverLocation.Location = New System.Drawing.Point(4, 39)
+ Me.txtDelDriverLocation.Name = "txtDelDriverLocation"
+ Me.txtDelDriverLocation.Size = New System.Drawing.Size(305, 20)
+ Me.txtDelDriverLocation.TabIndex = 0
+ '
+ 'chkForceUnsigned
+ '
+ Me.chkForceUnsigned.AutoSize = True
+ Me.chkForceUnsigned.Location = New System.Drawing.Point(10, 68)
+ Me.chkForceUnsigned.Name = "chkForceUnsigned"
+ Me.chkForceUnsigned.Size = New System.Drawing.Size(101, 17)
+ Me.chkForceUnsigned.TabIndex = 10
+ Me.chkForceUnsigned.Text = "Force Unsigned"
+ Me.chkForceUnsigned.UseVisualStyleBackColor = True
+ '
+ 'btnOpnDriverFolder
+ '
+ Me.btnOpnDriverFolder.Location = New System.Drawing.Point(324, 34)
+ Me.btnOpnDriverFolder.Name = "btnOpnDriverFolder"
+ Me.btnOpnDriverFolder.Size = New System.Drawing.Size(125, 23)
+ Me.btnOpnDriverFolder.TabIndex = 3
+ Me.btnOpnDriverFolder.Text = "Choose Driver Folder"
+ Me.btnOpnDriverFolder.UseVisualStyleBackColor = True
+ '
+ 'txtDriverLocation
+ '
+ Me.txtDriverLocation.Location = New System.Drawing.Point(11, 34)
+ Me.txtDriverLocation.Name = "txtDriverLocation"
+ Me.txtDriverLocation.Size = New System.Drawing.Size(307, 20)
+ Me.txtDriverLocation.TabIndex = 2
+ '
+ 'btnGetDrivers
+ '
+ Me.btnGetDrivers.Location = New System.Drawing.Point(525, 6)
+ Me.btnGetDrivers.Name = "btnGetDrivers"
+ Me.btnGetDrivers.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetDrivers.TabIndex = 1
+ Me.btnGetDrivers.Text = "Get 3rd Party Driver information from WIM"
+ Me.btnGetDrivers.UseVisualStyleBackColor = True
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(7, 21)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(116, 13)
+ Me.Label5.TabIndex = 0
+ Me.Label5.Text = "Drivers Folder Location"
+ '
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.chkRecurse)
+ Me.GroupBox1.Controls.Add(Me.btnAddDriver)
+ Me.GroupBox1.Location = New System.Drawing.Point(6, 6)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(461, 185)
+ Me.GroupBox1.TabIndex = 11
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "Add Drivers"
+ '
+ 'chkRecurse
+ '
+ Me.chkRecurse.AutoSize = True
+ Me.chkRecurse.Checked = True
+ Me.chkRecurse.CheckState = System.Windows.Forms.CheckState.Checked
+ Me.chkRecurse.Location = New System.Drawing.Point(112, 62)
+ Me.chkRecurse.Name = "chkRecurse"
+ Me.chkRecurse.Size = New System.Drawing.Size(66, 17)
+ Me.chkRecurse.TabIndex = 9
+ Me.chkRecurse.Text = "Recurse"
+ Me.chkRecurse.UseVisualStyleBackColor = True
+ '
+ 'btnAddDriver
+ '
+ Me.btnAddDriver.Location = New System.Drawing.Point(4, 85)
+ Me.btnAddDriver.Name = "btnAddDriver"
+ Me.btnAddDriver.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddDriver.TabIndex = 8
+ Me.btnAddDriver.Text = "Add Drivers"
+ Me.btnAddDriver.UseVisualStyleBackColor = True
+ '
+ 'TabPage3
+ '
+ Me.TabPage3.Controls.Add(Me.GroupBox4)
+ Me.TabPage3.Controls.Add(Me.btnGetPackages)
+ Me.TabPage3.Controls.Add(Me.GroupBox3)
+ Me.TabPage3.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage3.Name = "TabPage3"
+ Me.TabPage3.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage3.TabIndex = 2
+ Me.TabPage3.Text = "Package Management"
+ Me.TabPage3.UseVisualStyleBackColor = True
+ '
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.Label9)
+ Me.GroupBox4.Controls.Add(Me.Label8)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackagePath)
+ Me.GroupBox4.Controls.Add(Me.btnRemovePackageName)
+ Me.GroupBox4.Controls.Add(Me.txtPackagePath)
+ Me.GroupBox4.Controls.Add(Me.txtPackageName)
+ Me.GroupBox4.Location = New System.Drawing.Point(4, 158)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(515, 159)
+ Me.GroupBox4.TabIndex = 16
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "Remove Packages"
+ '
+ 'Label9
+ '
+ Me.Label9.AutoSize = True
+ Me.Label9.Location = New System.Drawing.Point(3, 24)
+ Me.Label9.Name = "Label9"
+ Me.Label9.Size = New System.Drawing.Size(81, 13)
+ Me.Label9.TabIndex = 5
+ Me.Label9.Text = "Package Name"
+ '
+ 'Label8
+ '
+ Me.Label8.AutoSize = True
+ Me.Label8.Location = New System.Drawing.Point(6, 66)
+ Me.Label8.Name = "Label8"
+ Me.Label8.Size = New System.Drawing.Size(75, 13)
+ Me.Label8.TabIndex = 4
+ Me.Label8.Text = "Package Path"
+ '
+ 'btnRemovePackagePath
+ '
+ Me.btnRemovePackagePath.Location = New System.Drawing.Point(317, 88)
+ Me.btnRemovePackagePath.Name = "btnRemovePackagePath"
+ Me.btnRemovePackagePath.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackagePath.TabIndex = 3
+ Me.btnRemovePackagePath.Text = "Remove Package"
+ Me.btnRemovePackagePath.UseVisualStyleBackColor = True
+ '
+ 'btnRemovePackageName
+ '
+ Me.btnRemovePackageName.Location = New System.Drawing.Point(317, 43)
+ Me.btnRemovePackageName.Name = "btnRemovePackageName"
+ Me.btnRemovePackageName.Size = New System.Drawing.Size(131, 23)
+ Me.btnRemovePackageName.TabIndex = 2
+ Me.btnRemovePackageName.Text = "Remove Package"
+ Me.btnRemovePackageName.UseVisualStyleBackColor = True
+ '
+ 'txtPackagePath
+ '
+ Me.txtPackagePath.Location = New System.Drawing.Point(3, 88)
+ Me.txtPackagePath.Name = "txtPackagePath"
+ Me.txtPackagePath.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackagePath.TabIndex = 1
+ '
+ 'txtPackageName
+ '
+ Me.txtPackageName.Location = New System.Drawing.Point(3, 43)
+ Me.txtPackageName.Name = "txtPackageName"
+ Me.txtPackageName.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageName.TabIndex = 0
+ '
+ 'btnGetPackages
+ '
+ Me.btnGetPackages.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetPackages.Name = "btnGetPackages"
+ Me.btnGetPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetPackages.TabIndex = 9
+ Me.btnGetPackages.Text = "Get Packges from WIM"
+ Me.btnGetPackages.UseVisualStyleBackColor = True
+ '
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.btnAddPackages)
+ Me.GroupBox3.Controls.Add(Me.Label6)
+ Me.GroupBox3.Controls.Add(Me.chkIgnoreCheck)
+ Me.GroupBox3.Controls.Add(Me.txtPackageFile)
+ Me.GroupBox3.Controls.Add(Me.btnOpenPackageFile)
+ Me.GroupBox3.Location = New System.Drawing.Point(3, 3)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(516, 148)
+ Me.GroupBox3.TabIndex = 15
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "Add Packages"
+ '
+ 'btnAddPackages
+ '
+ Me.btnAddPackages.Location = New System.Drawing.Point(6, 78)
+ Me.btnAddPackages.Name = "btnAddPackages"
+ Me.btnAddPackages.Size = New System.Drawing.Size(127, 64)
+ Me.btnAddPackages.TabIndex = 14
+ Me.btnAddPackages.Text = "Add Packages"
+ Me.btnAddPackages.UseVisualStyleBackColor = True
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(6, 16)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(82, 13)
+ Me.Label6.TabIndex = 11
+ Me.Label6.Text = "Package Folder"
+ '
+ 'chkIgnoreCheck
+ '
+ Me.chkIgnoreCheck.AutoSize = True
+ Me.chkIgnoreCheck.Location = New System.Drawing.Point(9, 55)
+ Me.chkIgnoreCheck.Name = "chkIgnoreCheck"
+ Me.chkIgnoreCheck.Size = New System.Drawing.Size(90, 17)
+ Me.chkIgnoreCheck.TabIndex = 13
+ Me.chkIgnoreCheck.Text = "Ignore Check"
+ Me.chkIgnoreCheck.UseVisualStyleBackColor = True
+ '
+ 'txtPackageFile
+ '
+ Me.txtPackageFile.Location = New System.Drawing.Point(6, 29)
+ Me.txtPackageFile.Name = "txtPackageFile"
+ Me.txtPackageFile.Size = New System.Drawing.Size(307, 20)
+ Me.txtPackageFile.TabIndex = 10
+ '
+ 'btnOpenPackageFile
+ '
+ Me.btnOpenPackageFile.Location = New System.Drawing.Point(320, 25)
+ Me.btnOpenPackageFile.Name = "btnOpenPackageFile"
+ Me.btnOpenPackageFile.Size = New System.Drawing.Size(131, 23)
+ Me.btnOpenPackageFile.TabIndex = 12
+ Me.btnOpenPackageFile.Text = "Choose Package Folder"
+ Me.btnOpenPackageFile.UseVisualStyleBackColor = True
+ '
+ 'TabPage4
+ '
+ Me.TabPage4.Controls.Add(Me.btnDisableFeature)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgPath)
+ Me.TabPage4.Controls.Add(Me.chkEnablePkgName)
+ Me.TabPage4.Controls.Add(Me.btnEnableFeature)
+ Me.TabPage4.Controls.Add(Me.Label12)
+ Me.TabPage4.Controls.Add(Me.Label11)
+ Me.TabPage4.Controls.Add(Me.Label10)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackagePath)
+ Me.TabPage4.Controls.Add(Me.txtFeatPackageName)
+ Me.TabPage4.Controls.Add(Me.txtFeatureName)
+ Me.TabPage4.Controls.Add(Me.btnGetFeatures)
+ Me.TabPage4.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage4.Name = "TabPage4"
+ Me.TabPage4.Padding = New System.Windows.Forms.Padding(3)
+ Me.TabPage4.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage4.TabIndex = 3
+ Me.TabPage4.Text = "Feature Management"
+ Me.TabPage4.UseVisualStyleBackColor = True
+ '
+ 'btnDisableFeature
+ '
+ Me.btnDisableFeature.Location = New System.Drawing.Point(525, 143)
+ Me.btnDisableFeature.Name = "btnDisableFeature"
+ Me.btnDisableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnDisableFeature.TabIndex = 22
+ Me.btnDisableFeature.Text = "Disable Feature"
+ Me.btnDisableFeature.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgPath
+ '
+ Me.chkEnablePkgPath.AutoSize = True
+ Me.chkEnablePkgPath.Location = New System.Drawing.Point(5, 117)
+ Me.chkEnablePkgPath.Name = "chkEnablePkgPath"
+ Me.chkEnablePkgPath.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgPath.TabIndex = 21
+ Me.chkEnablePkgPath.UseVisualStyleBackColor = True
+ '
+ 'chkEnablePkgName
+ '
+ Me.chkEnablePkgName.AutoSize = True
+ Me.chkEnablePkgName.Location = New System.Drawing.Point(5, 70)
+ Me.chkEnablePkgName.Name = "chkEnablePkgName"
+ Me.chkEnablePkgName.Size = New System.Drawing.Size(15, 14)
+ Me.chkEnablePkgName.TabIndex = 20
+ Me.chkEnablePkgName.UseVisualStyleBackColor = True
+ '
+ 'btnEnableFeature
+ '
+ Me.btnEnableFeature.Location = New System.Drawing.Point(525, 73)
+ Me.btnEnableFeature.Name = "btnEnableFeature"
+ Me.btnEnableFeature.Size = New System.Drawing.Size(127, 64)
+ Me.btnEnableFeature.TabIndex = 19
+ Me.btnEnableFeature.Text = "Enable Feature"
+ Me.btnEnableFeature.UseVisualStyleBackColor = True
+ '
+ 'Label12
+ '
+ Me.Label12.AutoSize = True
+ Me.Label12.Location = New System.Drawing.Point(27, 95)
+ Me.Label12.Name = "Label12"
+ Me.Label12.Size = New System.Drawing.Size(75, 13)
+ Me.Label12.TabIndex = 18
+ Me.Label12.Text = "Package Path"
+ '
+ 'Label11
+ '
+ Me.Label11.AutoSize = True
+ Me.Label11.Location = New System.Drawing.Point(27, 48)
+ Me.Label11.Name = "Label11"
+ Me.Label11.Size = New System.Drawing.Size(81, 13)
+ Me.Label11.TabIndex = 17
+ Me.Label11.Text = "Package Name"
+ '
+ 'Label10
+ '
+ Me.Label10.AutoSize = True
+ Me.Label10.Location = New System.Drawing.Point(27, 3)
+ Me.Label10.Name = "Label10"
+ Me.Label10.Size = New System.Drawing.Size(74, 13)
+ Me.Label10.TabIndex = 16
+ Me.Label10.Text = "Feature Name"
+ '
+ 'txtFeatPackagePath
+ '
+ Me.txtFeatPackagePath.Enabled = False
+ Me.txtFeatPackagePath.Location = New System.Drawing.Point(26, 111)
+ Me.txtFeatPackagePath.Name = "txtFeatPackagePath"
+ Me.txtFeatPackagePath.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackagePath.TabIndex = 15
+ '
+ 'txtFeatPackageName
+ '
+ Me.txtFeatPackageName.Enabled = False
+ Me.txtFeatPackageName.Location = New System.Drawing.Point(26, 64)
+ Me.txtFeatPackageName.Name = "txtFeatPackageName"
+ Me.txtFeatPackageName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatPackageName.TabIndex = 12
+ '
+ 'txtFeatureName
+ '
+ Me.txtFeatureName.Location = New System.Drawing.Point(26, 19)
+ Me.txtFeatureName.Name = "txtFeatureName"
+ Me.txtFeatureName.Size = New System.Drawing.Size(424, 20)
+ Me.txtFeatureName.TabIndex = 11
+ '
+ 'btnGetFeatures
+ '
+ Me.btnGetFeatures.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetFeatures.Name = "btnGetFeatures"
+ Me.btnGetFeatures.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetFeatures.TabIndex = 10
+ Me.btnGetFeatures.Text = "Get Features from WIM"
+ Me.btnGetFeatures.UseVisualStyleBackColor = True
+ '
+ 'TabPage5
+ '
+ Me.TabPage5.Controls.Add(Me.Label15)
+ Me.TabPage5.Controls.Add(Me.btnSetEdition)
+ Me.TabPage5.Controls.Add(Me.txtEdition)
+ Me.TabPage5.Controls.Add(Me.txtProdKey)
+ Me.TabPage5.Controls.Add(Me.btnSetProdKey)
+ Me.TabPage5.Controls.Add(Me.Label13)
+ Me.TabPage5.Controls.Add(Me.btnGetTargetEditions)
+ Me.TabPage5.Controls.Add(Me.btGetCurrentEdition)
+ Me.TabPage5.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage5.Name = "TabPage5"
+ Me.TabPage5.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage5.TabIndex = 4
+ Me.TabPage5.Text = "Edition Servicing"
+ Me.TabPage5.UseVisualStyleBackColor = True
+ '
+ 'Label15
+ '
+ Me.Label15.AutoSize = True
+ Me.Label15.Location = New System.Drawing.Point(26, 80)
+ Me.Label15.Name = "Label15"
+ Me.Label15.Size = New System.Drawing.Size(39, 13)
+ Me.Label15.TabIndex = 28
+ Me.Label15.Text = "Edition"
+ '
+ 'btnSetEdition
+ '
+ Me.btnSetEdition.Location = New System.Drawing.Point(16, 122)
+ Me.btnSetEdition.Name = "btnSetEdition"
+ Me.btnSetEdition.Size = New System.Drawing.Size(129, 23)
+ Me.btnSetEdition.TabIndex = 27
+ Me.btnSetEdition.Text = "Set Edition"
+ Me.btnSetEdition.UseVisualStyleBackColor = True
+ '
+ 'txtEdition
+ '
+ Me.txtEdition.Location = New System.Drawing.Point(16, 96)
+ Me.txtEdition.Name = "txtEdition"
+ Me.txtEdition.Size = New System.Drawing.Size(303, 20)
+ Me.txtEdition.TabIndex = 26
+ '
+ 'txtProdKey
+ '
+ Me.txtProdKey.Location = New System.Drawing.Point(16, 19)
+ Me.txtProdKey.Mask = "&&&&&-&&&&&-&&&&&-&&&&&-&&&&&"
+ Me.txtProdKey.Name = "txtProdKey"
+ Me.txtProdKey.Size = New System.Drawing.Size(303, 20)
+ Me.txtProdKey.TabIndex = 25
+ '
+ 'btnSetProdKey
+ '
+ Me.btnSetProdKey.Location = New System.Drawing.Point(16, 45)
+ Me.btnSetProdKey.Name = "btnSetProdKey"
+ Me.btnSetProdKey.Size = New System.Drawing.Size(129, 23)
+ Me.btnSetProdKey.TabIndex = 24
+ Me.btnSetProdKey.Text = "Set Product Key"
+ Me.btnSetProdKey.UseVisualStyleBackColor = True
+ '
+ 'Label13
+ '
+ Me.Label13.AutoSize = True
+ Me.Label13.Location = New System.Drawing.Point(26, 3)
+ Me.Label13.Name = "Label13"
+ Me.Label13.Size = New System.Drawing.Size(65, 13)
+ Me.Label13.TabIndex = 22
+ Me.Label13.Text = "Product Key"
+ '
+ 'btnGetTargetEditions
+ '
+ Me.btnGetTargetEditions.Location = New System.Drawing.Point(525, 73)
+ Me.btnGetTargetEditions.Name = "btnGetTargetEditions"
+ Me.btnGetTargetEditions.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetTargetEditions.TabIndex = 12
+ Me.btnGetTargetEditions.Text = "Get Target Editions"
+ Me.btnGetTargetEditions.UseVisualStyleBackColor = True
+ '
+ 'btGetCurrentEdition
+ '
+ Me.btGetCurrentEdition.Location = New System.Drawing.Point(525, 3)
+ Me.btGetCurrentEdition.Name = "btGetCurrentEdition"
+ Me.btGetCurrentEdition.Size = New System.Drawing.Size(127, 64)
+ Me.btGetCurrentEdition.TabIndex = 11
+ Me.btGetCurrentEdition.Text = "Get Current Edition"
+ Me.btGetCurrentEdition.UseVisualStyleBackColor = True
+ '
+ 'TabPage6
+ '
+ Me.TabPage6.Controls.Add(Me.btnChooseUnAttend)
+ Me.TabPage6.Controls.Add(Me.txtUnattend)
+ Me.TabPage6.Controls.Add(Me.Label14)
+ Me.TabPage6.Controls.Add(Me.btnApplyUnattend)
+ Me.TabPage6.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage6.Name = "TabPage6"
+ Me.TabPage6.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage6.TabIndex = 5
+ Me.TabPage6.Text = "Unattended Servicing"
+ Me.TabPage6.UseVisualStyleBackColor = True
+ '
+ 'btnChooseUnAttend
+ '
+ Me.btnChooseUnAttend.Location = New System.Drawing.Point(358, 21)
+ Me.btnChooseUnAttend.Name = "btnChooseUnAttend"
+ Me.btnChooseUnAttend.Size = New System.Drawing.Size(106, 23)
+ Me.btnChooseUnAttend.TabIndex = 23
+ Me.btnChooseUnAttend.Text = "Choose XML"
+ Me.btnChooseUnAttend.UseVisualStyleBackColor = True
+ '
+ 'txtUnattend
+ '
+ Me.txtUnattend.Location = New System.Drawing.Point(2, 25)
+ Me.txtUnattend.Name = "txtUnattend"
+ Me.txtUnattend.Size = New System.Drawing.Size(339, 20)
+ Me.txtUnattend.TabIndex = 21
+ '
+ 'Label14
+ '
+ Me.Label14.AutoSize = True
+ Me.Label14.Location = New System.Drawing.Point(3, 3)
+ Me.Label14.Name = "Label14"
+ Me.Label14.Size = New System.Drawing.Size(95, 13)
+ Me.Label14.TabIndex = 22
+ Me.Label14.Text = "Unattend XML File"
+ '
+ 'btnApplyUnattend
+ '
+ Me.btnApplyUnattend.Location = New System.Drawing.Point(525, 3)
+ Me.btnApplyUnattend.Name = "btnApplyUnattend"
+ Me.btnApplyUnattend.Size = New System.Drawing.Size(127, 64)
+ Me.btnApplyUnattend.TabIndex = 20
+ Me.btnApplyUnattend.Text = "Apply Unattend.xml"
+ Me.btnApplyUnattend.UseVisualStyleBackColor = True
+ '
+ 'TabPage7
+ '
+ Me.TabPage7.Controls.Add(Me.btnChooseMSP)
+ Me.TabPage7.Controls.Add(Me.txtPatchLocation)
+ Me.TabPage7.Controls.Add(Me.Label18)
+ Me.TabPage7.Controls.Add(Me.txtPatchCode)
+ Me.TabPage7.Controls.Add(Me.txtProductCode)
+ Me.TabPage7.Controls.Add(Me.btnCheckAppPatch)
+ Me.TabPage7.Controls.Add(Me.btnGetAppPatchInfo)
+ Me.TabPage7.Controls.Add(Me.btnGetAppPatches)
+ Me.TabPage7.Controls.Add(Me.btnGetAppInfo)
+ Me.TabPage7.Controls.Add(Me.Label17)
+ Me.TabPage7.Controls.Add(Me.Label16)
+ Me.TabPage7.Controls.Add(Me.btnGetApps)
+ Me.TabPage7.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage7.Name = "TabPage7"
+ Me.TabPage7.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage7.TabIndex = 6
+ Me.TabPage7.Text = "Application Servicing"
+ Me.TabPage7.UseVisualStyleBackColor = True
+ '
+ 'btnChooseMSP
+ '
+ Me.btnChooseMSP.Location = New System.Drawing.Point(358, 99)
+ Me.btnChooseMSP.Name = "btnChooseMSP"
+ Me.btnChooseMSP.Size = New System.Drawing.Size(106, 23)
+ Me.btnChooseMSP.TabIndex = 41
+ Me.btnChooseMSP.Text = "Choose MSP"
+ Me.btnChooseMSP.UseVisualStyleBackColor = True
+ '
+ 'txtPatchLocation
+ '
+ Me.txtPatchLocation.Location = New System.Drawing.Point(6, 101)
+ Me.txtPatchLocation.Name = "txtPatchLocation"
+ Me.txtPatchLocation.Size = New System.Drawing.Size(303, 20)
+ Me.txtPatchLocation.TabIndex = 39
+ '
+ 'Label18
+ '
+ Me.Label18.AutoSize = True
+ Me.Label18.Location = New System.Drawing.Point(3, 81)
+ Me.Label18.Name = "Label18"
+ Me.Label18.Size = New System.Drawing.Size(49, 13)
+ Me.Label18.TabIndex = 40
+ Me.Label18.Text = "MSP File"
+ '
+ 'txtPatchCode
+ '
+ Me.txtPatchCode.Location = New System.Drawing.Point(6, 58)
+ Me.txtPatchCode.Mask = "{&&&&&&&&-&&&&-&&&&-&&&&-&&&&&&&&&&&&}"
+ Me.txtPatchCode.Name = "txtPatchCode"
+ Me.txtPatchCode.Size = New System.Drawing.Size(303, 20)
+ Me.txtPatchCode.TabIndex = 38
+ '
+ 'txtProductCode
+ '
+ Me.txtProductCode.Location = New System.Drawing.Point(6, 19)
+ Me.txtProductCode.Mask = "{&&&&&&&&-&&&&-&&&&-&&&&-&&&&&&&&&&&&}"
+ Me.txtProductCode.Name = "txtProductCode"
+ Me.txtProductCode.Size = New System.Drawing.Size(303, 20)
+ Me.txtProductCode.TabIndex = 37
+ '
+ 'btnCheckAppPatch
+ '
+ Me.btnCheckAppPatch.Location = New System.Drawing.Point(525, 283)
+ Me.btnCheckAppPatch.Name = "btnCheckAppPatch"
+ Me.btnCheckAppPatch.Size = New System.Drawing.Size(127, 64)
+ Me.btnCheckAppPatch.TabIndex = 36
+ Me.btnCheckAppPatch.Text = "Check App Patch"
+ Me.btnCheckAppPatch.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppPatchInfo
+ '
+ Me.btnGetAppPatchInfo.Location = New System.Drawing.Point(525, 213)
+ Me.btnGetAppPatchInfo.Name = "btnGetAppPatchInfo"
+ Me.btnGetAppPatchInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppPatchInfo.TabIndex = 35
+ Me.btnGetAppPatchInfo.Text = "Get Application Patch Info"
+ Me.btnGetAppPatchInfo.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppPatches
+ '
+ Me.btnGetAppPatches.Location = New System.Drawing.Point(525, 143)
+ Me.btnGetAppPatches.Name = "btnGetAppPatches"
+ Me.btnGetAppPatches.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppPatches.TabIndex = 34
+ Me.btnGetAppPatches.Text = "Get Application Patches"
+ Me.btnGetAppPatches.UseVisualStyleBackColor = True
+ '
+ 'btnGetAppInfo
+ '
+ Me.btnGetAppInfo.Location = New System.Drawing.Point(525, 73)
+ Me.btnGetAppInfo.Name = "btnGetAppInfo"
+ Me.btnGetAppInfo.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetAppInfo.TabIndex = 33
+ Me.btnGetAppInfo.Text = "Get Application Info"
+ Me.btnGetAppInfo.UseVisualStyleBackColor = True
+ '
+ 'Label17
+ '
+ Me.Label17.AutoSize = True
+ Me.Label17.Location = New System.Drawing.Point(3, 42)
+ Me.Label17.Name = "Label17"
+ Me.Label17.Size = New System.Drawing.Size(60, 13)
+ Me.Label17.TabIndex = 32
+ Me.Label17.Text = "PatchCode"
+ '
+ 'Label16
+ '
+ Me.Label16.AutoSize = True
+ Me.Label16.Location = New System.Drawing.Point(0, 3)
+ Me.Label16.Name = "Label16"
+ Me.Label16.Size = New System.Drawing.Size(69, 13)
+ Me.Label16.TabIndex = 30
+ Me.Label16.Text = "ProductCode"
+ '
+ 'btnGetApps
+ '
+ Me.btnGetApps.Location = New System.Drawing.Point(525, 3)
+ Me.btnGetApps.Name = "btnGetApps"
+ Me.btnGetApps.Size = New System.Drawing.Size(127, 64)
+ Me.btnGetApps.TabIndex = 12
+ Me.btnGetApps.Text = "Get Applications"
+ Me.btnGetApps.UseVisualStyleBackColor = True
+ '
+ 'TabPage8
+ '
+ Me.TabPage8.Controls.Add(Me.chkCaptureVerify)
+ Me.TabPage8.Controls.Add(Me.btnAppend)
+ Me.TabPage8.Controls.Add(Me.cmbCompression)
+ Me.TabPage8.Controls.Add(Me.lblCompression)
+ Me.TabPage8.Controls.Add(Me.lblName)
+ Me.TabPage8.Controls.Add(Me.txtName)
+ Me.TabPage8.Controls.Add(Me.btnCreate)
+ Me.TabPage8.Controls.Add(Me.Label20)
+ Me.TabPage8.Controls.Add(Me.Label21)
+ Me.TabPage8.Controls.Add(Me.btnCaptureDest)
+ Me.TabPage8.Controls.Add(Me.txtCaptureDest)
+ Me.TabPage8.Controls.Add(Me.txtCaptureSource)
+ Me.TabPage8.Controls.Add(Me.btnCaptureSrc)
+ Me.TabPage8.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage8.Name = "TabPage8"
+ Me.TabPage8.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage8.TabIndex = 7
+ Me.TabPage8.Text = "Capture Image"
+ Me.TabPage8.UseVisualStyleBackColor = True
+ '
+ 'chkCaptureVerify
+ '
+ Me.chkCaptureVerify.AutoSize = True
+ Me.chkCaptureVerify.Location = New System.Drawing.Point(92, 126)
+ Me.chkCaptureVerify.Name = "chkCaptureVerify"
+ Me.chkCaptureVerify.Size = New System.Drawing.Size(52, 17)
+ Me.chkCaptureVerify.TabIndex = 46
+ Me.chkCaptureVerify.Text = "Verify"
+ Me.chkCaptureVerify.UseVisualStyleBackColor = True
+ '
+ 'btnAppend
+ '
+ Me.btnAppend.Location = New System.Drawing.Point(525, 73)
+ Me.btnAppend.Name = "btnAppend"
+ Me.btnAppend.Size = New System.Drawing.Size(127, 64)
+ Me.btnAppend.TabIndex = 45
+ Me.btnAppend.Text = "&Append"
+ Me.btnAppend.UseVisualStyleBackColor = True
+ '
+ 'cmbCompression
+ '
+ Me.cmbCompression.FormattingEnabled = True
+ Me.cmbCompression.Items.AddRange(New Object() {"None", "Fast", "Maximum"})
+ Me.cmbCompression.Location = New System.Drawing.Point(92, 99)
+ Me.cmbCompression.Name = "cmbCompression"
+ Me.cmbCompression.Size = New System.Drawing.Size(80, 21)
+ Me.cmbCompression.TabIndex = 44
+ '
+ 'lblCompression
+ '
+ Me.lblCompression.AutoSize = True
+ Me.lblCompression.Location = New System.Drawing.Point(15, 105)
+ Me.lblCompression.Name = "lblCompression"
+ Me.lblCompression.Size = New System.Drawing.Size(70, 13)
+ Me.lblCompression.TabIndex = 43
+ Me.lblCompression.Text = "Compression:"
+ '
+ 'lblName
+ '
+ Me.lblName.AutoSize = True
+ Me.lblName.Location = New System.Drawing.Point(47, 75)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(38, 13)
+ Me.lblName.TabIndex = 42
+ Me.lblName.Text = "Name:"
+ '
+ 'txtName
+ '
+ Me.txtName.Location = New System.Drawing.Point(91, 72)
+ Me.txtName.Name = "txtName"
+ Me.txtName.Size = New System.Drawing.Size(295, 20)
+ Me.txtName.TabIndex = 34
+ '
+ 'btnCreate
+ '
+ Me.btnCreate.Location = New System.Drawing.Point(525, 3)
+ Me.btnCreate.Name = "btnCreate"
+ Me.btnCreate.Size = New System.Drawing.Size(127, 64)
+ Me.btnCreate.TabIndex = 40
+ Me.btnCreate.Text = "&Create"
+ Me.btnCreate.UseVisualStyleBackColor = True
+ '
+ 'Label20
+ '
+ Me.Label20.AutoSize = True
+ Me.Label20.Location = New System.Drawing.Point(22, 49)
+ Me.Label20.Name = "Label20"
+ Me.Label20.Size = New System.Drawing.Size(63, 13)
+ Me.Label20.TabIndex = 41
+ Me.Label20.Text = "Destination:"
+ '
+ 'Label21
+ '
+ Me.Label21.AutoSize = True
+ Me.Label21.Location = New System.Drawing.Point(41, 23)
+ Me.Label21.Name = "Label21"
+ Me.Label21.Size = New System.Drawing.Size(44, 13)
+ Me.Label21.TabIndex = 38
+ Me.Label21.Text = "Source:"
+ '
+ 'btnCaptureDest
+ '
+ Me.btnCaptureDest.Location = New System.Drawing.Point(392, 44)
+ Me.btnCaptureDest.Name = "btnCaptureDest"
+ Me.btnCaptureDest.Size = New System.Drawing.Size(75, 23)
+ Me.btnCaptureDest.TabIndex = 39
+ Me.btnCaptureDest.Text = "Browse..."
+ Me.btnCaptureDest.UseVisualStyleBackColor = True
+ '
+ 'txtCaptureDest
+ '
+ Me.txtCaptureDest.Location = New System.Drawing.Point(91, 46)
+ Me.txtCaptureDest.Name = "txtCaptureDest"
+ Me.txtCaptureDest.Size = New System.Drawing.Size(295, 20)
+ Me.txtCaptureDest.TabIndex = 37
+ '
+ 'txtCaptureSource
+ '
+ Me.txtCaptureSource.Location = New System.Drawing.Point(91, 20)
+ Me.txtCaptureSource.Name = "txtCaptureSource"
+ Me.txtCaptureSource.Size = New System.Drawing.Size(295, 20)
+ Me.txtCaptureSource.TabIndex = 35
+ '
+ 'btnCaptureSrc
+ '
+ Me.btnCaptureSrc.Location = New System.Drawing.Point(392, 18)
+ Me.btnCaptureSrc.Name = "btnCaptureSrc"
+ Me.btnCaptureSrc.Size = New System.Drawing.Size(75, 23)
+ Me.btnCaptureSrc.TabIndex = 36
+ Me.btnCaptureSrc.Text = "Browse..."
+ Me.btnCaptureSrc.UseVisualStyleBackColor = True
+ '
+ 'TabPage9
+ '
+ Me.TabPage9.Controls.Add(Me.chkApplyVerify)
+ Me.TabPage9.Controls.Add(Me.cmbApplyIndex)
+ Me.TabPage9.Controls.Add(Me.lblIndex)
+ Me.TabPage9.Controls.Add(Me.btnApply)
+ Me.TabPage9.Controls.Add(Me.lblDest)
+ Me.TabPage9.Controls.Add(Me.lblSource)
+ Me.TabPage9.Controls.Add(Me.btnBrowseDest)
+ Me.TabPage9.Controls.Add(Me.txtApplyDest)
+ Me.TabPage9.Controls.Add(Me.txtxApplySource)
+ Me.TabPage9.Controls.Add(Me.btnBrowseSource)
+ Me.TabPage9.Location = New System.Drawing.Point(4, 22)
+ Me.TabPage9.Name = "TabPage9"
+ Me.TabPage9.Size = New System.Drawing.Size(655, 364)
+ Me.TabPage9.TabIndex = 8
+ Me.TabPage9.Text = "Apply Image"
+ Me.TabPage9.UseVisualStyleBackColor = True
+ '
+ 'chkApplyVerify
+ '
+ Me.chkApplyVerify.AutoSize = True
+ Me.chkApplyVerify.Location = New System.Drawing.Point(77, 103)
+ Me.chkApplyVerify.Name = "chkApplyVerify"
+ Me.chkApplyVerify.Size = New System.Drawing.Size(52, 17)
+ Me.chkApplyVerify.TabIndex = 41
+ Me.chkApplyVerify.Text = "Verify"
+ Me.chkApplyVerify.UseVisualStyleBackColor = True
+ '
+ 'cmbApplyIndex
+ '
+ Me.cmbApplyIndex.FormattingEnabled = True
+ Me.cmbApplyIndex.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
+ Me.cmbApplyIndex.Location = New System.Drawing.Point(77, 75)
+ Me.cmbApplyIndex.Name = "cmbApplyIndex"
+ Me.cmbApplyIndex.Size = New System.Drawing.Size(30, 21)
+ Me.cmbApplyIndex.TabIndex = 40
+ '
+ 'lblIndex
+ '
+ Me.lblIndex.AutoSize = True
+ Me.lblIndex.Location = New System.Drawing.Point(35, 75)
+ Me.lblIndex.Name = "lblIndex"
+ Me.lblIndex.Size = New System.Drawing.Size(36, 13)
+ Me.lblIndex.TabIndex = 39
+ Me.lblIndex.Text = "Index:"
+ '
+ 'btnApply
+ '
+ Me.btnApply.Location = New System.Drawing.Point(525, 3)
+ Me.btnApply.Name = "btnApply"
+ Me.btnApply.Size = New System.Drawing.Size(127, 64)
+ Me.btnApply.TabIndex = 37
+ Me.btnApply.Text = "&Apply"
+ Me.btnApply.UseVisualStyleBackColor = True
+ '
+ 'lblDest
+ '
+ Me.lblDest.AutoSize = True
+ Me.lblDest.Location = New System.Drawing.Point(8, 49)
+ Me.lblDest.Name = "lblDest"
+ Me.lblDest.Size = New System.Drawing.Size(63, 13)
+ Me.lblDest.TabIndex = 38
+ Me.lblDest.Text = "Destination:"
+ '
+ 'lblSource
+ '
+ Me.lblSource.AutoSize = True
+ Me.lblSource.Location = New System.Drawing.Point(27, 17)
+ Me.lblSource.Name = "lblSource"
+ Me.lblSource.Size = New System.Drawing.Size(44, 13)
+ Me.lblSource.TabIndex = 35
+ Me.lblSource.Text = "Source:"
+ '
+ 'btnBrowseDest
+ '
+ Me.btnBrowseDest.Location = New System.Drawing.Point(378, 43)
+ Me.btnBrowseDest.Name = "btnBrowseDest"
+ Me.btnBrowseDest.Size = New System.Drawing.Size(75, 23)
+ Me.btnBrowseDest.TabIndex = 36
+ Me.btnBrowseDest.Text = "Browse..."
+ Me.btnBrowseDest.UseVisualStyleBackColor = True
+ '
+ 'txtApplyDest
+ '
+ Me.txtApplyDest.Location = New System.Drawing.Point(77, 46)
+ Me.txtApplyDest.Name = "txtApplyDest"
+ Me.txtApplyDest.Size = New System.Drawing.Size(295, 20)
+ Me.txtApplyDest.TabIndex = 34
+ '
+ 'txtxApplySource
+ '
+ Me.txtxApplySource.Location = New System.Drawing.Point(77, 14)
+ Me.txtxApplySource.Name = "txtxApplySource"
+ Me.txtxApplySource.Size = New System.Drawing.Size(295, 20)
+ Me.txtxApplySource.TabIndex = 32
+ '
+ 'btnBrowseSource
+ '
+ Me.btnBrowseSource.AutoSize = True
+ Me.btnBrowseSource.Location = New System.Drawing.Point(378, 14)
+ Me.btnBrowseSource.Name = "btnBrowseSource"
+ Me.btnBrowseSource.Size = New System.Drawing.Size(76, 23)
+ Me.btnBrowseSource.TabIndex = 33
+ Me.btnBrowseSource.Text = "Browse..."
+ Me.btnBrowseSource.UseVisualStyleBackColor = True
+ '
+ 'BackgroundWorkerDISMCommand
+ '
+ '
+ 'chkMountReadOnly
+ '
+ Me.chkMountReadOnly.AutoSize = True
+ Me.chkMountReadOnly.Location = New System.Drawing.Point(9, 137)
+ Me.chkMountReadOnly.Name = "chkMountReadOnly"
+ Me.chkMountReadOnly.Size = New System.Drawing.Size(76, 17)
+ Me.chkMountReadOnly.TabIndex = 19
+ Me.chkMountReadOnly.Text = "Read Only"
+ Me.chkMountReadOnly.UseVisualStyleBackColor = True
+ '
+ 'frmMain
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(686, 722)
+ Me.Controls.Add(Me.TabControl1)
+ Me.Controls.Add(Me.btnExit)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.txtOutput)
+ Me.Controls.Add(Me.MenuStrip1)
+ Me.MainMenuStrip = Me.MenuStrip1
+ Me.Name = "frmMain"
+ Me.Text = "DISM GUI"
+ Me.MenuStrip1.ResumeLayout(False)
+ Me.MenuStrip1.PerformLayout()
+ Me.TabControl1.ResumeLayout(False)
+ Me.TabPage1.ResumeLayout(False)
+ Me.TabPage1.PerformLayout()
+ Me.TabPage2.ResumeLayout(False)
+ Me.TabPage2.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
+ Me.GroupBox1.ResumeLayout(False)
+ Me.GroupBox1.PerformLayout()
+ Me.TabPage3.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.GroupBox4.PerformLayout()
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox3.PerformLayout()
+ Me.TabPage4.ResumeLayout(False)
+ Me.TabPage4.PerformLayout()
+ Me.TabPage5.ResumeLayout(False)
+ Me.TabPage5.PerformLayout()
+ Me.TabPage6.ResumeLayout(False)
+ Me.TabPage6.PerformLayout()
+ Me.TabPage7.ResumeLayout(False)
+ Me.TabPage7.PerformLayout()
+ Me.TabPage8.ResumeLayout(False)
+ Me.TabPage8.PerformLayout()
+ Me.TabPage9.ResumeLayout(False)
+ Me.TabPage9.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txtWIM As System.Windows.Forms.TextBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents txtMount As System.Windows.Forms.TextBox
+ Friend WithEvents dlgOpenFolder As System.Windows.Forms.FolderBrowserDialog
+ Friend WithEvents dlgOpenFile As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents btnOpenWIM As System.Windows.Forms.Button
+ Friend WithEvents btnOpenMount As System.Windows.Forms.Button
+ Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
+ Friend WithEvents ToolsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnMount As System.Windows.Forms.Button
+ Friend WithEvents cmbIndex As System.Windows.Forms.ComboBox
+ Friend WithEvents AboutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDismount As System.Windows.Forms.Button
+ Friend WithEvents txtOutput As System.Windows.Forms.TextBox
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents btnOpenFolder As System.Windows.Forms.Button
+ Friend WithEvents btnExit As System.Windows.Forms.Button
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents OpenDISMLogToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents BackgroundWorkerMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents BackgroundWorkerDisMount As System.ComponentModel.BackgroundWorker
+ Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+ Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
+ Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
+ Friend WithEvents Label5 As System.Windows.Forms.Label
+ Friend WithEvents btnGetDrivers As System.Windows.Forms.Button
+ Friend WithEvents txtDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpnDriverFolder As System.Windows.Forms.Button
+ Friend WithEvents chkForceUnsigned As System.Windows.Forms.CheckBox
+ Friend WithEvents btnAddDriver As System.Windows.Forms.Button
+ Friend WithEvents BackgroundWorkerDISMCommand As System.ComponentModel.BackgroundWorker
+ Friend WithEvents CleanupWIMToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents GetWIMInfoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents btnDisplayWIMInfo As System.Windows.Forms.Button
+ Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetPackages As System.Windows.Forms.Button
+ Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
+ Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents txtPackageFile As System.Windows.Forms.TextBox
+ Friend WithEvents btnOpenPackageFile As System.Windows.Forms.Button
+ Friend WithEvents btnAddPackages As System.Windows.Forms.Button
+ Friend WithEvents chkIgnoreCheck As System.Windows.Forms.CheckBox
+ Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnGetAllDriverInfo As System.Windows.Forms.Button
+ Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+ Friend WithEvents btnDelDriver As System.Windows.Forms.Button
+ Friend WithEvents txtDelDriverLocation As System.Windows.Forms.TextBox
+ Friend WithEvents Label7 As System.Windows.Forms.Label
+ Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
+ Friend WithEvents Label9 As System.Windows.Forms.Label
+ Friend WithEvents Label8 As System.Windows.Forms.Label
+ Friend WithEvents btnRemovePackagePath As System.Windows.Forms.Button
+ Friend WithEvents btnRemovePackageName As System.Windows.Forms.Button
+ Friend WithEvents txtPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
+ Friend WithEvents chkRecurse As System.Windows.Forms.CheckBox
+ Friend WithEvents btnGetFeatures As System.Windows.Forms.Button
+ Friend WithEvents btnEnableFeature As System.Windows.Forms.Button
+ Friend WithEvents Label12 As System.Windows.Forms.Label
+ Friend WithEvents Label11 As System.Windows.Forms.Label
+ Friend WithEvents Label10 As System.Windows.Forms.Label
+ Friend WithEvents txtFeatPackagePath As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatPackageName As System.Windows.Forms.TextBox
+ Friend WithEvents txtFeatureName As System.Windows.Forms.TextBox
+ Friend WithEvents chkEnablePkgPath As System.Windows.Forms.CheckBox
+ Friend WithEvents chkEnablePkgName As System.Windows.Forms.CheckBox
+ Friend WithEvents btnDisableFeature As System.Windows.Forms.Button
+ Friend WithEvents CleanupImageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents UseOnlineModeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents TabPage5 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetTargetEditions As System.Windows.Forms.Button
+ Friend WithEvents btGetCurrentEdition As System.Windows.Forms.Button
+ Friend WithEvents Label13 As System.Windows.Forms.Label
+ Friend WithEvents btnSetProdKey As System.Windows.Forms.Button
+ Friend WithEvents txtProdKey As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents btnSetEdition As System.Windows.Forms.Button
+ Friend WithEvents txtEdition As System.Windows.Forms.TextBox
+ Friend WithEvents TabPage6 As System.Windows.Forms.TabPage
+ Friend WithEvents btnChooseUnAttend As System.Windows.Forms.Button
+ Friend WithEvents txtUnattend As System.Windows.Forms.TextBox
+ Friend WithEvents Label14 As System.Windows.Forms.Label
+ Friend WithEvents btnApplyUnattend As System.Windows.Forms.Button
+ Friend WithEvents TabPage7 As System.Windows.Forms.TabPage
+ Friend WithEvents btnGetApps As System.Windows.Forms.Button
+ Friend WithEvents Label15 As System.Windows.Forms.Label
+ Friend WithEvents btnGetAppInfo As System.Windows.Forms.Button
+ Friend WithEvents Label17 As System.Windows.Forms.Label
+ Friend WithEvents Label16 As System.Windows.Forms.Label
+ Friend WithEvents btnCheckAppPatch As System.Windows.Forms.Button
+ Friend WithEvents btnGetAppPatchInfo As System.Windows.Forms.Button
+ Friend WithEvents btnGetAppPatches As System.Windows.Forms.Button
+ Friend WithEvents txtPatchCode As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents txtProductCode As System.Windows.Forms.MaskedTextBox
+ Friend WithEvents btnChooseMSP As System.Windows.Forms.Button
+ Friend WithEvents txtPatchLocation As System.Windows.Forms.TextBox
+ Friend WithEvents Label18 As System.Windows.Forms.Label
+ Friend WithEvents dlgOpenXML As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents dlgOpenMSP As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents TabPage8 As System.Windows.Forms.TabPage
+ Friend WithEvents btnAppend As System.Windows.Forms.Button
+ Friend WithEvents cmbCompression As System.Windows.Forms.ComboBox
+ Friend WithEvents lblCompression As System.Windows.Forms.Label
+ Friend WithEvents lblName As System.Windows.Forms.Label
+ Friend WithEvents txtName As System.Windows.Forms.TextBox
+ Friend WithEvents btnCreate As System.Windows.Forms.Button
+ Friend WithEvents Label20 As System.Windows.Forms.Label
+ Friend WithEvents Label21 As System.Windows.Forms.Label
+ Friend WithEvents btnCaptureDest As System.Windows.Forms.Button
+ Friend WithEvents txtCaptureDest As System.Windows.Forms.TextBox
+ Friend WithEvents txtCaptureSource As System.Windows.Forms.TextBox
+ Friend WithEvents btnCaptureSrc As System.Windows.Forms.Button
+ Friend WithEvents TabPage9 As System.Windows.Forms.TabPage
+ Friend WithEvents cmbApplyIndex As System.Windows.Forms.ComboBox
+ Friend WithEvents lblIndex As System.Windows.Forms.Label
+ Friend WithEvents btnApply As System.Windows.Forms.Button
+ Friend WithEvents lblDest As System.Windows.Forms.Label
+ Friend WithEvents lblSource As System.Windows.Forms.Label
+ Friend WithEvents btnBrowseDest As System.Windows.Forms.Button
+ Friend WithEvents txtApplyDest As System.Windows.Forms.TextBox
+ Friend WithEvents txtxApplySource As System.Windows.Forms.TextBox
+ Friend WithEvents btnBrowseSource As System.Windows.Forms.Button
+ Friend WithEvents chkApplyVerify As System.Windows.Forms.CheckBox
+ Friend WithEvents chkCaptureVerify As System.Windows.Forms.CheckBox
+ Friend WithEvents chkMountReadOnly As System.Windows.Forms.CheckBox
+
+End Class
diff --git a/4.0/DISM GUI/frmMain.resx b/4.0/DISM GUI/frmMain.resx
new file mode 100644
index 0000000..69a196b
--- /dev/null
+++ b/4.0/DISM GUI/frmMain.resx
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+ 188, 17
+
+
+ 313, 17
+
+
+ 428, 17
+
+
+ 621, 17
+
+
+ 17, 56
+
+
+ 260, 56
+
+
+ 383, 56
+
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/frmMain.vb b/4.0/DISM GUI/frmMain.vb
new file mode 100644
index 0000000..9f8a134
--- /dev/null
+++ b/4.0/DISM GUI/frmMain.vb
@@ -0,0 +1,1042 @@
+Imports Microsoft.Win32
+Public Class frmMain
+ Public Property RedirectStandardOutput As Boolean
+ Dim strFolderName As String
+ Dim WIMMounted As Boolean = False
+ Dim strMountedImageLocation As String
+ Dim strIndex As String
+ Dim strWIM As String
+ Dim strOutput As String
+ Dim strDISMExitCode As String
+ Dim blnDISMCommit As Boolean
+ Dim strDriverLocation As String
+ Dim blnForceUnsigned As Boolean
+ Dim strDISMArguments As String
+ Dim strPackageLocation As String
+ Dim strLocation As String
+ Dim blnIgnoreCheck As Boolean
+ Dim strDelDriverLocation As String
+ Dim strPackageName As String
+ Dim strPackagePath As String
+ Dim strFeatureName As String
+ Dim OnlineMode As Boolean = False
+ Dim strProductKey As String
+ Dim strEdition As String
+ Dim strXMLFileName As String
+ Dim strProductCode As String
+ Dim strPatchCode As String
+ Dim strMSPFileName As String
+ Dim strSource As String
+ Dim strDest As String
+ Dim strName As String
+ Dim strCompression As String
+ Dim strAppendIndex As String
+
+
+
+
+
+
+
+
+
+ Private Sub btnOpenWIM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenWIM.Click
+ dlgOpenFile.InitialDirectory = "c:\"
+ dlgOpenFile.Title = "Choose WIM file to Open"
+ dlgOpenFile.Filter = ("WIM Files(*.wim)|*.wim|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenFile.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strFileName As String = dlgOpenFile.FileName
+ txtWIM.Text = strFileName
+ End If
+
+ End Sub
+
+ Private Sub btnOpenMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenMount.Click
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ dlgOpenFolder.ShowDialog()
+ Dim strFolderName As String = dlgOpenFolder.SelectedPath
+ Dim dirs As String() = System.IO.Directory.GetDirectories(strFolderName)
+ Dim files As String() = System.IO.Directory.GetFiles(strFolderName)
+ If dirs.Length = 0 AndAlso files.Length = 0 Then
+ txtMount.Text = strFolderName
+ Else
+ If MessageBox.Show("You must choose an empty folder to mount the WIM") = DialogResult.OK Then
+ Else
+ 'Do Nothing
+ End If
+ End If
+ End Sub
+
+
+
+ Private Sub btnMount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMount.Click
+ txtOutput.Text = ""
+ If txtWIM.Text = "" Or txtMount.Text = "" Or cmbIndex.Text = "" Then
+ MsgBox("You must select a WIM and folder first")
+ Else
+ txtMount.Text = Replace(txtMount.Text, """", "")
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ txtWIM.Text = Replace(txtWIM.Text, """", "")
+ strWIM = txtWIM.Text
+ BackgroundWorkerMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+
+
+ End Sub
+
+ Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
+ frmAbout.ShowDialog()
+
+ End Sub
+
+ Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+ If MessageBox.Show("Are you sure you want to exit?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ If WIMMounted = True Then
+ If MessageBox.Show("You currently have a WIM Mounted. Do you want to dismount before exiting?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ 'DismountWIM()
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+
+
+ Else
+ e.Cancel = False
+ End If
+ Else
+ 'Do Nothing - Exit form
+ End If
+ Else
+ e.Cancel = True
+ End If
+
+
+ End Sub
+
+
+ Private Sub btnDismount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDismount.Click
+ strFolderName = txtMount.Text
+ strIndex = cmbIndex.Text
+ strWIM = txtWIM.Text
+ txtOutput.Text = ""
+ BackgroundWorkerDisMount.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+
+ Private Sub btnOpenFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenFolder.Click
+ Dim OpenFolder As New Process
+ Process.Start("explorer.exe", txtMount.Text)
+ End Sub
+
+ Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
+ Me.Close()
+ End Sub
+
+ Private Sub OpenDISMLogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenDISMLogToolStripMenuItem.Click
+ Dim strWinDir As String = System.Environment.GetEnvironmentVariable("windir")
+ Dim OpenDISMLog As New Process
+ Process.Start("Notepad.exe", strWinDir & "\Logs\DISM\dism.log")
+ End Sub
+
+ Private Sub btnGetDrivers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetDrivers.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+ End Sub
+
+ Private Sub BackgroundWorkerMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerMount.DoWork
+ strDISMExitCode = ""
+ 'Mount WIM file
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ If chkMountReadOnly.Checked = True Then
+ DISM.StartInfo.Arguments = "/Mount-WIM /ReadOnly /WimFile:""" & strWIM & """" & " /index:" & strIndex & " /MountDir:" & """" & strFolderName & """"
+ Else
+ DISM.StartInfo.Arguments = "/Mount-WIM /WimFile:""" & strWIM & """" & " /index:" & strIndex & " /MountDir:" & """" & strFolderName & """"
+ End If
+
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ 'txtOutput.Text = output
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerMount.RunWorkerCompleted
+ 'Check to see if WIM mounted correctly
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = False
+ btnDismount.Enabled = True
+ WIMMounted = True
+ If strMountedImageLocation = "" Then
+ strMountedImageLocation = strFolderName
+ Else
+ 'Do Nothing
+ End If
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDisMount.DoWork
+ strDISMExitCode = ""
+
+ If MessageBox.Show("Do you want to commit changes?", "WIM Mounted", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
+ blnDISMCommit = True
+ Else
+ blnDISMCommit = False
+ End If
+
+
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+
+ If blnDISMCommit = True Then
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /commit"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ Else
+ DISM.StartInfo.Arguments = "/Unmount-wim /mountdir:""" & strFolderName & """ /discard"
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ End If
+
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDisMount_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDisMount.RunWorkerCompleted
+ 'Verify DIM was dismounted
+ If strDISMExitCode = "0" Then
+ btnMount.Enabled = True
+ btnDismount.Enabled = False
+ WIMMounted = False
+ strMountedImageLocation = ""
+ frmProgress.Close()
+ Else
+ frmProgress.Close()
+ End If
+ End Sub
+
+ Private Sub btnOpnDriverFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpnDriverFolder.Click
+ txtDriverLocation.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddDriver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDriverLocation.Text = "" Then
+ MessageBox.Show("You must specify a folder where your drivers are located.")
+ Else
+ strDriverLocation = txtDriverLocation.Text
+ If chkForceUnsigned.Checked = True Then
+ 'blnForceUnsigned = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " /ForceUnsigned "
+ Else
+ 'blnForceUnsigned = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Driver /driver:""" & strDriverLocation & """" & " "
+ End If
+ If chkRecurse.Checked = True Then
+ strDISMArguments = strDISMArguments & "/recurse"
+ Else
+ 'Do Nothing
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub GetWIMInfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetWIMInfoToolStripMenuItem.Click
+ strDISMArguments = "/Get-MountedWIMInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorkerDISMCommand.DoWork
+ Dim strInput As String = e.Argument
+ strDISMExitCode = ""
+ Dim DISM As New Process()
+ DISM.StartInfo.RedirectStandardOutput = True
+ DISM.StartInfo.RedirectStandardError = True
+ DISM.StartInfo.UseShellExecute = False
+ DISM.StartInfo.CreateNoWindow = True
+ DISM.StartInfo.FileName = "dism.exe"
+ DISM.StartInfo.Arguments = strInput
+ strOutput = "Command line that ran is dism.exe " & DISM.StartInfo.Arguments
+ DISM.Start()
+ strOutput = strOutput & vbCr & vbCr & DISM.StandardOutput.ReadToEnd()
+ DISM.WaitForExit()
+ strDISMExitCode = DISM.ExitCode
+ End Sub
+
+ Private Sub BackgroundWorkerDISMCommand_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorkerDISMCommand.RunWorkerCompleted
+ strDISMArguments = ""
+ frmProgress.Close()
+ End Sub
+
+ Private Sub CleanupWIMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupWIMToolStripMenuItem.Click
+ strDISMArguments = "/Cleanup-WIM"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+
+ Private Sub btnDisplayWIMInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayWIMInfo.Click
+
+ If txtWIM.Text = "" Then
+ MsgBox("You must select a WIM file first")
+ Else
+
+ strWIM = txtWIM.Text
+ strDISMArguments = "/Get-WimInfo /wimFile:""" & strWIM & """"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnGetPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Packages"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+
+ Private Sub btnOpenPackageFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenPackageFile.Click
+ txtPackageFile.Text = OpenFolder()
+ End Sub
+
+ Private Sub btnAddPackages_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddPackages.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageFile.Text = "" Then
+ MessageBox.Show("You must specify a folder where your package(s) are located.")
+ Else
+ strPackageLocation = txtPackageFile.Text
+ If chkIgnoreCheck.Checked = True Then
+ blnIgnoreCheck = True
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """" & " /ignorecheck"
+ Else
+ blnIgnoreCheck = False
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Add-Package /PackagePath:""" & strPackageLocation & """"
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+ End If
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Function OpenFolder()
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ Dim DidWork As Integer = dlgOpenFolder.ShowDialog
+ If DidWork = DialogResult.Cancel Then
+ strLocation = ""
+ Return strLocation
+ Else
+ strLocation = dlgOpenFolder.SelectedPath
+ Return strLocation
+ End If
+ End Function
+
+
+
+ Private Sub btnGetAllDriverInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetAllDriverInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-Drivers /All"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ 'BackgroundGetDrivers.RunWorkerAsync()
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnDelDriver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelDriver.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtDelDriverLocation.Text = "" Then
+ 'Or Microsoft.VisualBasic.Left(txtDelDriverLocation.Text, 3) <> "inf"
+ MessageBox.Show("You must enter in a driver name before continuing. The Driver name must end with inf")
+ Else
+ strDelDriverLocation = txtDelDriverLocation.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Driver /driver:" & strDelDriverLocation
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackageName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackageName.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackageName.Text = "" Then
+ MessageBox.Show("You must enter in a package name before continuing.")
+ Else
+ strPackageName = txtPackageName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackageName:" & strPackageName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnRemovePackagePath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePackagePath.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ If txtPackagePath.Text = "" Or Microsoft.VisualBasic.Left(txtPackagePath.Text, 3) <> "cab" Then
+ MessageBox.Show("You must enter in a package path before continuing. The package path must point to a valid cab file.")
+ Else
+ strPackagePath = txtPackagePath.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Remove-Package /PackagePath:" & strPackagePath
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ 'Do Nothing
+ End If
+ End Sub
+
+ Private Sub btnGetFeatures_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetFeatures.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Features"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub chkEnablePkgName_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgName.CheckedChanged
+ If chkEnablePkgName.Checked = True Then
+ txtFeatPackageName.Enabled = True
+ ElseIf chkEnablePkgName.Checked = False Then
+ txtFeatPackageName.Enabled = False
+ End If
+
+ End Sub
+
+ Private Sub chkEnablePkgPath_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkEnablePkgPath.CheckedChanged
+ If chkEnablePkgPath.Checked = True Then
+ txtFeatPackagePath.Enabled = True
+ ElseIf chkEnablePkgPath.Checked = False Then
+ txtFeatPackagePath.Enabled = False
+ End If
+ End Sub
+
+ Private Sub btnEnableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True And txtFeatPackagePath.Text = "" Then
+ MessageBox.Show("If you enable the Package Path field you must specify a Package Path")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Enable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackagePath:" & txtFeatPackagePath.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnDisableFeature_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisableFeature.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If txtFeatureName.Text = "" Then
+ MessageBox.Show("Feature Name is required to continue.")
+ Exit Sub
+ Else
+ 'do nothing
+ End If
+
+ If chkEnablePkgName.Checked = True And txtFeatPackageName.Text = "" Then
+ MessageBox.Show("If you enable the Package Name field you must specify a Package Name")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If chkEnablePkgPath.Checked = True Then
+ MessageBox.Show("The PackagePath option cannot be used with disabling a feature. Anything entered into that box will be ignored.")
+ Else
+ 'Do Nothing
+ End If
+
+ strFeatureName = txtFeatureName.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Disable-Feature /FeatureName:""" & strFeatureName & """" & " "
+
+ If chkEnablePkgName.Checked = True Then
+ strDISMArguments = strDISMArguments & "/PackageName:" & txtFeatPackageName.Text & " "
+ Else
+ 'Do Nothing
+ End If
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub CleanupImageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CleanupImageToolStripMenuItem.Click
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Cleanup-Image /RevertPendingActions"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ cmbIndex.Text = "1"
+ cmbCompression.Text = "Fast"
+ cmbApplyIndex.Text = "1"
+ End Sub
+
+ Private Sub UseOnlineModeToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UseOnlineModeToolStripMenuItem.Click
+ If UseOnlineModeToolStripMenuItem.CheckState = CheckState.Checked Then
+ OnlineMode = True
+ btnMount.Enabled = False
+ btnOpenFolder.Enabled = False
+ Else
+ OnlineMode = False
+ btnMount.Enabled = True
+ btnOpenFolder.Enabled = True
+ End If
+ End Sub
+
+ Private Sub btGetCurrentEdition_Click(sender As System.Object, e As System.EventArgs) Handles btGetCurrentEdition.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-CurrentEdition"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnGetTargetEditions_Click(sender As System.Object, e As System.EventArgs) Handles btnGetTargetEditions.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-TargetEditions"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnSetProdKey_Click(sender As System.Object, e As System.EventArgs) Handles btnSetProdKey.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProdKey.Text = "" Then
+ MessageBox.Show("Product Key is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strProductKey = txtProdKey.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Set-ProductKey:" & strProductKey
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnSetEdition_Click(sender As System.Object, e As System.EventArgs) Handles btnSetEdition.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+
+ End If
+
+ If txtEdition.Text = "" Then
+ MessageBox.Show("Edition is required to continue.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strEdition = txtEdition.Text
+ strProductKey = txtProdKey.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Set-Edition:" & strEdition
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+ End Sub
+
+ Private Sub btnChooseUnAttend_Click(sender As System.Object, e As System.EventArgs) Handles btnChooseUnAttend.Click
+ dlgOpenXML.InitialDirectory = "c:\"
+ dlgOpenXML.Title = "Choose Unattend XML file to Open"
+ dlgOpenXML.Filter = ("XML Files(*.xml)|*.xml|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenXML.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strXMLFileName As String = dlgOpenXML.FileName
+ txtUnattend.Text = strXMLFileName
+ End If
+ End Sub
+
+ Private Sub btnApplyUnattend_Click(sender As System.Object, e As System.EventArgs) Handles btnApplyUnattend.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ 'Do Nothing
+ End If
+
+ If txtUnattend.Text = "" Then
+ MessageBox.Show("You must enter an XML file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+ strXMLFileName = txtPatchLocation.Text
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Apply-Unattend:" & strXMLFileName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnGetApps_Click(sender As System.Object, e As System.EventArgs) Handles btnGetApps.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Else
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Get-Apps"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+ End Sub
+
+ Private Sub btnGetAppInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProductCode.Text = "{ - - - - }" Then
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ Else
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppInfo /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ End If
+
+
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnGetAppPatches_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppPatches.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtProductCode.Text = "{ - - - - }" Then
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatches"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Else
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatches /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End If
+
+
+ End Sub
+
+ Private Sub btnGetAppPatchInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAppPatchInfo.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text = "{ - - - - }" And txtProductCode.Text = "{ - - - - }" Then
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo"
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text <> "{ - - - - }" And txtProductCode.Text = "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /PatchCode:" & strPatchCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text = "{ - - - - }" And txtProductCode.Text <> "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtPatchCode.Text <> "{ - - - - }" And txtProductCode.Text <> "{ - - - - }" Then
+ strPatchCode = txtPatchCode.Text
+ strProductCode = txtProductCode.Text
+ strDISMArguments = "/image:""" & strMountedImageLocation & """" & " /Get-AppPatchInfo /PatchCode:" & strPatchCode & " /ProductCode:" & strProductCode
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ End Sub
+
+ Private Sub btnCheckAppPatch_Click(sender As System.Object, e As System.EventArgs) Handles btnCheckAppPatch.Click
+ If WIMMounted = False Then
+ MessageBox.Show("No WIM is mounted. You must mount a WIM before running this command.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+
+
+ If txtPatchLocation.Text = "" Then
+ MessageBox.Show("You must enter an MSP file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+ strMSPFileName = txtPatchLocation.Text
+ strDISMArguments = "/image:" & strMountedImageLocation & " /Check-AppPatch /PatchLocation:" & strMSPFileName
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+ Private Sub btnChooseMSP_Click(sender As System.Object, e As System.EventArgs) Handles btnChooseMSP.Click
+ dlgOpenMSP.InitialDirectory = "c:\"
+ dlgOpenMSP.Title = "Choose Unattend XML file to Open"
+ dlgOpenMSP.Filter = ("MSP Files(*.msp)|*.msp|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenMSP.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strMSPFileName As String = dlgOpenMSP.FileName
+ txtPatchLocation.Text = strMSPFileName
+ End If
+ End Sub
+
+ Private Sub btnCreate_Click(sender As System.Object, e As System.EventArgs) Handles btnCreate.Click
+ If txtCaptureSource.Text = "" Then
+ MessageBox.Show("You must select a source location.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtCaptureDest.Text = "" Then
+ MessageBox.Show("You must set a destination file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtName.Text = "" Then
+ MessageBox.Show("You must enter a Name for the WIM.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strSource = txtCaptureSource.Text
+ strDest = txtCaptureDest.Text
+ strName = txtName.Text
+ strCompression = cmbCompression.Text
+
+ If chkCaptureVerify.Checked = True Then
+ strDISMArguments = "/Capture-Image /ImageFile:" + strDest + " /CaptureDir:" + strSource + " /Name:" + Chr(34) + strName + Chr(34) + " /Compress:" + strCompression + " /verify"
+ Else
+ strDISMArguments = "/Capture-Image /ImageFile:" + strDest + " /CaptureDir:" + strSource + " /Name:" + Chr(34) + strName + Chr(34) + " /Compress:" + strCompression
+ End If
+
+
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+ End Sub
+
+ Private Sub btnCaptureSrc_Click(sender As System.Object, e As System.EventArgs) Handles btnCaptureSrc.Click
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ dlgOpenFolder.ShowDialog()
+ Dim strFolderName As String = dlgOpenFolder.SelectedPath
+ Dim dirs As String() = System.IO.Directory.GetDirectories(strFolderName)
+ Dim files As String() = System.IO.Directory.GetFiles(strFolderName)
+ If dirs.Length = 0 AndAlso files.Length = 0 Then
+ If MessageBox.Show("You must choose a non-empty folder.") = DialogResult.OK Then
+ Else
+ 'Do Nothing
+ End If
+ Else
+ txtCaptureSource.Text = strFolderName
+ End If
+ End Sub
+
+ Private Sub btnCaptureDest_Click(sender As System.Object, e As System.EventArgs) Handles btnCaptureDest.Click
+ dlgOpenFile.InitialDirectory = "c:\"
+ dlgOpenFile.Title = "Choose WIM file to Open"
+ dlgOpenFile.Filter = ("WIM Files(*.wim)|*.wim|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenFile.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strFileName As String = dlgOpenFile.FileName
+ txtCaptureDest.Text = strFileName
+ End If
+
+ End Sub
+
+ Private Sub btnAppend_Click(sender As System.Object, e As System.EventArgs) Handles btnAppend.Click
+ If txtCaptureSource.Text = "" Then
+ MessageBox.Show("You must select a source location.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtCaptureDest.Text = "" Then
+ MessageBox.Show("You must set a destination file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtName.Text = "" Then
+ MessageBox.Show("You must enter a Name for the WIM.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ strSource = txtCaptureSource.Text
+ strDest = txtCaptureDest.Text
+ strName = txtName.Text
+ strCompression = cmbCompression.Text
+
+ strDISMArguments = "/Append-Image /ImageFile:" + strDest + " /CaptureDir:" + strSource + " /Name:" + Chr(34) + strName + Chr(34)
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+
+ End Sub
+
+ Private Sub btnBrowseSource_Click(sender As System.Object, e As System.EventArgs) Handles btnBrowseSource.Click
+ dlgOpenFile.InitialDirectory = "c:\"
+ dlgOpenFile.Title = "Choose WIM file to Open"
+ dlgOpenFile.Filter = ("WIM Files(*.wim)|*.wim|All Files (*.*)|*.*")
+ Dim DidWork As Integer = dlgOpenFile.ShowDialog
+
+ If DidWork = DialogResult.Cancel Then
+ 'Do Nothing
+ Else
+ Dim strFileName As String = dlgOpenFile.FileName
+ txtxApplySource.Text = strFileName
+ End If
+ End Sub
+
+ Private Sub btnBrowseDest_Click(sender As System.Object, e As System.EventArgs) Handles btnBrowseDest.Click
+ dlgOpenFolder.ShowNewFolderButton = False
+ dlgOpenFolder.RootFolder = Environment.SpecialFolder.MyComputer
+ dlgOpenFolder.ShowDialog()
+ Dim strFolderName As String = dlgOpenFolder.SelectedPath
+ Dim dirs As String() = System.IO.Directory.GetDirectories(strFolderName)
+ Dim files As String() = System.IO.Directory.GetFiles(strFolderName)
+ If dirs.Length = 0 AndAlso files.Length = 0 Then
+ txtApplyDest.Text = strFolderName
+ Else
+ If MessageBox.Show("You must choose an empty folder to mount the WIM") = DialogResult.OK Then
+ Else
+ 'Do Nothing
+ End If
+ End If
+
+ End Sub
+
+ Private Sub btnApply_Click(sender As System.Object, e As System.EventArgs) Handles btnApply.Click
+ If txtxApplySource.Text = "" Then
+ MessageBox.Show("You must select a source WIM.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If txtApplyDest.Text = "" Then
+ MessageBox.Show("You must select a destination file.")
+ Exit Sub
+ Else
+ 'Do Nothing
+ End If
+
+ If cmbApplyIndex.Text = "" Then
+ MessageBox.Show("You must select an index number.")
+ Exit Sub
+ Else
+
+ End If
+
+ strFolderName = txtApplyDest.Text
+ If strFolderName.EndsWith("\") Then
+ 'Do Nothing
+ Else
+ strFolderName = strFolderName & "\"
+ txtApplyDest.Text = strFolderName
+ End If
+
+ strSource = txtxApplySource.Text
+ strDest = txtApplyDest.Text
+ strAppendIndex = cmbApplyIndex.Text
+
+
+ If chkApplyVerify.Checked = True Then
+ strDISMArguments = "/Apply-Image /ImageFile:" & strSource & " /index:" & strAppendIndex & " /ApplyDir:" & strDest & " /Verify"
+ Else
+ strDISMArguments = "/Apply-Image /ImageFile:" & strSource & " /index:" & strAppendIndex & " /ApplyDir:" & strDest & ""
+ End If
+ BackgroundWorkerDISMCommand.RunWorkerAsync(strDISMArguments)
+ frmProgress.ShowDialog()
+ txtOutput.Text = strOutput
+
+ End Sub
+End Class
diff --git a/4.0/DISM GUI/frmProgress.Designer.vb b/4.0/DISM GUI/frmProgress.Designer.vb
new file mode 100644
index 0000000..25d2797
--- /dev/null
+++ b/4.0/DISM GUI/frmProgress.Designer.vb
@@ -0,0 +1,74 @@
+ _
+Partial Class frmProgress
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
+ Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(87, 9)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(279, 24)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "DISM is Running. Please wait...."
+ '
+ 'ProgressBar1
+ '
+ Me.ProgressBar1.Location = New System.Drawing.Point(13, 65)
+ Me.ProgressBar1.Name = "ProgressBar1"
+ Me.ProgressBar1.Size = New System.Drawing.Size(428, 23)
+ Me.ProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee
+ Me.ProgressBar1.TabIndex = 1
+ '
+ 'Timer1
+ '
+ '
+ 'frmProgress
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(453, 148)
+ Me.ControlBox = False
+ Me.Controls.Add(Me.ProgressBar1)
+ Me.Controls.Add(Me.Label1)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmProgress"
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.Text = "DISM is Running"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
+ Friend WithEvents Timer1 As System.Windows.Forms.Timer
+End Class
diff --git a/4.0/DISM GUI/frmProgress.resx b/4.0/DISM GUI/frmProgress.resx
new file mode 100644
index 0000000..b78d45b
--- /dev/null
+++ b/4.0/DISM GUI/frmProgress.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/4.0/DISM GUI/frmProgress.vb b/4.0/DISM GUI/frmProgress.vb
new file mode 100644
index 0000000..35a2961
--- /dev/null
+++ b/4.0/DISM GUI/frmProgress.vb
@@ -0,0 +1,9 @@
+Public Class frmProgress
+ Dim Progress As Integer
+
+
+ Private Sub frmProgress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ Timer1.Enabled = True
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/BuildProcessTemplates/DefaultTemplate.11.1.xaml b/BuildProcessTemplates/DefaultTemplate.11.1.xaml
new file mode 100644
index 0000000..bf54edf
--- /dev/null
+++ b/BuildProcessTemplates/DefaultTemplate.11.1.xaml
@@ -0,0 +1,543 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [New Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings()]
+ [False]
+ [New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll"))]
+ ["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]
+ [False]
+ [True]
+ [True]
+ [Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]
+
+
+
+ [Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured]
+ [True]
+ [Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]
+ [True]
+ [New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)]
+ [True]
+
+
+
+ [New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]
+ [Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]
+
+
+
+
+
+
+ All
+ 11.0
+ Assembly references and imported namespaces serialized as XML namespaces
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BuildProcessTemplates/LabDefaultTemplate.11.xaml b/BuildProcessTemplates/LabDefaultTemplate.11.xaml
new file mode 100644
index 0000000..9e1fb0b
--- /dev/null
+++ b/BuildProcessTemplates/LabDefaultTemplate.11.xaml
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11.0
+
+
+
+
+
+ 920,3702
+ Assembly references and imported namespaces serialized as XML namespaces
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ [LabWorkflowParameters.BuildDetails.BuildUri]
+
+
+ [ChildBuildDetail.Uri]
+
+
+
+
+
+
+
+
+
+
+
+ [BuildLocation]
+
+
+ [If(LabWorkflowParameters.BuildDetails.Configuration Is Nothing, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsEmpty Or (SelectedBuildDetail.Information.GetNodesByType(Microsoft.TeamFoundation.Build.Common.InformationTypes.ConfigurationSummary, True)).Count = 1, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsPlatformEmptyOrAnyCpu, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Platform + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration)))]
+
+
+
+
+
+
+
+
+
+
+
+ [LabEnvironmentUri]
+
+
+ [LabWorkflowParameters.EnvironmentDetails.LabEnvironmentUri.ToString()]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [PostDeploymentSnapshotName]
+
+
+ [If(LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True,String.Format("{0}_{1}_{2}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildNumber,BuildDetail.BuildNumber),String.Format("{0}_{1}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildDetail.BuildNumber))]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [BuildStatus]
+
+
+ [Microsoft.TeamFoundation.Build.Client.BuildStatus.PartiallySucceeded]
+
+
+
+
+
+
+ [BuildStatus]
+
+
+ [Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BuildProcessTemplates/UpgradeTemplate.xaml b/BuildProcessTemplates/UpgradeTemplate.xaml
new file mode 100644
index 0000000..b3ee07f
--- /dev/null
+++ b/BuildProcessTemplates/UpgradeTemplate.xaml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]
+
+
+
+ [Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]
+ [False]
+ [False]
+
+
+
+
+
+
+
+
+
+ [Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel]
+ [Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]
+
+
+
+ All
+ Assembly references and imported namespaces serialized as XML namespaces
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file