Test 2024 01 30 (#1541)

* applications.jsonAdded Foxit Reader app and updated Foxit Editor to show the difference.

* applications.json

Added Foxit Reader app and updated Foxit Editor to show the difference.

* Compile Winutil

* Fix Broken Link and add syncthingtray (#1508)

* Compile Winutil

* Remove Nano-Removed bugged Nano package for now

* Remove Nano

-Removed bugged Nano package for now

* Compile Winutil

* tweaks and fetures tabs clean up automation from inputXML.xaml

* tweaks and fetures tabs clean up automation from inputXML.xaml

* fixed some commas in tweaks.json file

* recompile

* Update tweaks.json

* Compile Winutil

* Choosing Alternate Scartch Path and Busy Messages

* Choosing Alternate Scartch Path and Busy Messages

* Change Selected index to be pro

* Compile Winutil

* Improve detection for Pro editions of Windows (#1539)

* Update applications.json

Fake app add made by linux fanboy

* Compile Winutil

* Update files

- Add detections for whether the image to be processed by MicroWin is Windows 10 or later
- Add procedure to clear the indexes ComboBox (WinForms term) every time an ISO is specified

* Update screen-install.png (#1464)

* Compile Winutil

* Improve detection for Professional editions

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Samq64 <81489795+Samq64@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>

* Fix features not being installed and winget reinstall (#1537)

* Fix typo in features variable

This fucker caused every. single. feature in config tab to not install

* Add argument "--force" to winget reinstall

Some users reported not being able to reinstall winget without this argument.

* Revert "Add argument "--force" to winget reinstall"

This reverts commit b331460340.

* Add "--force" argument when reinstalling winget

---------

Co-authored-by: Chris Titus <contact@christitus.com>

* RE: Add Adobe Creative Cloud Cleaner tool (#1532)

* Add a new function for handling the new tool

Implement a new function called Invoke-WPFRunAdobeCCCleanerTool which will download, run the tool and delete it afterwards.

* Add the button invocation to call the new function

If this is not done, the button will do nothing if the user clicks on it.

* Add the button to the XML code

* Add button using the new way

Using inputXAML.xml is the old way.

* Compile Winutil

* application are evenly distributed to 5 columns (#1534)

* Exclude compiled winutil

* Fix unit tests

---------

Co-authored-by: LoopTJ <34551682+LoopTJ@users.noreply.github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Roc Wang <rocwang911@gmail.com>
Co-authored-by: Jes Herring <123990927+jesjess243@users.noreply.github.com>
Co-authored-by: ogfrm <96927197+ogfrm@users.noreply.github.com>
Co-authored-by: LeeDowA <157072913+LeeDowA@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Samq64 <81489795+Samq64@users.noreply.github.com>
Co-authored-by: Yuri Gabriel <97139700+Yuuh15@users.noreply.github.com>
Co-authored-by: Ken Hoo <158048821+mrkenhoo@users.noreply.github.com>
This commit is contained in:
Chris Titus
2024-02-02 16:22:08 -06:00
committed by GitHub
parent b2dc605098
commit f472057c12
14 changed files with 1291 additions and 1073 deletions

View File

@ -0,0 +1,30 @@
function Invoke-ScratchDialog {
<#
.SYNOPSIS
Enable Editable Text box Alternate Scartch path
.PARAMETER Button
#>
$sync.WPFMicrowinISOScratchDir.IsChecked
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$Dialog = New-Object System.Windows.Forms.FolderBrowserDialog
$Dialog.SelectedPath = $sync.MicrowinScratchDirBox.Text
$DialogShowNewFolderButton = $true
$Dialog.ShowDialog()
$filePath = $Dialog.SelectedPath
Write-Host "No ISO is chosen+ $filePath"
if ([string]::IsNullOrEmpty($filePath))
{
Write-Host "No Folder had chosen"
return
}
$sync.MicrowinScratchDirBox.Text = Join-Path $filePath "\"
}

View File

@ -43,6 +43,7 @@ function Invoke-WPFButton {
"WPFUpdatesdefault" {Invoke-WPFUpdatesdefault}
"WPFFixesUpdate" {Invoke-WPFFixesUpdate}
"WPFFixesWinget" {Invoke-WPFFixesWinget}
"WPFRunAdobeCCCleanerTool" {Invoke-WPFRunAdobeCCCleanerTool}
"WPFFixesNetwork" {Invoke-WPFFixesNetwork}
"WPFUpdatesdisable" {Invoke-WPFUpdatesdisable}
"WPFUpdatessecurity" {Invoke-WPFUpdatessecurity}
@ -52,5 +53,6 @@ function Invoke-WPFButton {
"WPFGetIso" {Invoke-WPFGetIso}
"WPFMicrowin" {Invoke-WPFMicrowin}
"WPFCloseButton" {Invoke-WPFCloseButton}
"MicrowinScratchDirBT" {Invoke-ScratchDialog}
}
}

View File

@ -12,7 +12,7 @@ function Invoke-WPFFeatureInstall {
return
}
$Features = (Get-WinUtilCheckBoxes)["WPFFeatures"]
$Features = (Get-WinUtilCheckBoxes)["WPFFeature"]
Invoke-WPFRunspace -ArgumentList $Features -DebugPreference $DebugPreference -ScriptBlock {
param($Features, $DebugPreference)

View File

@ -8,6 +8,6 @@ function Invoke-WPFFixesWinget {
BravoNorris for the fantastic idea of a button to reinstall winget
#>
Start-Process -FilePath "choco" -ArgumentList "install winget -y" -NoNewWindow -Wait
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
}

View File

@ -12,6 +12,10 @@ function Invoke-WPFGetIso {
return
}
$sync.BusyMessage.Visibility="Visible"
$sync.BusyText.Text="N Busy"
Write-Host " _ __ __ _ "
Write-Host " /\/\ (_) ___ _ __ ___ / / /\ \ \(_) _ __ "
Write-Host " / \ | | / __|| '__| / _ \ \ \/ \/ /| || '_ \ "
@ -19,12 +23,17 @@ function Invoke-WPFGetIso {
Write-Host "\/ \/|_| \___||_| \___/ \/ \/ |_||_| |_| "
$oscdimgPath = Join-Path $env:TEMP 'oscdimg.exe'
if( ! (Test-Path $oscdimgPath -PathType Leaf) ) {
$oscdimgPath = Join-Path '.\releases\' 'oscdimg.exe'
}
$oscdImgFound = [bool] (Get-Command -ErrorAction Ignore -Type Application oscdimg.exe) -or (Test-Path $oscdimgPath -PathType Leaf)
Write-Host "oscdimg.exe on system: $oscdImgFound"
if (!$oscdImgFound)
{
$downloadFromGitHub = $sync.WPFMicrowinDownloadFromGitHub.IsChecked
$sync.BusyMessage.Visibility="Hidden"
if (!$downloadFromGitHub)
{
@ -69,6 +78,7 @@ function Invoke-WPFGetIso {
if ([string]::IsNullOrEmpty($filePath))
{
Write-Host "No ISO is chosen"
$sync.BusyMessage.Visibility="Hidden"
return
}
@ -97,13 +107,38 @@ function Invoke-WPFGetIso {
# there is probably a better way of doing this, I don't have time to figure this out
$sync.MicrowinIsoDrive.Text = $driveLetter
$mountedISOPath = (Split-Path -Path $filePath)
if ($sync.MicrowinScratchDirBox.Text.Trim() -eq "Scratch") {
$sync.MicrowinScratchDirBox.Text =""
}
$UseISOScratchDir = $sync.WPFMicrowinISOScratchDir.IsChecked
if ($UseISOScratchDir) {
$sync.MicrowinScratchDirBox.Text=$mountedISOPath
}
if( -Not $sync.MicrowinScratchDirBox.Text.EndsWith('\') -And $sync.MicrowinScratchDirBox.Text.Length -gt 1) {
$sync.MicrowinScratchDirBox.Text = Join-Path $sync.MicrowinScratchDirBox.Text.Trim() '\'
}
Write-Host "Setting up mount dir and scratch dirs"
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$randomNumber = Get-Random -Minimum 1 -Maximum 9999
$randomMicrowin = "Microwin_${timestamp}_${randomNumber}"
$randomMicrowinScratch = "MicrowinScratch_${timestamp}_${randomNumber}"
$sync.BusyText.Text=" - Mounting"
Write-Host "Mounting Iso. Please wait."
if ($sync.MicrowinScratchDirBox.Text -eq "") {
$mountDir = Join-Path $env:TEMP $randomMicrowin
$scratchDir = Join-Path $env:TEMP $randomMicrowinScratch
} else {
$scratchDir = $sync.MicrowinScratchDirBox.Text+"Scrach"
$mountDir = $sync.MicrowinScratchDirBox.Text+"micro"
}
$sync.MicrowinMountDir.Text = $mountDir
$sync.MicrowinScratchDir.Text = $scratchDir
Write-Host "Done setting up mount dir and scratch dirs"
@ -139,6 +174,14 @@ function Invoke-WPFGetIso {
$sync.MicrowinWindowsFlavors.Items.Add("$imageIdx : $imageName")
}
$sync.MicrowinWindowsFlavors.SelectedIndex = 0
Write-Host "Finding suitable Pro edition. This can take some time. Do note that this is an automatic process that might not select the edition you want."
Get-WindowsImage -ImagePath $wimFile | ForEach-Object {
if ((Get-WindowsImage -ImagePath $wimFile -Index $_.ImageIndex).EditionId -eq "Professional")
{
# We have found the Pro edition
$sync.MicrowinWindowsFlavors.SelectedIndex = $_.ImageIndex - 1
}
}
Get-Volume $driveLetter | Get-DiskImage | Dismount-DiskImage
Write-Host "Selected value '$($sync.MicrowinWindowsFlavors.SelectedValue)'....."
@ -155,6 +198,7 @@ function Invoke-WPFGetIso {
Write-Host "*********************************"
Write-Host "Check the UI for further steps!!!"
$sync.BusyMessage.Visibility="Hidden"
$sync.ProcessRunning = $false
}

View File

@ -0,0 +1,28 @@
function Invoke-WPFRunAdobeCCCleanerTool {
<#
.SYNOPSIS
It removes or fixes problem files and resolves permission issues in registry keys.
.DESCRIPTION
The Creative Cloud Cleaner tool is a utility for experienced users to clean up corrupted installations.
#>
[string]$url="https://swupmf.adobe.com/webfeed/CleanerTool/win/AdobeCreativeCloudCleanerTool.exe"
Write-Host "The Adobe Creative Cloud Cleaner tool is hosted at"
Write-Host "$url"
# Don't show the progress because it will slow down the download speed
$ProgressPreference='SilentlyContinue'
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -UseBasicParsing -ErrorAction SilentlyContinue -Verbose
# Revert back the ProgressPreference variable to the default value since we got the file desired
$ProgressPreference='Continue'
Start-Process -FilePath "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Wait -ErrorAction SilentlyContinue -Verbose
if (Test-Path -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe") {
Write-Host "Cleaning up..."
Remove-Item -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Verbose
}
}