mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-07-05 12:43:50 -05:00
Compare commits
15 Commits
8eb51560d8
...
6e201305c9
Author | SHA1 | Date | |
---|---|---|---|
6e201305c9 | |||
84fe67f032 | |||
5c65f32fdf | |||
7d8ff5e0f9 | |||
cc02facb11 | |||
1c80af1aca | |||
bcc5b691d6 | |||
963bfe9358 | |||
eb205771fb | |||
c4a9ab098b | |||
457e8cdcdc | |||
d43d09872d | |||
39e89f1627 | |||
5648115256 | |||
565f9c310c |
1
.gitignore
vendored
1
.gitignore
vendored
@ -44,3 +44,4 @@ Microsoft.PowerShell.ConsoleHost.dll
|
|||||||
microwin.log
|
microwin.log
|
||||||
True
|
True
|
||||||
test.ps1
|
test.ps1
|
||||||
|
winutil.ps1
|
||||||
|
@ -55,6 +55,9 @@ Get-ChildItem .\config | Where-Object {$psitem.extension -eq ".json"} | ForEach-
|
|||||||
$sync.configs.$($psitem.BaseName) = $json | convertfrom-json
|
$sync.configs.$($psitem.BaseName) = $json | convertfrom-json
|
||||||
Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii
|
Write-output "`$sync.configs.$($psitem.BaseName) = '$json' `| convertfrom-json" | Out-File ./$scriptname -Append -Encoding ascii
|
||||||
}
|
}
|
||||||
|
Get-ChildItem .\config | Where-Object {$PSItem.Extension -eq ".cfg"} | ForEach-Object {
|
||||||
|
Write-output "`$sync.configs.$($psitem.BaseName) = '$(Get-Content $PSItem.FullName)'" | Out-File ./$scriptname -Append -Encoding ascii
|
||||||
|
}
|
||||||
|
|
||||||
$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''")
|
$xaml = (Get-Content .\xaml\inputXML.xaml).replace("'","''")
|
||||||
|
|
||||||
|
@ -996,7 +996,7 @@
|
|||||||
"choco": "jellyfin-media-player",
|
"choco": "jellyfin-media-player",
|
||||||
"content": "Jellyfin Media Player",
|
"content": "Jellyfin Media Player",
|
||||||
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
|
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
|
||||||
"link": "https://github.com/jellyfin/jellyfin-media-playerf",
|
"link": "https://github.com/jellyfin/jellyfin-media-player",
|
||||||
"winget": "Jellyfin.JellyfinMediaPlayer"
|
"winget": "Jellyfin.JellyfinMediaPlayer"
|
||||||
},
|
},
|
||||||
"WPFInstalljellyfinserver": {
|
"WPFInstalljellyfinserver": {
|
||||||
@ -1170,8 +1170,8 @@
|
|||||||
"WPFInstallmatrix": {
|
"WPFInstallmatrix": {
|
||||||
"category": "Communications",
|
"category": "Communications",
|
||||||
"choco": "element-desktop",
|
"choco": "element-desktop",
|
||||||
"content": "Matrix",
|
"content": "Element",
|
||||||
"description": "Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools.",
|
"description": "Element is a client for Matrix—an open network for secure, decentralized communication.",
|
||||||
"link": "https://element.io/",
|
"link": "https://element.io/",
|
||||||
"winget": "Element.Element"
|
"winget": "Element.Element"
|
||||||
},
|
},
|
||||||
@ -1687,6 +1687,14 @@
|
|||||||
"link": "https://bitsum.com/",
|
"link": "https://bitsum.com/",
|
||||||
"winget": "BitSum.ProcessLasso"
|
"winget": "BitSum.ProcessLasso"
|
||||||
},
|
},
|
||||||
|
"WPFInstallspotify": {
|
||||||
|
"category": "Multimedia Tools",
|
||||||
|
"choco": "spotify",
|
||||||
|
"content": "Spotify",
|
||||||
|
"description": "Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world.",
|
||||||
|
"link": "https://www.spotify.com/",
|
||||||
|
"winget": "Spotify.Spotify"
|
||||||
|
},
|
||||||
"WPFInstallprocessmonitor": {
|
"WPFInstallprocessmonitor": {
|
||||||
"category": "Microsoft Tools",
|
"category": "Microsoft Tools",
|
||||||
"choco": "procexp",
|
"choco": "procexp",
|
||||||
|
@ -5,14 +5,17 @@ function Get-WinUtilWingetLatest {
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
|
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
|
||||||
#>
|
#>
|
||||||
|
# Invoke-WebRequest is notoriously slow when the byte progress is displayed. The following lines disable the progress bar and reset them at the end of the function
|
||||||
|
$PreviousProgressPreference = $ProgressPreference
|
||||||
|
$ProgressPreference = "silentlyContinue"
|
||||||
Try{
|
Try{
|
||||||
# Grabs the latest release of Winget from the Github API for the install process.
|
# Grabs the latest release of Winget from the Github API for the install process.
|
||||||
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
|
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
|
||||||
$latestVersion = $response.tag_name #Stores version number of latest release.
|
$latestVersion = $response.tag_name #Stores version number of latest release.
|
||||||
$licenseWingetUrl = $response.assets.browser_download_url[0] #Index value for License file.
|
$licenseWingetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*License1.xml"} #Index value for License file.
|
||||||
Write-Host "Latest Version:`t$($latestVersion)`n"
|
Write-Host "Latest Version:`t$($latestVersion)`n"
|
||||||
$assetUrl = $response.assets.browser_download_url[2] #Index value for download URL.
|
Write-Host "Downloading..."
|
||||||
|
$assetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"}
|
||||||
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
|
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
|
||||||
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
|
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
|
||||||
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
|
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
|
||||||
@ -20,4 +23,5 @@ function Get-WinUtilWingetLatest {
|
|||||||
Catch{
|
Catch{
|
||||||
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
|
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
|
||||||
}
|
}
|
||||||
|
$ProgressPreference = $PreviousProgressPreference
|
||||||
}
|
}
|
||||||
|
@ -34,26 +34,41 @@ Function Install-WinUtilProgramWinget {
|
|||||||
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
|
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
|
||||||
try {
|
try {
|
||||||
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
||||||
if($status -ne 0){
|
if($status -eq 0){
|
||||||
Write-Host "Attempt with User scope"
|
|
||||||
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
|
||||||
if($status -ne 0){
|
|
||||||
Write-Host "Attempt with Unelevated prompt"
|
|
||||||
$status = $(Start-Process -FilePath "powershell" -ArgumentList "-Command Start-Process winget -ArgumentList 'install --id $Program --silent --accept-source-agreements --accept-package-agreements' -Verb runAsUser" -Wait -PassThru).ExitCode
|
|
||||||
if($status -ne 0){
|
|
||||||
Write-Host "Failed to install $Program."
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully with Unelevated prompt."
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully with User scope."
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully."
|
Write-Host "$Program installed successfully."
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
} catch {
|
Write-Host "Attempt with User scope"
|
||||||
|
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully with User scope."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Attempt with User prompt"
|
||||||
|
$userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $Program installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
|
||||||
|
if ($userChoice -eq 'Yes') {
|
||||||
|
$getcreds = Get-Credential
|
||||||
|
$process = Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru
|
||||||
|
Wait-Process -Id $process.Id
|
||||||
|
$status = $process.ExitCode
|
||||||
|
} else {
|
||||||
|
Write-Host "Skipping installation with specific user credentials."
|
||||||
|
}
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully with User prompt."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Attempting installation with Chocolatey as a fallback method"
|
||||||
|
Install-WinUtilChoco
|
||||||
|
$status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully using Chocolatey."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Failed to install $Program. You need to install it manually... Sorry!"
|
||||||
|
} catch {
|
||||||
Write-Host "Failed to install $Program due to an error: $_"
|
Write-Host "Failed to install $Program due to an error: $_"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($manage -eq "Uninstalling"){
|
if($manage -eq "Uninstalling"){
|
||||||
# Uninstall package via ID using winget directly.
|
# Uninstall package via ID using winget directly.
|
||||||
|
@ -53,6 +53,8 @@ function Install-WinUtilWinget {
|
|||||||
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
|
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
|
||||||
# In case install fails via GitHub method.
|
# In case install fails via GitHub method.
|
||||||
Try {
|
Try {
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
|
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
|
||||||
Write-Host "Winget Installed" -ForegroundColor Green
|
Write-Host "Winget Installed" -ForegroundColor Green
|
||||||
Write-Output "Refreshing Environment Variables...`n"
|
Write-Output "Refreshing Environment Variables...`n"
|
||||||
|
@ -7,7 +7,8 @@ function Invoke-WPFFixesWinget {
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
BravoNorris for the fantastic idea of a button to reinstall winget
|
BravoNorris for the fantastic idea of a button to reinstall winget
|
||||||
#>
|
#>
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
|
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
|
||||||
|
|
||||||
}
|
}
|
@ -41,6 +41,8 @@ function Invoke-WPFGetIso {
|
|||||||
# you consent to downloading it, no need to show extra dialogs
|
# you consent to downloading it, no need to show extra dialogs
|
||||||
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
|
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
|
||||||
# the step below needs choco to download oscdimg
|
# the step below needs choco to download oscdimg
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
||||||
Write-Host "choco on system: $chocoFound"
|
Write-Host "choco on system: $chocoFound"
|
||||||
if (!$chocoFound)
|
if (!$chocoFound)
|
||||||
|
@ -27,14 +27,12 @@ function Invoke-WPFOOSU {
|
|||||||
Start-Process $OOSU_filepath
|
Start-Process $OOSU_filepath
|
||||||
}
|
}
|
||||||
"recommended"{
|
"recommended"{
|
||||||
$oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
|
New-Item -Path $ENV:temp\ooshutup10_recommended.cfg -ItemType File -Value $sync.configs.ooshutup10_recommended -Force
|
||||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config
|
|
||||||
Write-Host "Applying recommended OO Shutup 10 Policies"
|
Write-Host "Applying recommended OO Shutup 10 Policies"
|
||||||
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
||||||
}
|
}
|
||||||
"undo"{
|
"undo"{
|
||||||
$oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
|
New-Item -Path $ENV:temp\ooshutup10_factory.cfg -ItemType File -Value $sync.configs.ooshutup10_factory -Force
|
||||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config
|
|
||||||
Write-Host "Resetting all OO Shutup 10 Policies"
|
Write-Host "Resetting all OO Shutup 10 Policies"
|
||||||
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
||||||
}
|
}
|
||||||
|
@ -145,8 +145,8 @@ Invoke-WPFRunspace -ScriptBlock {
|
|||||||
# Print the logo
|
# Print the logo
|
||||||
Invoke-WPFFormVariables
|
Invoke-WPFFormVariables
|
||||||
|
|
||||||
# Check if Chocolatey is installed
|
# Install Winget if not already present
|
||||||
Install-WinUtilChoco
|
Install-WinUtilWinget
|
||||||
|
|
||||||
# Set the titlebar
|
# Set the titlebar
|
||||||
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
|
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
|
||||||
|
601
winutil.ps1
601
winutil.ps1
@ -10,7 +10,7 @@
|
|||||||
Author : Chris Titus @christitustech
|
Author : Chris Titus @christitustech
|
||||||
Runspace Author: @DeveloperDurp
|
Runspace Author: @DeveloperDurp
|
||||||
GitHub : https://github.com/ChrisTitusTech
|
GitHub : https://github.com/ChrisTitusTech
|
||||||
Version : 24.05.09
|
Version : 24.05.10
|
||||||
#>
|
#>
|
||||||
param (
|
param (
|
||||||
[switch]$Debug,
|
[switch]$Debug,
|
||||||
@ -47,7 +47,7 @@ Add-Type -AssemblyName System.Windows.Forms
|
|||||||
# Variable to sync between runspaces
|
# Variable to sync between runspaces
|
||||||
$sync = [Hashtable]::Synchronized(@{})
|
$sync = [Hashtable]::Synchronized(@{})
|
||||||
$sync.PSScriptRoot = $PSScriptRoot
|
$sync.PSScriptRoot = $PSScriptRoot
|
||||||
$sync.version = "24.05.09"
|
$sync.version = "24.05.10"
|
||||||
$sync.configs = @{}
|
$sync.configs = @{}
|
||||||
$sync.ProcessRunning = $false
|
$sync.ProcessRunning = $false
|
||||||
|
|
||||||
@ -624,14 +624,17 @@ function Get-WinUtilWingetLatest {
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
|
This function grabs the latest version of Winget and returns the download path to Install-WinUtilWinget for installation.
|
||||||
#>
|
#>
|
||||||
|
# Invoke-WebRequest is notoriously slow when the byte progress is displayed. The following lines disable the progress bar and reset them at the end of the function
|
||||||
|
$PreviousProgressPreference = $ProgressPreference
|
||||||
|
$ProgressPreference = "silentlyContinue"
|
||||||
Try{
|
Try{
|
||||||
# Grabs the latest release of Winget from the Github API for the install process.
|
# Grabs the latest release of Winget from the Github API for the install process.
|
||||||
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
|
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/Winget-cli/releases/latest" -Method Get -ErrorAction Stop
|
||||||
$latestVersion = $response.tag_name #Stores version number of latest release.
|
$latestVersion = $response.tag_name #Stores version number of latest release.
|
||||||
$licenseWingetUrl = $response.assets.browser_download_url[0] #Index value for License file.
|
$licenseWingetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*License1.xml"} #Index value for License file.
|
||||||
Write-Host "Latest Version:`t$($latestVersion)`n"
|
Write-Host "Latest Version:`t$($latestVersion)`n"
|
||||||
$assetUrl = $response.assets.browser_download_url[2] #Index value for download URL.
|
Write-Host "Downloading..."
|
||||||
|
$assetUrl = $response.assets.browser_download_url | Where-Object {$_ -like "*Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"}
|
||||||
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
|
Invoke-WebRequest -Uri $licenseWingetUrl -OutFile $ENV:TEMP\License1.xml
|
||||||
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
|
# The only pain is that the msixbundle for winget-cli is 246MB. In some situations this can take a bit, with slower connections.
|
||||||
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
|
Invoke-WebRequest -Uri $assetUrl -OutFile $ENV:TEMP\Microsoft.DesktopAppInstaller.msixbundle
|
||||||
@ -639,6 +642,7 @@ function Get-WinUtilWingetLatest {
|
|||||||
Catch{
|
Catch{
|
||||||
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
|
throw [WingetFailedInstall]::new('Failed to get latest Winget release and license')
|
||||||
}
|
}
|
||||||
|
$ProgressPreference = $PreviousProgressPreference
|
||||||
}
|
}
|
||||||
function Get-WinUtilWingetPrerequisites {
|
function Get-WinUtilWingetPrerequisites {
|
||||||
<#
|
<#
|
||||||
@ -733,26 +737,41 @@ Function Install-WinUtilProgramWinget {
|
|||||||
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
|
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
|
||||||
try {
|
try {
|
||||||
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
||||||
if($status -ne 0){
|
if($status -eq 0){
|
||||||
Write-Host "Attempt with User scope"
|
|
||||||
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
|
||||||
if($status -ne 0){
|
|
||||||
Write-Host "Attempt with Unelevated prompt"
|
|
||||||
$status = $(Start-Process -FilePath "powershell" -ArgumentList "-Command Start-Process winget -ArgumentList 'install --id $Program --silent --accept-source-agreements --accept-package-agreements' -Verb runAsUser" -Wait -PassThru).ExitCode
|
|
||||||
if($status -ne 0){
|
|
||||||
Write-Host "Failed to install $Program."
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully with Unelevated prompt."
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully with User scope."
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Write-Host "$Program installed successfully."
|
Write-Host "$Program installed successfully."
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
} catch {
|
Write-Host "Attempt with User scope"
|
||||||
|
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $Program --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru).ExitCode
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully with User scope."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Attempt with User prompt"
|
||||||
|
$userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $Program installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
|
||||||
|
if ($userChoice -eq 'Yes') {
|
||||||
|
$getcreds = Get-Credential
|
||||||
|
$process = Start-Process -FilePath "winget" -ArgumentList "install --id $Program --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru
|
||||||
|
Wait-Process -Id $process.Id
|
||||||
|
$status = $process.ExitCode
|
||||||
|
} else {
|
||||||
|
Write-Host "Skipping installation with specific user credentials."
|
||||||
|
}
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully with User prompt."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Attempting installation with Chocolatey as a fallback method"
|
||||||
|
Install-WinUtilChoco
|
||||||
|
$status = $(Start-Process -FilePath "choco" -ArgumentList "install $Program -y" -Wait -PassThru).ExitCode
|
||||||
|
if($status -eq 0){
|
||||||
|
Write-Host "$Program installed successfully using Chocolatey."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
Write-Host "Failed to install $Program. You need to install it manually... Sorry!"
|
||||||
|
} catch {
|
||||||
Write-Host "Failed to install $Program due to an error: $_"
|
Write-Host "Failed to install $Program due to an error: $_"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($manage -eq "Uninstalling"){
|
if($manage -eq "Uninstalling"){
|
||||||
# Uninstall package via ID using winget directly.
|
# Uninstall package via ID using winget directly.
|
||||||
@ -827,6 +846,8 @@ function Install-WinUtilWinget {
|
|||||||
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
|
Write-Host "Failure detected while installing via GitHub method. Continuing with Chocolatey method as fallback." -ForegroundColor Red
|
||||||
# In case install fails via GitHub method.
|
# In case install fails via GitHub method.
|
||||||
Try {
|
Try {
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
|
Start-Process -Verb runas -FilePath powershell.exe -ArgumentList "choco install winget-cli"
|
||||||
Write-Host "Winget Installed" -ForegroundColor Green
|
Write-Host "Winget Installed" -ForegroundColor Green
|
||||||
Write-Output "Refreshing Environment Variables...`n"
|
Write-Output "Refreshing Environment Variables...`n"
|
||||||
@ -3210,7 +3231,8 @@ function Invoke-WPFFixesWinget {
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
BravoNorris for the fantastic idea of a button to reinstall winget
|
BravoNorris for the fantastic idea of a button to reinstall winget
|
||||||
#>
|
#>
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
|
Start-Process -FilePath "choco" -ArgumentList "install winget -y --force" -NoNewWindow -Wait
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -3339,6 +3361,8 @@ function Invoke-WPFGetIso {
|
|||||||
# you consent to downloading it, no need to show extra dialogs
|
# you consent to downloading it, no need to show extra dialogs
|
||||||
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
|
[System.Windows.MessageBox]::Show("oscdimge.exe is not found on the system, winutil will now attempt do download and install it using choco. This might take a long time.")
|
||||||
# the step below needs choco to download oscdimg
|
# the step below needs choco to download oscdimg
|
||||||
|
# Install Choco if not already present
|
||||||
|
Install-WinUtilChoco
|
||||||
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
$chocoFound = [bool] (Get-Command -ErrorAction Ignore -Type Application choco)
|
||||||
Write-Host "choco on system: $chocoFound"
|
Write-Host "choco on system: $chocoFound"
|
||||||
if (!$chocoFound)
|
if (!$chocoFound)
|
||||||
@ -4180,14 +4204,12 @@ function Invoke-WPFOOSU {
|
|||||||
Start-Process $OOSU_filepath
|
Start-Process $OOSU_filepath
|
||||||
}
|
}
|
||||||
"recommended"{
|
"recommended"{
|
||||||
$oosu_config = "$ENV:temp\ooshutup10_recommended.cfg"
|
New-Item -Path $ENV:temp\ooshutup10_recommended.cfg -ItemType File -Value $sync.configs.ooshutup10_recommended -Force
|
||||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_recommended.cfg" -OutFile $oosu_config
|
|
||||||
Write-Host "Applying recommended OO Shutup 10 Policies"
|
Write-Host "Applying recommended OO Shutup 10 Policies"
|
||||||
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
||||||
}
|
}
|
||||||
"undo"{
|
"undo"{
|
||||||
$oosu_config = "$ENV:temp\ooshutup10_factory.cfg"
|
New-Item -Path $ENV:temp\ooshutup10_factory.cfg -ItemType File -Value $sync.configs.ooshutup10_factory -Force
|
||||||
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ChrisTitusTech/winutil/main/config/ooshutup10_factory.cfg" -OutFile $oosu_config
|
|
||||||
Write-Host "Resetting all OO Shutup 10 Policies"
|
Write-Host "Resetting all OO Shutup 10 Policies"
|
||||||
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
Start-Process $OOSU_filepath -ArgumentList "$oosu_config /quiet" -Wait
|
||||||
}
|
}
|
||||||
@ -6018,7 +6040,7 @@ $sync.configs.applications = '{
|
|||||||
"choco": "jellyfin-media-player",
|
"choco": "jellyfin-media-player",
|
||||||
"content": "Jellyfin Media Player",
|
"content": "Jellyfin Media Player",
|
||||||
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
|
"description": "Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library.",
|
||||||
"link": "https://github.com/jellyfin/jellyfin-media-playerf",
|
"link": "https://github.com/jellyfin/jellyfin-media-player",
|
||||||
"winget": "Jellyfin.JellyfinMediaPlayer"
|
"winget": "Jellyfin.JellyfinMediaPlayer"
|
||||||
},
|
},
|
||||||
"WPFInstalljellyfinserver": {
|
"WPFInstalljellyfinserver": {
|
||||||
@ -6192,8 +6214,8 @@ $sync.configs.applications = '{
|
|||||||
"WPFInstallmatrix": {
|
"WPFInstallmatrix": {
|
||||||
"category": "Communications",
|
"category": "Communications",
|
||||||
"choco": "element-desktop",
|
"choco": "element-desktop",
|
||||||
"content": "Matrix",
|
"content": "Element",
|
||||||
"description": "Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools.",
|
"description": "Element is a client for Matrix?an open network for secure, decentralized communication.",
|
||||||
"link": "https://element.io/",
|
"link": "https://element.io/",
|
||||||
"winget": "Element.Element"
|
"winget": "Element.Element"
|
||||||
},
|
},
|
||||||
@ -6709,6 +6731,14 @@ $sync.configs.applications = '{
|
|||||||
"link": "https://bitsum.com/",
|
"link": "https://bitsum.com/",
|
||||||
"winget": "BitSum.ProcessLasso"
|
"winget": "BitSum.ProcessLasso"
|
||||||
},
|
},
|
||||||
|
"WPFInstallspotify": {
|
||||||
|
"category": "Multimedia Tools",
|
||||||
|
"choco": "spotify",
|
||||||
|
"content": "Spotify",
|
||||||
|
"description": "Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world.",
|
||||||
|
"link": "https://www.spotify.com/",
|
||||||
|
"winget": "Spotify.Spotify"
|
||||||
|
},
|
||||||
"WPFInstallprocessmonitor": {
|
"WPFInstallprocessmonitor": {
|
||||||
"category": "Microsoft Tools",
|
"category": "Microsoft Tools",
|
||||||
"choco": "procexp",
|
"choco": "procexp",
|
||||||
@ -10899,6 +10929,494 @@ $sync.configs.tweaks = '{
|
|||||||
"Type": "300"
|
"Type": "300"
|
||||||
}
|
}
|
||||||
}' | convertfrom-json
|
}' | convertfrom-json
|
||||||
|
$sync.configs.ooshutup10_factory = '############################################################################
|
||||||
|
# This file was created with O&O ShutUp10++ V1.9.1436
|
||||||
|
# and can be imported onto another computer.
|
||||||
|
#
|
||||||
|
# Download the application at https://www.oo-software.com/shutup10
|
||||||
|
# You can then import the file from within the program.
|
||||||
|
#
|
||||||
|
# Alternatively you can import it automatically over a command line.
|
||||||
|
# Simply use the following parameter:
|
||||||
|
# OOSU10.exe <path to file>
|
||||||
|
#
|
||||||
|
# Selecting the Option /quiet ends the app right after the import and the
|
||||||
|
# user does not get any feedback about the import.
|
||||||
|
#
|
||||||
|
# We are always happy to answer any questions you may have!
|
||||||
|
# ? 2015-2023 O&O Software GmbH, Berlin. All rights reserved.
|
||||||
|
# https://www.oo-software.com/
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
P001 -
|
||||||
|
P002 -
|
||||||
|
P003 -
|
||||||
|
P004 -
|
||||||
|
P005 -
|
||||||
|
P006 -
|
||||||
|
P008 -
|
||||||
|
P026 -
|
||||||
|
P027 -
|
||||||
|
P028 -
|
||||||
|
P064 -
|
||||||
|
P065 -
|
||||||
|
P066 -
|
||||||
|
P067 -
|
||||||
|
P070 -
|
||||||
|
P069 -
|
||||||
|
P009 -
|
||||||
|
P010 -
|
||||||
|
P015 -
|
||||||
|
P068 -
|
||||||
|
P016 -
|
||||||
|
A001 -
|
||||||
|
A002 -
|
||||||
|
A003 -
|
||||||
|
A004 -
|
||||||
|
A006 -
|
||||||
|
A005 -
|
||||||
|
P007 -
|
||||||
|
P036 -
|
||||||
|
P025 -
|
||||||
|
P033 -
|
||||||
|
P023 -
|
||||||
|
P056 -
|
||||||
|
P057 -
|
||||||
|
P012 -
|
||||||
|
P034 -
|
||||||
|
P013 -
|
||||||
|
P035 -
|
||||||
|
P062 -
|
||||||
|
P063 -
|
||||||
|
P081 -
|
||||||
|
P047 -
|
||||||
|
P019 -
|
||||||
|
P048 -
|
||||||
|
P049 -
|
||||||
|
P020 -
|
||||||
|
P037 -
|
||||||
|
P011 -
|
||||||
|
P038 -
|
||||||
|
P050 -
|
||||||
|
P051 -
|
||||||
|
P018 -
|
||||||
|
P039 -
|
||||||
|
P021 -
|
||||||
|
P040 -
|
||||||
|
P022 -
|
||||||
|
P041 -
|
||||||
|
P014 -
|
||||||
|
P042 -
|
||||||
|
P052 -
|
||||||
|
P053 -
|
||||||
|
P054 -
|
||||||
|
P055 -
|
||||||
|
P029 -
|
||||||
|
P043 -
|
||||||
|
P030 -
|
||||||
|
P044 -
|
||||||
|
P031 -
|
||||||
|
P045 -
|
||||||
|
P032 -
|
||||||
|
P046 -
|
||||||
|
P058 -
|
||||||
|
P059 -
|
||||||
|
P060 -
|
||||||
|
P061 -
|
||||||
|
P071 -
|
||||||
|
P072 -
|
||||||
|
P073 -
|
||||||
|
P074 -
|
||||||
|
P075 -
|
||||||
|
P076 -
|
||||||
|
P077 -
|
||||||
|
P078 -
|
||||||
|
P079 -
|
||||||
|
P080 -
|
||||||
|
P024 -
|
||||||
|
S001 -
|
||||||
|
S002 -
|
||||||
|
S003 -
|
||||||
|
S008 -
|
||||||
|
E101 -
|
||||||
|
E201 -
|
||||||
|
E115 -
|
||||||
|
E215 -
|
||||||
|
E118 -
|
||||||
|
E218 -
|
||||||
|
E107 -
|
||||||
|
E207 -
|
||||||
|
E111 -
|
||||||
|
E211 -
|
||||||
|
E112 -
|
||||||
|
E212 -
|
||||||
|
E109 -
|
||||||
|
E209 -
|
||||||
|
E121 -
|
||||||
|
E221 -
|
||||||
|
E103 -
|
||||||
|
E203 -
|
||||||
|
E123 -
|
||||||
|
E223 -
|
||||||
|
E124 -
|
||||||
|
E224 -
|
||||||
|
E128 -
|
||||||
|
E228 -
|
||||||
|
E119 -
|
||||||
|
E219 -
|
||||||
|
E120 -
|
||||||
|
E220 -
|
||||||
|
E122 -
|
||||||
|
E222 -
|
||||||
|
E125 -
|
||||||
|
E225 -
|
||||||
|
E126 -
|
||||||
|
E226 -
|
||||||
|
E106 -
|
||||||
|
E206 -
|
||||||
|
E127 -
|
||||||
|
E227 -
|
||||||
|
E001 -
|
||||||
|
E002 -
|
||||||
|
E003 -
|
||||||
|
E008 -
|
||||||
|
E007 -
|
||||||
|
E010 -
|
||||||
|
E011 +
|
||||||
|
E012 +
|
||||||
|
E009 -
|
||||||
|
E004 -
|
||||||
|
E005 -
|
||||||
|
E013 -
|
||||||
|
E014 -
|
||||||
|
E006 -
|
||||||
|
F002 -
|
||||||
|
F014 -
|
||||||
|
F015 -
|
||||||
|
F016 -
|
||||||
|
F001 -
|
||||||
|
F003 -
|
||||||
|
F004 -
|
||||||
|
F005 -
|
||||||
|
F007 -
|
||||||
|
F008 -
|
||||||
|
F009 -
|
||||||
|
F006 -
|
||||||
|
F010 -
|
||||||
|
F011 -
|
||||||
|
F012 -
|
||||||
|
F013 -
|
||||||
|
Y001 -
|
||||||
|
Y002 -
|
||||||
|
Y003 -
|
||||||
|
Y004 -
|
||||||
|
Y005 -
|
||||||
|
Y006 -
|
||||||
|
Y007 -
|
||||||
|
C012 -
|
||||||
|
C002 -
|
||||||
|
C013 -
|
||||||
|
C007 -
|
||||||
|
C008 -
|
||||||
|
C009 -
|
||||||
|
C010 -
|
||||||
|
C011 -
|
||||||
|
C014 -
|
||||||
|
C015 -
|
||||||
|
C101 -
|
||||||
|
C201 -
|
||||||
|
C102 -
|
||||||
|
L001 -
|
||||||
|
L003 -
|
||||||
|
L004 -
|
||||||
|
L005 -
|
||||||
|
U001 -
|
||||||
|
U004 -
|
||||||
|
U005 -
|
||||||
|
U006 -
|
||||||
|
U007 -
|
||||||
|
W001 -
|
||||||
|
W011 -
|
||||||
|
W004 -
|
||||||
|
W005 -
|
||||||
|
W010 -
|
||||||
|
W009 -
|
||||||
|
P017 -
|
||||||
|
W006 -
|
||||||
|
W008 -
|
||||||
|
M006 -
|
||||||
|
M011 -
|
||||||
|
M010 -
|
||||||
|
O003 -
|
||||||
|
O001 -
|
||||||
|
S012 -
|
||||||
|
S013 -
|
||||||
|
S014 -
|
||||||
|
K001 -
|
||||||
|
K002 -
|
||||||
|
K005 -
|
||||||
|
M025 -
|
||||||
|
M003 -
|
||||||
|
M015 -
|
||||||
|
M016 -
|
||||||
|
M017 -
|
||||||
|
M018 -
|
||||||
|
M019 -
|
||||||
|
M020 -
|
||||||
|
M021 -
|
||||||
|
M022 -
|
||||||
|
M001 -
|
||||||
|
M004 -
|
||||||
|
M005 -
|
||||||
|
M024 -
|
||||||
|
M012 -
|
||||||
|
M013 -
|
||||||
|
M014 -
|
||||||
|
N001 -'
|
||||||
|
$sync.configs.ooshutup10_recommended = '############################################################################
|
||||||
|
# This file was created with O&O ShutUp10++ V1.9.1436
|
||||||
|
# and can be imported onto another computer.
|
||||||
|
#
|
||||||
|
# Download the application at https://www.oo-software.com/shutup10
|
||||||
|
# You can then import the file from within the program.
|
||||||
|
#
|
||||||
|
# Alternatively you can import it automatically over a command line.
|
||||||
|
# Simply use the following parameter:
|
||||||
|
# OOSU10.exe <path to file>
|
||||||
|
#
|
||||||
|
# Selecting the Option /quiet ends the app right after the import and the
|
||||||
|
# user does not get any feedback about the import.
|
||||||
|
#
|
||||||
|
# We are always happy to answer any questions you may have!
|
||||||
|
# ? 2015-2023 O&O Software GmbH, Berlin. All rights reserved.
|
||||||
|
# https://www.oo-software.com/
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
P001 +
|
||||||
|
P002 +
|
||||||
|
P003 +
|
||||||
|
P004 +
|
||||||
|
P005 +
|
||||||
|
P006 +
|
||||||
|
P008 +
|
||||||
|
P026 +
|
||||||
|
P027 +
|
||||||
|
P028 +
|
||||||
|
P064 +
|
||||||
|
P065 +
|
||||||
|
P066 +
|
||||||
|
P067 +
|
||||||
|
P070 +
|
||||||
|
P069 +
|
||||||
|
P009 -
|
||||||
|
P010 -
|
||||||
|
P015 -
|
||||||
|
P068 -
|
||||||
|
P016 -
|
||||||
|
A001 +
|
||||||
|
A002 +
|
||||||
|
A003 +
|
||||||
|
A004 +
|
||||||
|
A006 +
|
||||||
|
A005 +
|
||||||
|
P007 +
|
||||||
|
P036 +
|
||||||
|
P025 +
|
||||||
|
P033 +
|
||||||
|
P023 +
|
||||||
|
P056 -
|
||||||
|
P057 -
|
||||||
|
P012 -
|
||||||
|
P034 -
|
||||||
|
P013 -
|
||||||
|
P035 -
|
||||||
|
P062 -
|
||||||
|
P063 -
|
||||||
|
P081 -
|
||||||
|
P047 -
|
||||||
|
P019 -
|
||||||
|
P048 -
|
||||||
|
P049 -
|
||||||
|
P020 -
|
||||||
|
P037 -
|
||||||
|
P011 -
|
||||||
|
P038 -
|
||||||
|
P050 -
|
||||||
|
P051 -
|
||||||
|
P018 -
|
||||||
|
P039 -
|
||||||
|
P021 -
|
||||||
|
P040 -
|
||||||
|
P022 -
|
||||||
|
P041 -
|
||||||
|
P014 -
|
||||||
|
P042 -
|
||||||
|
P052 -
|
||||||
|
P053 -
|
||||||
|
P054 -
|
||||||
|
P055 -
|
||||||
|
P029 -
|
||||||
|
P043 -
|
||||||
|
P030 -
|
||||||
|
P044 -
|
||||||
|
P031 -
|
||||||
|
P045 -
|
||||||
|
P032 -
|
||||||
|
P046 -
|
||||||
|
P058 -
|
||||||
|
P059 -
|
||||||
|
P060 -
|
||||||
|
P061 -
|
||||||
|
P071 -
|
||||||
|
P072 -
|
||||||
|
P073 -
|
||||||
|
P074 -
|
||||||
|
P075 -
|
||||||
|
P076 -
|
||||||
|
P077 -
|
||||||
|
P078 -
|
||||||
|
P079 -
|
||||||
|
P080 -
|
||||||
|
P024 -
|
||||||
|
S001 +
|
||||||
|
S002 +
|
||||||
|
S003 +
|
||||||
|
S008 -
|
||||||
|
E101 +
|
||||||
|
E201 +
|
||||||
|
E115 +
|
||||||
|
E215 +
|
||||||
|
E118 +
|
||||||
|
E218 +
|
||||||
|
E107 +
|
||||||
|
E207 +
|
||||||
|
E111 +
|
||||||
|
E211 +
|
||||||
|
E112 +
|
||||||
|
E212 +
|
||||||
|
E109 +
|
||||||
|
E209 +
|
||||||
|
E121 +
|
||||||
|
E221 +
|
||||||
|
E103 +
|
||||||
|
E203 +
|
||||||
|
E123 +
|
||||||
|
E223 +
|
||||||
|
E124 +
|
||||||
|
E224 +
|
||||||
|
E128 +
|
||||||
|
E228 +
|
||||||
|
E119 -
|
||||||
|
E219 -
|
||||||
|
E120 -
|
||||||
|
E220 -
|
||||||
|
E122 -
|
||||||
|
E222 -
|
||||||
|
E125 -
|
||||||
|
E225 -
|
||||||
|
E126 -
|
||||||
|
E226 -
|
||||||
|
E106 -
|
||||||
|
E206 -
|
||||||
|
E127 -
|
||||||
|
E227 -
|
||||||
|
E001 +
|
||||||
|
E002 +
|
||||||
|
E003 +
|
||||||
|
E008 +
|
||||||
|
E007 +
|
||||||
|
E010 +
|
||||||
|
E011 +
|
||||||
|
E012 +
|
||||||
|
E009 -
|
||||||
|
E004 -
|
||||||
|
E005 -
|
||||||
|
E013 -
|
||||||
|
E014 -
|
||||||
|
E006 -
|
||||||
|
F002 +
|
||||||
|
F014 +
|
||||||
|
F015 +
|
||||||
|
F016 +
|
||||||
|
F001 +
|
||||||
|
F003 +
|
||||||
|
F004 +
|
||||||
|
F005 +
|
||||||
|
F007 +
|
||||||
|
F008 +
|
||||||
|
F009 +
|
||||||
|
F006 -
|
||||||
|
F010 -
|
||||||
|
F011 -
|
||||||
|
F012 -
|
||||||
|
F013 -
|
||||||
|
Y001 +
|
||||||
|
Y002 +
|
||||||
|
Y003 +
|
||||||
|
Y004 +
|
||||||
|
Y005 +
|
||||||
|
Y006 +
|
||||||
|
Y007 +
|
||||||
|
C012 +
|
||||||
|
C002 +
|
||||||
|
C013 +
|
||||||
|
C007 +
|
||||||
|
C008 +
|
||||||
|
C009 +
|
||||||
|
C010 +
|
||||||
|
C011 +
|
||||||
|
C014 +
|
||||||
|
C015 +
|
||||||
|
C101 +
|
||||||
|
C201 +
|
||||||
|
C102 +
|
||||||
|
L001 +
|
||||||
|
L003 +
|
||||||
|
L004 -
|
||||||
|
L005 -
|
||||||
|
U001 +
|
||||||
|
U004 +
|
||||||
|
U005 +
|
||||||
|
U006 +
|
||||||
|
U007 +
|
||||||
|
W001 +
|
||||||
|
W011 +
|
||||||
|
W004 -
|
||||||
|
W005 -
|
||||||
|
W010 -
|
||||||
|
W009 -
|
||||||
|
P017 -
|
||||||
|
W006 -
|
||||||
|
W008 -
|
||||||
|
M006 +
|
||||||
|
M011 -
|
||||||
|
M010 -
|
||||||
|
O003 -
|
||||||
|
O001 -
|
||||||
|
S012 -
|
||||||
|
S013 -
|
||||||
|
S014 -
|
||||||
|
K001 +
|
||||||
|
K002 +
|
||||||
|
K005 +
|
||||||
|
M025 +
|
||||||
|
M003 -
|
||||||
|
M015 -
|
||||||
|
M016 -
|
||||||
|
M017 -
|
||||||
|
M018 -
|
||||||
|
M019 -
|
||||||
|
M020 -
|
||||||
|
M021 -
|
||||||
|
M022 +
|
||||||
|
M001 +
|
||||||
|
M004 +
|
||||||
|
M005 +
|
||||||
|
M024 +
|
||||||
|
M012 -
|
||||||
|
M013 -
|
||||||
|
M014 -
|
||||||
|
N001 -'
|
||||||
$inputXML = '<Window x:Class="WinUtility.MainWindow"
|
$inputXML = '<Window x:Class="WinUtility.MainWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
@ -11683,7 +12201,7 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
|||||||
<CheckBox Name="WPFInstalllinphone" Content="Linphone" ToolTip="Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinphoneLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.linphone.org/" />
|
<CheckBox Name="WPFInstalllinphone" Content="Linphone" ToolTip="Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinphoneLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.linphone.org/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallmatrix" Content="Matrix" ToolTip="Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools." Margin="0,0,2,0"/><TextBlock Name="WPFInstallmatrixLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://element.io/" />
|
<CheckBox Name="WPFInstallmatrix" Content="Element" ToolTip="Element is a client for Matrix?an open network for secure, decentralized communication." Margin="0,0,2,0"/><TextBlock Name="WPFInstallmatrixLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://element.io/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallqtox" Content="QTox" ToolTip="QTox is a free and open-source messaging app that prioritizes user privacy and security in its design." Margin="0,0,2,0"/><TextBlock Name="WPFInstallqtoxLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://qtox.github.io/" />
|
<CheckBox Name="WPFInstallqtox" Content="QTox" ToolTip="QTox is a free and open-source messaging app that prioritizes user privacy and security in its design." Margin="0,0,2,0"/><TextBlock Name="WPFInstallqtoxLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://qtox.github.io/" />
|
||||||
@ -12151,7 +12669,7 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
|||||||
<CheckBox Name="WPFInstallitunes" Content="iTunes" ToolTip="iTunes is a media player, media library, and online radio broadcaster application developed by Apple Inc." Margin="0,0,2,0"/><TextBlock Name="WPFInstallitunesLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.apple.com/itunes/" />
|
<CheckBox Name="WPFInstallitunes" Content="iTunes" ToolTip="iTunes is a media player, media library, and online radio broadcaster application developed by Apple Inc." Margin="0,0,2,0"/><TextBlock Name="WPFInstallitunesLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.apple.com/itunes/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalljellyfinmediaplayer" Content="Jellyfin Media Player" ToolTip="Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinmediaplayerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/jellyfin/jellyfin-media-playerf" />
|
<CheckBox Name="WPFInstalljellyfinmediaplayer" Content="Jellyfin Media Player" ToolTip="Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinmediaplayerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/jellyfin/jellyfin-media-player" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalljellyfinserver" Content="Jellyfin Server" ToolTip="Jellyfin Server is an open-source media server software, allowing you to organize and stream your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinserverLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://jellyfin.org/" />
|
<CheckBox Name="WPFInstalljellyfinserver" Content="Jellyfin Server" ToolTip="Jellyfin Server is an open-source media server software, allowing you to organize and stream your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinserverLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://jellyfin.org/" />
|
||||||
@ -12208,6 +12726,9 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
|||||||
<CheckBox Name="WPFInstallsharex" Content="ShareX (Screenshots)" ToolTip="ShareX is a free and open-source screen capture and file sharing tool. It supports various capture methods and offers advanced features for editing and sharing screenshots." Margin="0,0,2,0"/><TextBlock Name="WPFInstallsharexLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://getsharex.com/" />
|
<CheckBox Name="WPFInstallsharex" Content="ShareX (Screenshots)" ToolTip="ShareX is a free and open-source screen capture and file sharing tool. It supports various capture methods and offers advanced features for editing and sharing screenshots." Margin="0,0,2,0"/><TextBlock Name="WPFInstallsharexLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://getsharex.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstallspotify" Content="Spotify" ToolTip="Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world." Margin="0,0,2,0"/><TextBlock Name="WPFInstallspotifyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.spotify.com/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallstrawberry" Content="Strawberry (Music Player)" ToolTip="Strawberry is an open-source music player that focuses on music collection management and audio quality. It supports various audio formats and features a clean user interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallstrawberryLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.strawberrymusicplayer.org/" />
|
<CheckBox Name="WPFInstallstrawberry" Content="Strawberry (Music Player)" ToolTip="Strawberry is an open-source music player that focuses on music collection management and audio quality. It supports various audio formats and features a clean user interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallstrawberryLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.strawberrymusicplayer.org/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@ -12232,15 +12753,15 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
|||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalladvancedip" Content="Advanced IP Scanner" ToolTip="Advanced IP Scanner is a fast and easy-to-use network scanner. It is designed to analyze LAN networks and provides information about connected devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstalladvancedipLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.advanced-ip-scanner.com/" />
|
<CheckBox Name="WPFInstalladvancedip" Content="Advanced IP Scanner" ToolTip="Advanced IP Scanner is a fast and easy-to-use network scanner. It is designed to analyze LAN networks and provides information about connected devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstalladvancedipLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.advanced-ip-scanner.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<CheckBox Name="WPFInstallangryipscanner" Content="Angry IP Scanner" ToolTip="Angry IP Scanner is an open-source and cross-platform network scanner. It is used to scan IP addresses and ports, providing information about network connectivity." Margin="0,0,2,0"/><TextBlock Name="WPFInstallangryipscannerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://angryip.org/" />
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="1" Grid.Column="3">
|
<Border Grid.Row="1" Grid.Column="3">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstallangryipscanner" Content="Angry IP Scanner" ToolTip="Angry IP Scanner is an open-source and cross-platform network scanner. It is used to scan IP addresses and ports, providing information about network connectivity." Margin="0,0,2,0"/><TextBlock Name="WPFInstallangryipscannerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://angryip.org/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallefibooteditor" Content="EFI Boot Editor" ToolTip="EFI Boot Editor is a tool for managing the EFI/UEFI boot entries on your system. It allows you to customize the boot configuration of your computer." Margin="0,0,2,0"/><TextBlock Name="WPFInstallefibooteditorLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.easyuefi.com/" />
|
<CheckBox Name="WPFInstallefibooteditor" Content="EFI Boot Editor" ToolTip="EFI Boot Editor is a tool for managing the EFI/UEFI boot entries on your system. It allows you to customize the boot configuration of your computer." Margin="0,0,2,0"/><TextBlock Name="WPFInstallefibooteditorLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.easyuefi.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@ -12442,15 +12963,15 @@ $inputXML = '<Window x:Class="WinUtility.MainWindow"
|
|||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalllivelywallpaper" Content="Lively Wallpaper" ToolTip="Free and open-source software that allows users to set animated desktop wallpapers and screensavers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllivelywallpaperLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.rocksdanister.com/lively/" />
|
<CheckBox Name="WPFInstalllivelywallpaper" Content="Lively Wallpaper" ToolTip="Free and open-source software that allows users to set animated desktop wallpapers and screensavers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllivelywallpaperLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.rocksdanister.com/lively/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<CheckBox Name="WPFInstalllocalsend" Content="LocalSend" ToolTip="An open source cross-platform alternative to AirDrop." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllocalsendLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://localsend.org/" />
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="1" Grid.Column="4">
|
<Border Grid.Row="1" Grid.Column="4">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstalllocalsend" Content="LocalSend" ToolTip="An open source cross-platform alternative to AirDrop." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllocalsendLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://localsend.org/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalllockhunter" Content="LockHunter" ToolTip="LockHunter is a free tool to delete files blocked by something you do not know." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllockhunterLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://lockhunter.com/" />
|
<CheckBox Name="WPFInstalllockhunter" Content="LockHunter" ToolTip="LockHunter is a free tool to delete files blocked by something you do not know." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllockhunterLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://lockhunter.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@ -13189,8 +13710,8 @@ Invoke-WPFRunspace -ScriptBlock {
|
|||||||
# Print the logo
|
# Print the logo
|
||||||
Invoke-WPFFormVariables
|
Invoke-WPFFormVariables
|
||||||
|
|
||||||
# Check if Chocolatey is installed
|
# Install Winget if not already present
|
||||||
Install-WinUtilChoco
|
Install-WinUtilWinget
|
||||||
|
|
||||||
# Set the titlebar
|
# Set the titlebar
|
||||||
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
|
$sync["Form"].title = $sync["Form"].title + " " + $sync.version
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
<CheckBox Name="WPFInstalllinphone" Content="Linphone" ToolTip="Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinphoneLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.linphone.org/" />
|
<CheckBox Name="WPFInstalllinphone" Content="Linphone" ToolTip="Linphone is an open-source voice over IP (VoIPservice that allows for audio and video calls, messaging, and more." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllinphoneLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.linphone.org/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallmatrix" Content="Matrix" ToolTip="Matrix is an open network for secure, decentralized communication with features like chat, VoIP, and collaboration tools." Margin="0,0,2,0"/><TextBlock Name="WPFInstallmatrixLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://element.io/" />
|
<CheckBox Name="WPFInstallmatrix" Content="Element" ToolTip="Element is a client for Matrix?an open network for secure, decentralized communication." Margin="0,0,2,0"/><TextBlock Name="WPFInstallmatrixLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://element.io/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallqtox" Content="QTox" ToolTip="QTox is a free and open-source messaging app that prioritizes user privacy and security in its design." Margin="0,0,2,0"/><TextBlock Name="WPFInstallqtoxLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://qtox.github.io/" />
|
<CheckBox Name="WPFInstallqtox" Content="QTox" ToolTip="QTox is a free and open-source messaging app that prioritizes user privacy and security in its design." Margin="0,0,2,0"/><TextBlock Name="WPFInstallqtoxLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://qtox.github.io/" />
|
||||||
@ -547,7 +547,7 @@
|
|||||||
<CheckBox Name="WPFInstallitunes" Content="iTunes" ToolTip="iTunes is a media player, media library, and online radio broadcaster application developed by Apple Inc." Margin="0,0,2,0"/><TextBlock Name="WPFInstallitunesLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.apple.com/itunes/" />
|
<CheckBox Name="WPFInstallitunes" Content="iTunes" ToolTip="iTunes is a media player, media library, and online radio broadcaster application developed by Apple Inc." Margin="0,0,2,0"/><TextBlock Name="WPFInstallitunesLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.apple.com/itunes/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalljellyfinmediaplayer" Content="Jellyfin Media Player" ToolTip="Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinmediaplayerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/jellyfin/jellyfin-media-playerf" />
|
<CheckBox Name="WPFInstalljellyfinmediaplayer" Content="Jellyfin Media Player" ToolTip="Jellyfin Media Player is a client application for the Jellyfin media server, providing access to your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinmediaplayerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://github.com/jellyfin/jellyfin-media-player" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalljellyfinserver" Content="Jellyfin Server" ToolTip="Jellyfin Server is an open-source media server software, allowing you to organize and stream your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinserverLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://jellyfin.org/" />
|
<CheckBox Name="WPFInstalljellyfinserver" Content="Jellyfin Server" ToolTip="Jellyfin Server is an open-source media server software, allowing you to organize and stream your media library." Margin="0,0,2,0"/><TextBlock Name="WPFInstalljellyfinserverLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://jellyfin.org/" />
|
||||||
@ -604,6 +604,9 @@
|
|||||||
<CheckBox Name="WPFInstallsharex" Content="ShareX (Screenshots)" ToolTip="ShareX is a free and open-source screen capture and file sharing tool. It supports various capture methods and offers advanced features for editing and sharing screenshots." Margin="0,0,2,0"/><TextBlock Name="WPFInstallsharexLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://getsharex.com/" />
|
<CheckBox Name="WPFInstallsharex" Content="ShareX (Screenshots)" ToolTip="ShareX is a free and open-source screen capture and file sharing tool. It supports various capture methods and offers advanced features for editing and sharing screenshots." Margin="0,0,2,0"/><TextBlock Name="WPFInstallsharexLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://getsharex.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstallspotify" Content="Spotify" ToolTip="Spotify is a digital music service that gives you access to millions of songs, podcasts, and videos from artists all over the world." Margin="0,0,2,0"/><TextBlock Name="WPFInstallspotifyLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.spotify.com/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallstrawberry" Content="Strawberry (Music Player)" ToolTip="Strawberry is an open-source music player that focuses on music collection management and audio quality. It supports various audio formats and features a clean user interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallstrawberryLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.strawberrymusicplayer.org/" />
|
<CheckBox Name="WPFInstallstrawberry" Content="Strawberry (Music Player)" ToolTip="Strawberry is an open-source music player that focuses on music collection management and audio quality. It supports various audio formats and features a clean user interface." Margin="0,0,2,0"/><TextBlock Name="WPFInstallstrawberryLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.strawberrymusicplayer.org/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@ -628,15 +631,15 @@
|
|||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalladvancedip" Content="Advanced IP Scanner" ToolTip="Advanced IP Scanner is a fast and easy-to-use network scanner. It is designed to analyze LAN networks and provides information about connected devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstalladvancedipLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.advanced-ip-scanner.com/" />
|
<CheckBox Name="WPFInstalladvancedip" Content="Advanced IP Scanner" ToolTip="Advanced IP Scanner is a fast and easy-to-use network scanner. It is designed to analyze LAN networks and provides information about connected devices." Margin="0,0,2,0"/><TextBlock Name="WPFInstalladvancedipLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.advanced-ip-scanner.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<CheckBox Name="WPFInstallangryipscanner" Content="Angry IP Scanner" ToolTip="Angry IP Scanner is an open-source and cross-platform network scanner. It is used to scan IP addresses and ports, providing information about network connectivity." Margin="0,0,2,0"/><TextBlock Name="WPFInstallangryipscannerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://angryip.org/" />
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="1" Grid.Column="3">
|
<Border Grid.Row="1" Grid.Column="3">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstallangryipscanner" Content="Angry IP Scanner" ToolTip="Angry IP Scanner is an open-source and cross-platform network scanner. It is used to scan IP addresses and ports, providing information about network connectivity." Margin="0,0,2,0"/><TextBlock Name="WPFInstallangryipscannerLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://angryip.org/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstallefibooteditor" Content="EFI Boot Editor" ToolTip="EFI Boot Editor is a tool for managing the EFI/UEFI boot entries on your system. It allows you to customize the boot configuration of your computer." Margin="0,0,2,0"/><TextBlock Name="WPFInstallefibooteditorLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.easyuefi.com/" />
|
<CheckBox Name="WPFInstallefibooteditor" Content="EFI Boot Editor" ToolTip="EFI Boot Editor is a tool for managing the EFI/UEFI boot entries on your system. It allows you to customize the boot configuration of your computer." Margin="0,0,2,0"/><TextBlock Name="WPFInstallefibooteditorLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.easyuefi.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@ -838,15 +841,15 @@
|
|||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalllivelywallpaper" Content="Lively Wallpaper" ToolTip="Free and open-source software that allows users to set animated desktop wallpapers and screensavers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllivelywallpaperLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.rocksdanister.com/lively/" />
|
<CheckBox Name="WPFInstalllivelywallpaper" Content="Lively Wallpaper" ToolTip="Free and open-source software that allows users to set animated desktop wallpapers and screensavers." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllivelywallpaperLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://www.rocksdanister.com/lively/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<CheckBox Name="WPFInstalllocalsend" Content="LocalSend" ToolTip="An open source cross-platform alternative to AirDrop." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllocalsendLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://localsend.org/" />
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="1" Grid.Column="4">
|
<Border Grid.Row="1" Grid.Column="4">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<CheckBox Name="WPFInstalllocalsend" Content="LocalSend" ToolTip="An open source cross-platform alternative to AirDrop." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllocalsendLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://localsend.org/" />
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<CheckBox Name="WPFInstalllockhunter" Content="LockHunter" ToolTip="LockHunter is a free tool to delete files blocked by something you do not know." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllockhunterLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://lockhunter.com/" />
|
<CheckBox Name="WPFInstalllockhunter" Content="LockHunter" ToolTip="LockHunter is a free tool to delete files blocked by something you do not know." Margin="0,0,2,0"/><TextBlock Name="WPFInstalllockhunterLink" Style="{StaticResource HoverTextBlockStyle}" Text="(?)" ToolTip="https://lockhunter.com/" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
Reference in New Issue
Block a user