mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-06-28 17:14:45 -05:00
Test 2023 12 19 (#1294)
* Compile Winutil * Issue #1283, #1280 fixes, more (#1288) * Explorer Fix * Wifi, Explorer Crash, WinUtil Icon fixes. First attempt at white theme * White theme * Fix for clashing microwin directories if process fails, now new directory will be generated * * Tested latest Windows 10 (22H2) images work fine * Made dialog box more clear for issue #1283 * Added better logic for handling takeown /D flag for different locals issue #1280 * Refreshed the UI to more modern look * Improved white theme * Regrouped Tweak tab to make more sense * Advanced tweaks were in a separate column but the button applied both Essential and advanced now they are in the same column and button applies both * All instant action buttons were moved to Customize preferences column * Explorer lockup Fix * Wifi, Explorer Crash, WinUtil Icon fixes. * Fix for clashing microwin directories if process fails, now new directory will be generated * Merge all * Theme improvement, adding icon to the shortcut * Ability to download oscdimg from github, reorginizing Apps to fit better on more (smaller screens) * Fixing release branch to WinUtil * Adding double click to fullscreen * Update Get-Oscdimg.ps1 --------- Co-authored-by: KonTy <KonTy@github.com> Co-authored-by: Chris Titus <contact@christitus.com> * Update winutil.ps1 * remove merc and thorium * Ashlyn Programs * Also inject drivers into boot.wim * copy #1291 new branch --------- Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com> Co-authored-by: KonTy <KonTy@github.com> Co-authored-by: Cedric Lewe <0skillallluck@pm.me>
This commit is contained in:
@ -10,6 +10,7 @@ function Invoke-WPFMicrowin {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
$index = $sync.MicrowinWindowsFlavors.SelectedValue.Split(":")[0].Trim()
|
||||
Write-Host "Index chosen: '$index' from $($sync.MicrowinWindowsFlavors.SelectedValue)"
|
||||
|
||||
@ -145,13 +146,11 @@ function Invoke-WPFMicrowin {
|
||||
{
|
||||
$pngPath = "$env:TEMP\cttlogo.png"
|
||||
$icoPath = "$env:TEMP\cttlogo.ico"
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
$pngImage = [System.Drawing.Image]::FromFile($pngPath)
|
||||
$pngImage.Save($icoPath, [System.Drawing.Imaging.ImageFormat]::Icon)
|
||||
ConvertTo-Icon -bitmapPath $pngPath -iconPath $icoPath
|
||||
Write-Host "ICO file created at: $icoPath"
|
||||
Copy-Item "$env:TEMP\cttlogo.png" "$($scratchDir)\Windows\cttlogo.png" -force
|
||||
Copy-Item "$env:TEMP\cttlogo.ico" "$($scratchDir)\cttlogo.ico" -force
|
||||
$shortcut.IconLocation = "c:\cttlogo.ico"
|
||||
Copy-Item "$env:TEMP\cttlogo.ico" "$($scratchDir)\Windows\cttlogo.ico" -force
|
||||
$shortcut.IconLocation = "c:\Windows\cttlogo.ico"
|
||||
}
|
||||
|
||||
$shortcut.TargetPath = "powershell.exe"
|
||||
@ -264,6 +263,20 @@ function Invoke-WPFMicrowin {
|
||||
# Next step boot image
|
||||
Write-Host "Mounting boot image $mountDir\sources\boot.wim into $scratchDir"
|
||||
dism /mount-image /imagefile:"$mountDir\sources\boot.wim" /index:2 /mountdir:"$scratchDir"
|
||||
|
||||
if ($injectDrivers)
|
||||
{
|
||||
$driverPath = $sync.MicrowinDriverLocation.Text
|
||||
if (Test-Path $driverPath)
|
||||
{
|
||||
Write-Host "Adding Windows Drivers image($scratchDir) drivers($driverPath) "
|
||||
dism /image:$scratchDir /add-driver /driver:$driverPath /recurse | Out-Host
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "Path to drivers is invalid continuing without driver injection"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Loading registry..."
|
||||
reg load HKLM\zCOMPONENTS "$($scratchDir)\Windows\System32\config\COMPONENTS" >$null
|
||||
@ -298,8 +311,19 @@ function Invoke-WPFMicrowin {
|
||||
dism /unmount-image /mountdir:$scratchDir /commit
|
||||
|
||||
Write-Host "Creating ISO image"
|
||||
|
||||
# if we downloaded oscdimg from github it will be in the temp directory so use it
|
||||
# if it is not in temp it is part of ADK and is in global PATH so just set it to oscdimg.exe
|
||||
$oscdimgPath = Join-Path $env:TEMP 'oscdimg.exe'
|
||||
$oscdImgFound = Test-Path $oscdimgPath -PathType Leaf
|
||||
if (!$oscdImgFound)
|
||||
{
|
||||
$oscdimgPath = "oscdimg.exe"
|
||||
}
|
||||
|
||||
Write-Host "[INFO] Using oscdimg.exe from: $oscdimgPath"
|
||||
#& oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso
|
||||
Start-Process -FilePath "oscdimg.exe" -ArgumentList "-m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso" -NoNewWindow -Wait
|
||||
Start-Process -FilePath $oscdimgPath -ArgumentList "-m -o -u2 -udfver102 -bootdata:2#p0,e,b$mountDir\boot\etfsboot.com#pEF,e,b$mountDir\efi\microsoft\boot\efisys.bin $mountDir $env:temp\microwin.iso" -NoNewWindow -Wait
|
||||
|
||||
if ($copyToUSB)
|
||||
{
|
||||
@ -317,10 +341,12 @@ function Invoke-WPFMicrowin {
|
||||
|
||||
# Check if the ISO was successfully created - CTT edit
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host "Done. ISO image is located here: $env:temp\microwin.iso"
|
||||
Write-Host "Performing Cleanup"
|
||||
Write-Host "`n`nPerforming Cleanup..."
|
||||
Remove-Item -Recurse -Force "$($scratchDir)"
|
||||
Remove-Item -Recurse -Force "$($mountDir)"
|
||||
$msg = "Done. ISO image is located here: $env:temp\microwin.iso"
|
||||
Write-Host $msg
|
||||
[System.Windows.MessageBox]::Show($msg, "Winutil", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Information)
|
||||
} else {
|
||||
Write-Host "ISO creation failed. The "$($mountDir)" directory has not been removed."
|
||||
}
|
||||
|
Reference in New Issue
Block a user