diff --git a/functions/public/Invoke-WPFMicrowin.ps1 b/functions/public/Invoke-WPFMicrowin.ps1
index 89d15872..58d0f35f 100644
--- a/functions/public/Invoke-WPFMicrowin.ps1
+++ b/functions/public/Invoke-WPFMicrowin.ps1
@@ -53,6 +53,7 @@ public class PowerManagement {
$keepEdge = $sync.WPFMicrowinKeepEdge.IsChecked
$copyToUSB = $sync.WPFMicrowinCopyToUsb.IsChecked
$injectDrivers = $sync.MicrowinInjectDrivers.IsChecked
+ $importDrivers = $sync.MicrowinImportDrivers.IsChecked
$mountDir = $sync.MicrowinMountDir.Text
$scratchDir = $sync.MicrowinScratchDir.Text
@@ -117,7 +118,7 @@ public class PowerManagement {
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Recurse -Driver "$driverPath"
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
@@ -125,6 +126,30 @@ public class PowerManagement {
}
}
+ if ($importDrivers)
+ {
+ Write-Host "Exporting drivers from active installation..."
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ New-Item -Path "$env:TEMP\DRV_EXPORT" -ItemType Directory -Force
+ dism /english /online /export-driver /destination="$env:TEMP\DRV_EXPORT" | Out-Host
+ if ($?)
+ {
+ Write-Host "Adding exported drivers..."
+ dism /english /image="$scratchDir" /add-driver /driver="$env:TEMP\DRV_EXPORT" /recurse | Out-Host
+ }
+ else
+ {
+ Write-Host "Failed to export drivers. Continuing without importing them..."
+ }
+ if (Test-Path "$env:TEMP\DRV_EXPORT")
+ {
+ Remove-Item "$env:TEMP\DRV_EXPORT" -Recurse -Force
+ }
+ }
+
Write-Host "Remove Features from the image"
Remove-Features -keepDefender:$keepDefender
Write-Host "Removing features complete!"
@@ -335,7 +360,7 @@ public class PowerManagement {
if (Test-Path $driverPath)
{
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
- Add-WindowsDriver -Path "$scratchDir" -Driver "$driverPath" -Recurse
+ dism /English /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
}
else
{
diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml
index 9fee01b4..28e8b932 100644
--- a/xaml/inputXML.xaml
+++ b/xaml/inputXML.xaml
@@ -843,6 +843,7 @@
Foreground="{LabelboxForegroundColor}"
ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"
/>
+