mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 06:35:51 -06:00
4a7c8a35bf
* Remove the Non-existing 'WPFMiscTweaksPower' found in the 'preset.json' File (#1763) * Compile Winutil * Update of Test-WinUtilPackageManager and Install-WinUtilWinget (#1757) * Updated Install-WinUtilWinget and Test-WinUtilPackageManager - Updated Test-WinUtilPackageManager to better handle the -Winget param and return a more verbose status. - Moved many of the "is installed"/"is not installed" outputs to the Test-WinUtilPackageManager function. - Changed Install-WinUtilWinget to use the GitHub install method as the primary method, and on error use the Chocolatey install method. - Updated various functions to use the Test-WinUtilPackageManager function. * Update Install-WinUtilWinget.ps1 - Changed handling of Test-WinUtilPackageManager in Install-WinUtilWinget, to prevent Test-WinUtilPackageManager from printing out to terminal twice. * Compile Winutil * Update Paint.NET Winget name. (#1758) Paint.NET's winget package name changed. * Compile Winutil * Fixed Programms names and urls and github actions (#1759) * Compile Winutil * trying to fix github actions * Update applications.json * Compile Winutil * updated winget package PaintDotNet * Compile Winutil * Update functions.Tests.ps1 * fixing typos in unittesting * fixed the issue that made pester not to work * Compile Winutil * found a bug and fixed it * Compile Winutil --------- Co-authored-by: YusufKhalifadev <YusufKhalifadev@users.noreply.github.com> * Detect free space of installation drive and compare it with the ISO size and delete temporary MicroWin files from previous runs (#1761) * Detect free space of installation drive Compare the size of the ISO file with the free space of the installation drive (or the drive containing the User files) and, if the free size is below a certain threshold, the script will throw either a warning or an error * Delete temporary files from previous runs * Add Simple Feature to keep the Service Startup upon Applying Service Tweaks, but not when Undoing it (#1760) Added a new parameter that gives freedom of control on whether to disable this feature or not, and of course the simple feature in question. The way it works is by Getting the service using its name, and see if the Startup Value of this service is equal to the default type that Windows comes with it, if not (The User has changed it in the past), then WinUtil won't change it by default (The KeepServiceStartup is true by default), this is a more desirable behaviour when compared to how it previously worked. These changes were tested by the Author of this commit, Please read the commit patches for exact details on the changes. * Compile Winutil * Sacrifice to the AV Gods Remove Self Elevation and Disable UAC --------- Co-authored-by: Mr.k <mineshtine28546271@gmail.com> Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com> Co-authored-by: Rux <jonathan.e.rux@ruxunderscore.com> Co-authored-by: YusufKhalifadev <yusufkhalifadev@gmail.com> Co-authored-by: YusufKhalifadev <YusufKhalifadev@users.noreply.github.com> Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
87 lines
3.5 KiB
PowerShell
87 lines
3.5 KiB
PowerShell
function Test-WinUtilPackageManager {
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Checks if Winget and/or Choco are installed
|
|
|
|
.PARAMETER winget
|
|
Check if Winget is installed
|
|
|
|
.PARAMETER choco
|
|
Check if Chocolatey is installed
|
|
|
|
#>
|
|
|
|
Param(
|
|
[System.Management.Automation.SwitchParameter]$winget,
|
|
[System.Management.Automation.SwitchParameter]$choco
|
|
)
|
|
|
|
$status = "not-installed"
|
|
|
|
if ($winget) {
|
|
# Install Winget if not detected
|
|
$wingetExists = Get-Command -Name winget -ErrorAction SilentlyContinue
|
|
|
|
if ($wingetExists) {
|
|
# Check Winget Version
|
|
$wingetVersionFull = (winget --version) # Full Version without 'v'.
|
|
|
|
# Check if Preview Version
|
|
if ($wingetVersionFull.Contains("-preview")) {
|
|
$wingetVersion = $wingetVersionFull.Trim("-preview")
|
|
$wingetPreview = $true
|
|
} else {
|
|
$wingetVersion = $wingetVersionFull
|
|
$wingetPreview = $false
|
|
}
|
|
|
|
# Check if Winget's Version is too old.
|
|
$wingetCurrentVersion = [System.Version]::Parse($wingetVersion.Trim('v'))
|
|
$wingetBadVersion = [System.Version]::Parse("1.2.10691") # Windows 11 (22H2) comes with v1.2.10691, which is bugged.
|
|
$wingetOutdated = $wingetCurrentVersion -le $wingetBadVersion
|
|
Write-Host "===========================================" -ForegroundColor Green
|
|
Write-Host "-- Winget is installed ---" -ForegroundColor Green
|
|
Write-Host "===========================================" -ForegroundColor Green
|
|
Write-Host "Version: $wingetVersionFull" -ForegroundColor White
|
|
|
|
if (!$wingetPreview) {
|
|
Write-Host " - Winget is a release version." -ForegroundColor Green
|
|
} else {
|
|
Write-Host " - Winget is a preview version. Unexpected problems may occur." -ForegroundColor Yellow
|
|
}
|
|
|
|
if (!$wingetOutdated) {
|
|
Write-Host " - Winget is Up to Date" -ForegroundColor Green
|
|
$status = "installed"
|
|
}
|
|
else {
|
|
Write-Host " - Winget is Out of Date" -ForegroundColor Red
|
|
$status = "outdated"
|
|
}
|
|
} else {
|
|
Write-Host "===========================================" -ForegroundColor Red
|
|
Write-Host "-- Winget is not installed ---" -ForegroundColor Red
|
|
Write-Host "===========================================" -ForegroundColor Red
|
|
$status = "not-installed"
|
|
}
|
|
}
|
|
|
|
if ($choco) {
|
|
if ((Get-Command -Name choco -ErrorAction Ignore) -and ($chocoVersion = (Get-Item "$env:ChocolateyInstall\choco.exe" -ErrorAction Ignore).VersionInfo.ProductVersion)) {
|
|
Write-Host "===========================================" -ForegroundColor Green
|
|
Write-Host "-- Chocolatey is installed ---" -ForegroundColor Green
|
|
Write-Host "===========================================" -ForegroundColor Green
|
|
Write-Host "Version: v$chocoVersion" -ForegroundColor White
|
|
$status = "installed"
|
|
} else {
|
|
Write-Host "===========================================" -ForegroundColor Red
|
|
Write-Host "-- Chocolatey is not installed ---" -ForegroundColor Red
|
|
Write-Host "===========================================" -ForegroundColor Red
|
|
$status = "not-installed"
|
|
}
|
|
}
|
|
|
|
return $status
|
|
}
|