# Learned from: https://docs.microsoft.com/en-us/powershell/scripting/samples/creating-a-custom-input-box?view=powershell-7.1
# Adapted majorly from https://github.com/ChrisTitusTech/win10script and https://github.com/Sycnex/Windows10Debloater
# Take Ownership tweak from: https://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/
function Main ( ) {
[ CmdletBinding ( ) ]
param (
[ Parameter ( Position = 0 ) ]
[ ValidateSet ( 'CLI' , 'GUI' ) ]
[ String ] $Mode = 'GUI'
)
Begin {
$Script:NeedRestart = $false
$Script:DoneTitle = " Information "
$Script:DoneMessage = " Process Completed! "
}
Process {
Clear-Host
Request-AdminPrivilege # Check admin rights
Get-ChildItem -Recurse $PSScriptRoot \ * . ps * 1 | Unblock-File
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " download-web-file.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " get-hardware-info.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " open-file.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " manage-software.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " set-console-style.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " set-revert-status.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " start-logging.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ " title-templates.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ ui \ " get-default-color.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ ui \ " get-screen-resolution.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ ui \ " new-layout-page.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ ui \ " show-message-dialog.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ lib \ ui \ " ui-helper.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ utils \ " individual-tweaks.psm1 " -Force
Import-Module -DisableNameChecking $PSScriptRoot \ src \ utils \ " install-individual-system-apps.psm1 " -Force
Set-ConsoleStyle
$CurrentFileName = ( Split-Path -Path $PSCommandPath -Leaf ) . Split ( '.' ) [ 0 ]
$CurrentFileLastModified = ( Get-Item " $( Split-Path -Path $PSCommandPath -Leaf ) " ) . LastWriteTimeUtc | Get-Date -Format " yyyy-MM-dd "
( Get-Item " $( Split-Path -Path $PSCommandPath -Leaf ) " ) . LastWriteTimeUtc | Get-Date -Format " yyyy-MM-dd "
Start-Logging -File $CurrentFileName
Write-Caption " $CurrentFileName v $CurrentFileLastModified "
Write-Host " Your Current Folder $pwd "
Write-Host " Script Root Folder $PSScriptRoot "
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts " install-package-managers.ps1 " -NoDialog
Write-ScriptLogo
If ( $args ) {
Write-Caption " Arguments: $args "
} Else { Write-Caption " Arguments: None, running GUI " }
If ( $Mode -eq 'CLI' ) {
Open-DebloatScript -Mode $Mode
} Else { Show-GUI }
}
End {
Write-Verbose " Restart: $Script:NeedRestart "
If ( $Script:NeedRestart ) {
Request-PcRestart
}
Stop-Logging
}
}
function Open-DebloatScript {
[ CmdletBinding ( ) ]
param (
[ Parameter ( Position = 0 ) ]
[ ValidateSet ( 'CLI' , 'GUI' ) ]
[ String ] $Mode = 'GUI'
)
$Scripts = @ (
# [Recommended order]
" backup-system.ps1 " ,
" silent-debloat-softwares.ps1 " ,
" optimize-task-scheduler.ps1 " ,
" optimize-services.ps1 " ,
" remove-bloatware-apps.ps1 " ,
" remove-windows-capabilities.ps1 " ,
" optimize-privacy.ps1 " ,
" optimize-performance.ps1 " ,
" personal-tweaks.ps1 " ,
" optimize-security.ps1 " ,
" optimize-windows-features.ps1 "
)
If ( $Mode -eq 'CLI' ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts $Scripts -DoneTitle $DoneTitle -DoneMessage $DoneMessage -OpenFromGUI $false
} ElseIf ( $Mode -eq 'GUI' ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts $Scripts -DoneTitle $DoneTitle -DoneMessage $DoneMessage
}
$Script:NeedRestart = $true
}
function Request-AdminPrivilege ( ) {
# Used from https://stackoverflow.com/a/31602095 because it preserves the working directory!
If ( ! ( [ Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity ] :: GetCurrent ( ) ) . IsInRole ( [ Security.Principal.WindowsBuiltInRole ] " Administrator " ) ) { Start-Process powershell . exe " -NoProfile -ExecutionPolicy Bypass -File `" $PSCommandPath `" " -Verb RunAs ; exit }
}
function Show-GUI ( ) {
Write-Status -Types " @ " , " UI " -Status " Loading GUI Layout... "
# Loading System Libs
Add-Type -AssemblyName System . Windows . Forms
Add-Type -AssemblyName System . Drawing
[ System.Windows.Forms.Application ] :: EnableVisualStyles ( ) # Rounded Buttons :3
$Colors , $BrandColors = Get-DefaultColor # Load the Colors used in this script
Set-UIFont # Load the Layout Font
# <===== Specific Layout =====>
$LayoutT1 = New-LayoutPage -NumOfPanels 3 -PanelHeight 960
$LayoutT2 = New-LayoutPage -NumOfPanels 4 -PanelHeight 1785
# <===== UI =====>
# Main Window:
$Form = New-Form -Width $LayoutT1 . FormWidth -Height $LayoutT1 . FormHeight -Text " Win Debloat Tools (LeDragoX) | $( Get-SystemSpec ) " -BackColor $BrandColors . Win . Dark -FormBorderStyle 'Sizable' # Loading the specs takes longer time to load the GUI
$Form = New-FormIcon -Form $Form -ImageLocation " $PSScriptRoot \src\assets\script-icon-32px.png "
$FormTabControl = New-TabControl -Width ( $LayoutT1 . FormWidth - 8 ) -Height ( $LayoutT1 . FormHeight - 35 ) -LocationX -4 -LocationY 0
$TabSystemTweaks = New-TabPage -Name " Tab1 " -Text " System Tweaks "
$TabSoftwareInstall = New-TabPage -Name " Tab2 " -Text " Software Install "
$TlSystemTweaks = New-Label -Text " System Tweaks " -Width $LayoutT1 . TotalWidth -Height $LayoutT1 . TitleLabelHeight -LocationX 0 -LocationY $TitleLabelY -FontSize $LayoutT1 . Heading [ 0 ] -FontStyle " Bold " -ForeColor $Colors . Cyan
$ClSystemTweaks = New-Label -Text " $CurrentFileName v $CurrentFileLastModified " -Width $LayoutT1 . TotalWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 1 ] -ElementBefore $TlSystemTweaks -MarginTop $LayoutT1 . DistanceBetweenElements -ForeColor $Colors . White
# ==> Tab 1
$CurrentPanelIndex = 0
$T1Panel1 = New-Panel -Width $LayoutT1 . PanelWidth -Height $LayoutT1 . PanelHeight -LocationX ( $LayoutT1 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSystemTweaks
$CurrentPanelIndex + +
$T1Panel2 = New-Panel -Width $LayoutT1 . PanelWidth -Height $LayoutT1 . PanelHeight -LocationX ( $LayoutT1 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSystemTweaks
$CurrentPanelIndex + +
$T1Panel3 = New-Panel -Width $LayoutT1 . PanelWidth -Height $LayoutT1 . PanelHeight -LocationX ( $LayoutT1 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSystemTweaks
# ==> T1 Panel 1
$ClCustomizeFeatures = New-Label -Text " Customize System Features " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX $LayoutT1 . PanelElementX -LocationY 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold'
$CbDarkTheme = New-CheckBox -Text " Enable Dark Theme " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClCustomizeFeatures
$CbActivityHistory = New-CheckBox -Text " Enable Activity History " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbDarkTheme
$CbBackgroundsApps = New-CheckBox -Text " Enable Background Apps " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbActivityHistory
$CbClipboardHistory = New-CheckBox -Text " Enable Clipboard History " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbBackgroundsApps
$CbClipboardSyncAcrossDevice = New-CheckBox -Text " Enable Clipboard Sync Across Devices " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbClipboardHistory
$CbCortana = New-CheckBox -Text " Enable Cortana " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbClipboardSyncAcrossDevice
$CbHibernate = New-CheckBox -Text " Enable Hibernate " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbCortana
$CbOldVolumeControl = New-CheckBox -Text " Enable Old Volume Control " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbHibernate
$CbOnlineSpeechRecognition = New-CheckBox -Text " Enable Online Speech Recognition " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbOldVolumeControl
$CbPhoneLink = New-CheckBox -Text " Enable Phone Link " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbOnlineSpeechRecognition
$CbPhotoViewer = New-CheckBox -Text " Enable Photo Viewer " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbPhoneLink
$CbSearchAppForUnknownExt = New-CheckBox -Text " Enable Search App for Unknown Ext. " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbPhotoViewer
$CbTelemetry = New-CheckBox -Text " Enable Telemetry " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbSearchAppForUnknownExt
$CbWSearchService = New-CheckBox -Text " Enable WSearch Service " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbTelemetry
$CbXboxGameBarDVRandMode = New-CheckBox -Text " Enable Xbox Game Bar/DVR/Mode " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbWSearchService
# ==> T1 Panel 2
$ClDebloatTools = New-Label -Text " System Debloat Tools " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX $LayoutT1 . PanelElementX -LocationY 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold'
$ApplyTweaks = New-Button -Text " Apply Tweaks " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -ElementBefore $ClDebloatTools -FontSize $LayoutT1 . Heading [ 3 ] -FontStyle 'Bold' -ForeColor $Colors . Cyan
$UndoTweaks = New-Button -Text " Undo Tweaks " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ApplyTweaks -MarginTop $LayoutT1 . DistanceBetweenElements -ForeColor $Colors . WarningYellow
$RemoveMSEdge = New-Button -Text " Remove Microsoft Edge " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $UndoTweaks -MarginTop $LayoutT1 . DistanceBetweenElements -ForeColor $Colors . WarningYellow
$RemoveOneDrive = New-Button -Text " Remove OneDrive " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $RemoveMSEdge -MarginTop $LayoutT1 . DistanceBetweenElements -ForeColor $Colors . WarningYellow
$RemoveXbox = New-Button -Text " Remove Xbox " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $RemoveOneDrive -MarginTop $LayoutT1 . DistanceBetweenElements -ForeColor $Colors . WarningYellow
$PictureBox1 = New-PictureBox -ImageLocation " $PSScriptRoot \src\assets\script-image.png " -Width $LayoutT1 . PanelElementWidth -Height ( ( $LayoutT1 . ButtonHeight * 4 ) + ( $LayoutT1 . DistanceBetweenElements * 4 ) ) -LocationX $LayoutT1 . PanelElementX -ElementBefore $RemoveXbox -MarginTop $LayoutT1 . DistanceBetweenElements -SizeMode 'Zoom'
$ClInstallSystemApps = New-Label -Text " Install System Apps " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $PictureBox1
$InstallCortana = New-Button -Text " Cortana " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClInstallSystemApps
$InstallDolbyAudio = New-Button -Text " Dolby Audio " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallCortana -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallMicrosoftEdge = New-Button -Text " Microsoft Edge " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallDolbyAudio -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallOneDrive = New-Button -Text " OneDrive " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallMicrosoftEdge -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallPaintPaint3D = New-Button -Text " Paint + Paint 3D " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallOneDrive -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallPhoneLink = New-Button -Text " Phone Link " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallPaintPaint3D -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallSoundRecorder = New-Button -Text " Sound Recorder " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallPhoneLink -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallTaskbarWidgets = New-Button -Text " Taskbar Widgets " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallSoundRecorder -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallUWPWMediaPlayer = New-Button -Text " Windows Media Player (UWP) " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallTaskbarWidgets -MarginTop $LayoutT1 . DistanceBetweenElements
$InstallXbox = New-Button -Text " Xbox " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $InstallUWPWMediaPlayer -MarginTop $LayoutT1 . DistanceBetweenElements
$ClOtherTools = New-Label -Text " Other Tools " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX $LayoutT1 . PanelElementX -LocationY 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallXbox
$RandomizeSystemColor = New-Button -Text " Randomize System Color " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClOtherTools
$ReinstallBloatApps = New-Button -Text " Reinstall Pre-Installed Apps " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $RandomizeSystemColor -MarginTop $LayoutT1 . DistanceBetweenElements
$RepairWindows = New-Button -Text " Repair Windows " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ReinstallBloatApps -MarginTop $LayoutT1 . DistanceBetweenElements
$ShowDebloatInfo = New-Button -Text " Show Debloat Info " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . ButtonHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $RepairWindows -MarginTop $LayoutT1 . DistanceBetweenElements
# ==> T1 Panel 3
$ClWindowsUpdate = New-Label -Text " Windows Update " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX $LayoutT1 . PanelElementX -LocationY 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold'
$CbAutomaticWindowsUpdate = New-CheckBox -Text " Enable Automatic Windows Update " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClWindowsUpdate
$ClOptionalFeatures = New-Label -Text " Optional Features " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $CbAutomaticWindowsUpdate
$CbInternetExplorer = New-CheckBox -Text " Internet Explorer " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClOptionalFeatures
$CbPrintToPDFServices = New-CheckBox -Text " Printing-PrintToPDFServices-Features " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbInternetExplorer
$CbPrintingXPSServices = New-CheckBox -Text " Printing-XPSServices-Features " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbPrintToPDFServices
$CbWindowsMediaPlayer = New-CheckBox -Text " Windows Media Player " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbPrintingXPSServices
$ClWindowsCapabilities = New-Label -Text " Windows Capabilities " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $CbWindowsMediaPlayer
$CbPowerShellISE = New-CheckBox -Text " PowerShell ISE " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClWindowsCapabilities
$ClMiscFeatures = New-Label -Text " Miscellaneous Features " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $CbPowerShellISE
$CbEncryptedDNS = New-CheckBox -Text " Enable Encrypted DNS " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $ClMiscFeatures
$CbGodMode = New-CheckBox -Text " Enable God Mode " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbEncryptedDNS
$CbMouseNaturalScroll = New-CheckBox -Text " Enable Mouse Natural Scroll " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbGodMode
$CbTakeOwnership = New-CheckBox -Text " Enable Take Ownership menu " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbMouseNaturalScroll
$CbFastShutdownPCShortcut = New-CheckBox -Text " Enable Fast Shutdown shortcut " -Width $LayoutT1 . PanelElementWidth -Height $LayoutT1 . CheckBoxHeight -LocationX $LayoutT1 . PanelElementX -FontSize $LayoutT1 . Heading [ 3 ] -ElementBefore $CbTakeOwnership
# ==> Tab 2
$TlSoftwareInstall = New-Label -Text " Software Install " -Width $LayoutT2 . TotalWidth -Height $LayoutT2 . TitleLabelHeight -LocationX 0 -LocationY $TitleLabelY -FontSize $LayoutT2 . Heading [ 0 ] -FontStyle " Bold " -ForeColor $Colors . Cyan
$ClSoftwareInstall = New-Label -Text " Package Managers: Winget and Chocolatey " -Width $LayoutT2 . TotalWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX 0 -FontSize $LayoutT1 . Heading [ 1 ] -ElementBefore $TlSoftwareInstall -MarginTop $LayoutT2 . DistanceBetweenElements -ForeColor $Colors . White
$CurrentPanelIndex = 0
$T2Panel1 = New-Panel -Width $LayoutT2 . PanelWidth -Height $LayoutT2 . PanelHeight -LocationX ( $LayoutT2 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSoftwareInstall
$CurrentPanelIndex + +
$T2Panel2 = New-Panel -Width $LayoutT2 . PanelWidth -Height $LayoutT2 . PanelHeight -LocationX ( $LayoutT2 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSoftwareInstall
$CurrentPanelIndex + +
$T2Panel3 = New-Panel -Width $LayoutT2 . PanelWidth -Height $LayoutT2 . PanelHeight -LocationX ( $LayoutT2 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSoftwareInstall
$CurrentPanelIndex + +
$T2Panel4 = New-Panel -Width $LayoutT2 . PanelWidth -Height $LayoutT2 . PanelHeight -LocationX ( $LayoutT2 . PanelWidth * $CurrentPanelIndex ) -ElementBefore $ClSoftwareInstall
# ==> T2 Panel 1
$UpgradeAll = New-Button -Text " Upgrade All Softwares " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . ButtonHeight -LocationX $LayoutT2 . PanelElementX -LocationY 0 -FontSize $LayoutT2 . Heading [ 3 ] -FontStyle 'Bold' -ForeColor $Colors . Cyan
$ClCpuGpuDrivers = New-Label -Text " CPU/GPU Drivers " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $UpgradeAll
$InstallAmdRyzenChipsetDriver = New-CheckBox -Text " AMD Ryzen Chipset Driver " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClCpuGpuDrivers -ForeColor $BrandColors . AMD . Ryzen
$InstallIntelDSA = New-CheckBox -Text " Intel® DSA " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAmdRyzenChipsetDriver -ForeColor $BrandColors . Intel
$InstallNvidiaGeForceExperience = New-CheckBox -Text " NVIDIA GeForce Experience " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallIntelDSA -ForeColor $BrandColors . NVIDIA
$InstallNVCleanstall = New-CheckBox -Text " NVCleanstall " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNvidiaGeForceExperience
$ClApplicationRequirements = New-Label -Text " Application Requirements " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallNVCleanstall
$InstallDirectX = New-CheckBox -Text " DirectX End-User Runtime " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClApplicationRequirements
$InstallMsDotNetFramework = New-CheckBox -Text " Microsoft .NET Framework " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDirectX
$InstallMsVCppX64 = New-CheckBox -Text " MSVC Redist 2005-2022 (x64) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMsDotNetFramework
$InstallMsVCppX86 = New-CheckBox -Text " MSVC Redist 2005-2022 (x86) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMsVCppX64
$ClFileCompression = New-Label -Text " File Compression " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallMsVCppX86
$Install7Zip = New-CheckBox -Text " 7-Zip " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClFileCompression
$InstallWinRar = New-CheckBox -Text " WinRAR (Trial) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $Install7Zip
$ClDocuments = New-Label -Text " Document Editors/Readers " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallWinRar
$InstallAdobeReaderDC = New-CheckBox -Text " Adobe Reader DC (x64) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClDocuments
$InstallLibreOffice = New-CheckBox -Text " LibreOffice " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAdobeReaderDC
$InstallOnlyOffice = New-CheckBox -Text " ONLYOFFICE DesktopEditors " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallLibreOffice
$InstallPDFCreator = New-CheckBox -Text " PDFCreator (PDF Converter) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallOnlyOffice
$InstallPowerBi = New-CheckBox -Text " Power BI " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPDFCreator
$InstallSumatraPDF = New-CheckBox -Text " Sumatra PDF " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPowerBi
$ClTorrent = New-Label -Text " Torrent " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallSumatraPDF
$InstallqBittorrent = New-CheckBox -Text " qBittorrent " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClTorrent
$ClAcademicResearch = New-Label -Text " Academic Research " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallqBittorrent
$InstallZotero = New-CheckBox -Text " Zotero " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClAcademicResearch
$Cl2fa = New-Label -Text " 2-Factor Authentication " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallZotero
$InstallTwilioAuthy = New-CheckBox -Text " Twilio Authy " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $Cl2fa
$ClBootableUsb = New-Label -Text " Bootable USB " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallTwilioAuthy
$InstallBalenaEtcher = New-CheckBox -Text " Etcher " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClBootableUsb
$InstallRufus = New-CheckBox -Text " Rufus " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallBalenaEtcher
$InstallVentoy = New-CheckBox -Text " Ventoy " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRufus
$ClVirtualMachines = New-Label -Text " Virtual Machines " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallVentoy
$InstallOracleVirtualBox = New-CheckBox -Text " Oracle VM VirtualBox " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClVirtualMachines
$InstallQemu = New-CheckBox -Text " QEMU " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallOracleVirtualBox
$InstallVmWarePlayer = New-CheckBox -Text " VMware Workstation Player " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallQemu
$ClCloudStorage = New-Label -Text " Cloud Storage " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallVmWarePlayer
$InstallDropbox = New-CheckBox -Text " Dropbox " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClCloudStorage
$InstallGoogleDrive = New-CheckBox -Text " Google Drive " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDropbox
$ClUICustomization = New-Label -Text " UI Customization " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallGoogleDrive
$InstallRoundedTB = New-CheckBox -Text " RoundedTB " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClUICustomization
$InstallTranslucentTB = New-CheckBox -Text " TranslucentTB " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRoundedTB
# ==> T2 Panel 2
$InstallSelected = New-Button -Text " Install Selected " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . ButtonHeight -LocationX $LayoutT2 . PanelElementX -LocationY 0 -FontSize $LayoutT2 . Heading [ 3 ] -FontStyle " Bold "
$ClWebBrowsers = New-Label -Text " Web Browsers " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallSelected
$InstallBraveBrowser = New-CheckBox -Text " Brave Browser " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClWebBrowsers
$InstallGoogleChrome = New-CheckBox -Text " Google Chrome " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallBraveBrowser
$InstallMozillaFirefox = New-CheckBox -Text " Mozilla Firefox " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGoogleChrome
$ClAudioVideoTools = New-Label -Text " Audio/Video Tools " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallMozillaFirefox
$InstallAudacity = New-CheckBox -Text " Audacity (Editor) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClAudioVideoTools
$InstallMpcHc = New-CheckBox -Text " MPC-HC (Player) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAudacity
$InstallVlc = New-CheckBox -Text " VLC (Player) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMpcHc
$ClImageTools = New-Label -Text " Image Tools " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallVlc
$InstallGimp = New-CheckBox -Text " GIMP " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClImageTools
$InstallInkscape = New-CheckBox -Text " Inkscape " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGimp
$InstallIrfanView = New-CheckBox -Text " IrfanView " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallInkscape
$InstallKrita = New-CheckBox -Text " Krita " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallIrfanView
$InstallPaintNet = New-CheckBox -Text " Paint.NET " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallKrita
$InstallShareX = New-CheckBox -Text " ShareX (Screenshots/GIFs) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPaintNet
$ClStreamingServices = New-Label -Text " Streaming Services " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallShareX
$InstallAmazonPrimeVideo = New-CheckBox -Text " Amazon Prime Video " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClStreamingServices
$InstallDisneyPlus = New-CheckBox -Text " Disney+ " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAmazonPrimeVideo
$InstallNetflix = New-CheckBox -Text " Netflix " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDisneyPlus
$InstallSpotify = New-CheckBox -Text " Spotify " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNetflix
$ClPlanningProductivity = New-Label -Text " Planning/Productivity " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallSpotify
$InstallNotion = New-CheckBox -Text " Notion " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClPlanningProductivity
$InstallObsidian = New-CheckBox -Text " Obsidian " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNotion
$ClUtilities = New-Label -Text " ⚒ Utilities " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallObsidian
$InstallCpuZ = New-CheckBox -Text " CPU-Z " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClUtilities
$InstallCrystalDiskInfo = New-CheckBox -Text " Crystal Disk Info " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallCpuZ
$InstallCrystalDiskMark = New-CheckBox -Text " Crystal Disk Mark " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallCrystalDiskInfo
$InstallGeekbench6 = New-CheckBox -Text " Geekbench 6 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallCrystalDiskMark
$InstallGpuZ = New-CheckBox -Text " GPU-Z " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGeekbench6
$InstallHwInfo = New-CheckBox -Text " HWiNFO " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGpuZ
$InstallInternetDownloadManager = New-CheckBox -Text " Internet Download Manager (Trial) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallHwInfo
$InstallMsiAfterburner = New-CheckBox -Text " MSI Afterburner " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallInternetDownloadManager
$InstallRtxVoice = New-CheckBox -Text " RTX Voice " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMsiAfterburner
$InstallVoicemod = New-CheckBox -Text " Voicemod " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRtxVoice
$InstallVoiceMeeter = New-CheckBox -Text " Voicemeeter Potato " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallVoicemod
$InstallWizTree = New-CheckBox -Text " WizTree " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallVoiceMeeter
$ClNetworkManagement = New-Label -Text " Network Management " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallWizTree
$InstallHamachi = New-CheckBox -Text " Hamachi (LAN) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClNetworkManagement
$InstallPuTty = New-CheckBox -Text " PuTTY " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallHamachi
$InstallRadminVpn = New-CheckBox -Text " Radmin VPN (LAN) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPuTty
$InstallWinScp = New-CheckBox -Text " WinSCP " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRadminVpn
$InstallWireshark = New-CheckBox -Text " Wireshark " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallWinScp
# ==> T2 Panel 3
$UninstallMode = New-Button -Text " [OFF] Uninstall Mode " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . ButtonHeight -LocationX $LayoutT2 . PanelElementX -LocationY 0 -FontSize $LayoutT2 . Heading [ 3 ] -FontStyle " Bold "
$ClCommunication = New-Label -Text " Communication " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $UninstallMode
$InstallDiscord = New-CheckBox -Text " Discord " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClCommunication
$InstallMSTeams = New-CheckBox -Text " Microsoft Teams " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDiscord
$InstallRocketChat = New-CheckBox -Text " Rocket Chat " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMSTeams
$InstallSignal = New-CheckBox -Text " Signal " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRocketChat
$InstallSkype = New-CheckBox -Text " Skype " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallSignal
$InstallSlack = New-CheckBox -Text " Slack " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallSkype
$InstallTelegramDesktop = New-CheckBox -Text " Telegram Desktop " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallSlack
$InstallWhatsAppDesktop = New-CheckBox -Text " WhatsApp Desktop " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallTelegramDesktop
$InstallZoom = New-CheckBox -Text " Zoom " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallWhatsAppDesktop
$ClGaming = New-Label -Text " Gaming " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallZoom
$InstallBorderlessGaming = New-CheckBox -Text " Borderless Gaming " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClGaming
$InstallEADesktop = New-CheckBox -Text " EA Desktop " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallBorderlessGaming
$InstallEpicGamesLauncher = New-CheckBox -Text " Epic Games Launcher " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallEADesktop
$InstallGogGalaxy = New-CheckBox -Text " GOG Galaxy " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallEpicGamesLauncher
$InstallSteam = New-CheckBox -Text " Steam " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGogGalaxy
$InstallUbisoftConnect = New-CheckBox -Text " Ubisoft Connect " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallSteam
$ClRemoteConnection = New-Label -Text " Remote Connection " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallUbisoftConnect
$InstallAnyDesk = New-CheckBox -Text " AnyDesk " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClRemoteConnection
$InstallParsec = New-CheckBox -Text " Parsec " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAnyDesk
$InstallScrCpy = New-CheckBox -Text " ScrCpy (Android) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallParsec
$InstallTeamViewer = New-CheckBox -Text " Team Viewer " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallScrCpy
$ClRecordingAndStreaming = New-Label -Text " Recording and Streaming " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallTeamViewer
$InstallElgatoStreamDeck = New-CheckBox -Text " Elgato Stream Deck " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClRecordingAndStreaming
$InstallHandBrake = New-CheckBox -Text " HandBrake (Transcode) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallElgatoStreamDeck
$InstallObsStudio = New-CheckBox -Text " OBS Studio " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallHandBrake
$InstallStreamlabs = New-CheckBox -Text " Streamlabs " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallObsStudio
$ClEmulation = New-Label -Text " Emulation " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallStreamlabs
$InstallBSnesHd = New-CheckBox -Text " BSnes HD (SNES) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClEmulation
$InstallCemu = New-CheckBox -Text " Cemu (Wii U) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallBSnesHd
$InstallDolphin = New-CheckBox -Text " Dolphin Stable (GC/Wii) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallCemu
$InstallKegaFusion = New-CheckBox -Text " Kega Fusion (Sega Genesis) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDolphin
$InstallMGba = New-CheckBox -Text " mGBA (GBA) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallKegaFusion
$InstallPPSSPP = New-CheckBox -Text " PPSSPP (PSP) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMGba
$InstallProject64 = New-CheckBox -Text " Project64 Dev (N64) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPPSSPP
$InstallRetroArch = New-CheckBox -Text " RetroArch (All In One) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallProject64
$InstallRyujinx = New-CheckBox -Text " Ryujinx (Switch) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRetroArch
$InstallSnes9x = New-CheckBox -Text " Snes9x (SNES) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRyujinx
# ==> T2 Panel 4
$ClTextEditors = New-Label -Text " Text Editors/IDEs " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -ElementBefore $InstallSelected -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold'
$InstallJetBrainsToolbox = New-CheckBox -Text " JetBrains Toolbox " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClTextEditors
$InstallNotepadPlusPlus = New-CheckBox -Text " Notepad++ " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallJetBrainsToolbox
$InstallVisualStudioCommunity = New-CheckBox -Text " Visual Studio 2022 Community " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNotepadPlusPlus
$InstallVSCode = New-CheckBox -Text " VS Code " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallVisualStudioCommunity
$InstallVSCodium = New-CheckBox -Text " VS Codium " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallVSCode
$ClWsl = New-Label -Text " Windows Subsystem For Linux " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallVSCodium
$InstallWSL = New-CheckBox -Text " Install WSL " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClWsl -ForeColor $Colors . Cyan
$InstallArchWSL = New-CheckBox -Text " ArchWSL (x64) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallWSL -ForeColor $Colors . Cyan
$InstallDebian = New-CheckBox -Text " Debian GNU/Linux " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallArchWSL
$InstallKaliLinux = New-CheckBox -Text " Kali Linux Rolling " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDebian
$InstallOpenSuse = New-CheckBox -Text " Open SUSE 42 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallKaliLinux
$InstallSles = New-CheckBox -Text " SLES v12 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallOpenSuse
$InstallUbuntu = New-CheckBox -Text " Ubuntu " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallSles
$InstallUbuntu16Lts = New-CheckBox -Text " Ubuntu 16.04 LTS " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallUbuntu
$InstallUbuntu18Lts = New-CheckBox -Text " Ubuntu 18.04 LTS " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallUbuntu16Lts
$InstallUbuntu20Lts = New-CheckBox -Text " Ubuntu 20.04 LTS " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallUbuntu18Lts
$ClDevelopment = New-Label -Text " ⌨ Development on Windows " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CaptionLabelHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 2 ] -FontStyle 'Bold' -ElementBefore $InstallUbuntu20Lts
$InstallWindowsTerminal = New-CheckBox -Text " Windows Terminal " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $ClDevelopment
$InstallNerdFonts = New-CheckBox -Text " Install Nerd Fonts " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallWindowsTerminal -ForeColor $Colors . Cyan
$InstallGitGnupgSshSetup = New-CheckBox -Text " Git + GnuPG + SSH (Setup) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNerdFonts -ForeColor $Colors . Cyan
$InstallAdb = New-CheckBox -Text " Android Debug Bridge (ADB) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallGitGnupgSshSetup
$InstallAndroidStudio = New-CheckBox -Text " Android Studio " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAdb
$InstallDockerDesktop = New-CheckBox -Text " Docker Desktop " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallAndroidStudio
$InstallInsomnia = New-CheckBox -Text " Insomnia " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallDockerDesktop
$InstallJavaJdks = New-CheckBox -Text " Java - Adoptium JDK 8/11/18 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallInsomnia
$InstallJavaJre = New-CheckBox -Text " Java - Oracle JRE " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallJavaJdks
$InstallMySql = New-CheckBox -Text " MySQL " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallJavaJre
$InstallNodeJs = New-CheckBox -Text " NodeJS " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallMySql
$InstallNodeJsLts = New-CheckBox -Text " NodeJS LTS " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNodeJs
$InstallPostgreSql = New-CheckBox -Text " PostgreSQL " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallNodeJsLts
$InstallPython3 = New-CheckBox -Text " Python 3 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPostgreSql
$InstallPythonAnaconda3 = New-CheckBox -Text " Python - Anaconda3 " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPython3
$InstallRuby = New-CheckBox -Text " Ruby " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallPythonAnaconda3
$InstallRubyMsys = New-CheckBox -Text " Ruby (MSYS2) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRuby
$InstallRustGnu = New-CheckBox -Text " Rust (GNU) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRubyMsys
$InstallRustMsvc = New-CheckBox -Text " Rust (MSVC) " -Width $LayoutT2 . PanelElementWidth -Height $LayoutT2 . CheckBoxHeight -LocationX $LayoutT2 . PanelElementX -FontSize $LayoutT2 . Heading [ 3 ] -ElementBefore $InstallRustGnu
# Add TabControl to the Form
$Form . Controls . AddRange ( @ ( $FormTabControl ) )
# Tabs
$FormTabControl . Controls . AddRange ( @ ( $TabSystemTweaks , $TabSoftwareInstall ) )
$TabSystemTweaks . Controls . AddRange ( @ ( $TlSystemTweaks , $ClSystemTweaks , $T1Panel1 , $T1Panel2 , $T1Panel3 ) )
$TabSoftwareInstall . Controls . AddRange ( @ ( $TlSoftwareInstall , $ClSoftwareInstall , $T2Panel1 , $T2Panel2 , $T2Panel3 , $T2Panel4 ) )
# Add Elements to each Tab Panel
$T1Panel1 . Controls . AddRange ( @ ( $ClCustomizeFeatures , $CbDarkTheme , $CbActivityHistory , $CbBackgroundsApps , $CbClipboardHistory , $CbClipboardSyncAcrossDevice , $CbCortana , $CbHibernate , $CbOldVolumeControl , $CbOnlineSpeechRecognition , $CbPhoneLink , $CbPhotoViewer , $CbSearchAppForUnknownExt , $CbTelemetry , $CbWSearchService , $CbXboxGameBarDVRandMode ) )
$T1Panel2 . Controls . AddRange ( @ ( $ClDebloatTools , $ApplyTweaks , $UndoTweaks , $RemoveMSEdge , $RemoveOneDrive , $RemoveXbox , $PictureBox1 ) )
$T1Panel2 . Controls . AddRange ( @ ( $ClInstallSystemApps , $InstallCortana , $InstallDolbyAudio , $InstallMicrosoftEdge , $InstallOneDrive , $InstallPaintPaint3D , $InstallTaskbarWidgets , $InstallUWPWMediaPlayer , $InstallPhoneLink , $InstallSoundRecorder , $InstallXbox ) )
$T1Panel2 . Controls . AddRange ( @ ( $ClOtherTools , $RandomizeSystemColor , $ReinstallBloatApps , $RepairWindows , $ShowDebloatInfo ) )
$T1Panel3 . Controls . AddRange ( @ ( $ClWindowsUpdate , $CbAutomaticWindowsUpdate ) )
$T1Panel3 . Controls . AddRange ( @ ( $ClOptionalFeatures , $CbInternetExplorer , $CbPrintToPDFServices , $CbPrintingXPSServices , $CbWindowsMediaPlayer ) )
$T1Panel3 . Controls . AddRange ( @ ( $ClWindowsCapabilities , $CbPowerShellISE ) )
$T1Panel3 . Controls . AddRange ( @ ( $ClMiscFeatures , $CbEncryptedDNS , $CbGodMode , $CbMouseNaturalScroll , $CbTakeOwnership , $CbFastShutdownPCShortcut ) )
$T2Panel1 . Controls . AddRange ( @ ( $UpgradeAll ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClCpuGpuDrivers , $InstallAmdRyzenChipsetDriver , $InstallIntelDSA , $InstallNvidiaGeForceExperience , $InstallNVCleanstall ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClApplicationRequirements , $InstallDirectX , $InstallMsDotNetFramework , $InstallMsVCppX64 , $InstallMsVCppX86 ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClFileCompression , $Install7Zip , $InstallWinRar ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClDocuments , $InstallAdobeReaderDC , $InstallLibreOffice , $InstallOnlyOffice , $InstallPDFCreator , $InstallPowerBi , $InstallSumatraPDF ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClTorrent , $InstallqBittorrent ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClAcademicResearch , $InstallZotero ) )
$T2Panel1 . Controls . AddRange ( @ ( $Cl2fa , $InstallTwilioAuthy ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClBootableUsb , $InstallBalenaEtcher , $InstallRufus , $InstallVentoy ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClVirtualMachines , $InstallOracleVirtualBox , $InstallQemu , $InstallVmWarePlayer ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClCloudStorage , $InstallDropbox , $InstallGoogleDrive ) )
$T2Panel1 . Controls . AddRange ( @ ( $ClUICustomization , $InstallRoundedTB , $InstallTranslucentTB ) )
$T2Panel2 . Controls . AddRange ( @ ( $InstallSelected ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClWebBrowsers , $InstallBraveBrowser , $InstallGoogleChrome , $InstallMozillaFirefox ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClAudioVideoTools , $InstallAudacity , $InstallMpcHc , $InstallVlc ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClImageTools , $InstallGimp , $InstallInkscape , $InstallIrfanView , $InstallKrita , $InstallPaintNet , $InstallShareX ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClStreamingServices , $InstallAmazonPrimeVideo , $InstallDisneyPlus , $InstallNetflix , $InstallSpotify ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClPlanningProductivity , $InstallNotion , $InstallObsidian ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClUtilities , $InstallCpuZ , $InstallCrystalDiskInfo , $InstallCrystalDiskMark , $InstallGeekbench6 , $InstallGpuZ , $InstallHwInfo , $InstallInternetDownloadManager , $InstallMsiAfterburner , $InstallRtxVoice , $InstallVoicemod , $InstallVoiceMeeter , $InstallWizTree ) )
$T2Panel2 . Controls . AddRange ( @ ( $ClNetworkManagement , $InstallHamachi , $InstallPuTty , $InstallRadminVpn , $InstallWinScp , $InstallWireshark ) )
$T2Panel3 . Controls . AddRange ( @ ( $UninstallMode ) )
$T2Panel3 . Controls . AddRange ( @ ( $ClCommunication , $InstallDiscord , $InstallMSTeams , $InstallRocketChat , $InstallSignal , $InstallSkype , $InstallSlack , $InstallTelegramDesktop , $InstallWhatsAppDesktop , $InstallZoom ) )
$T2Panel3 . Controls . AddRange ( @ ( $ClGaming , $InstallBorderlessGaming , $InstallEADesktop , $InstallEpicGamesLauncher , $InstallGogGalaxy , $InstallSteam , $InstallUbisoftConnect ) )
$T2Panel3 . Controls . AddRange ( @ ( $ClRemoteConnection , $InstallAnyDesk , $InstallParsec , $InstallScrCpy , $InstallTeamViewer ) )
$T2Panel3 . Controls . AddRange ( @ ( $ClRecordingAndStreaming , $InstallElgatoStreamDeck , $InstallHandBrake , $InstallObsStudio , $InstallStreamlabs ) )
$T2Panel3 . Controls . AddRange ( @ ( $ClEmulation , $InstallBSnesHd , $InstallCemu , $InstallDolphin , $InstallKegaFusion , $InstallMGba , $InstallPPSSPP , $InstallProject64 , $InstallRetroArch , $InstallRyujinx , $InstallSnes9x ) )
$T2Panel4 . Controls . AddRange ( @ ( $ClTextEditors , $InstallJetBrainsToolbox , $InstallNotepadPlusPlus , $InstallVisualStudioCommunity , $InstallVSCode , $InstallVSCodium ) )
$T2Panel4 . Controls . AddRange ( @ ( $ClWsl , $InstallWSL , $InstallArchWSL , $InstallDebian , $InstallKaliLinux , $InstallOpenSuse , $InstallSles , $InstallUbuntu , $InstallUbuntu16Lts , $InstallUbuntu18Lts , $InstallUbuntu20Lts ) )
$T2Panel4 . Controls . AddRange ( @ ( $ClDevelopment , $InstallWindowsTerminal , $InstallNerdFonts , $InstallGitGnupgSshSetup , $InstallAdb , $InstallAndroidStudio , $InstallDockerDesktop , $InstallInsomnia , $InstallJavaJdks , $InstallJavaJre , $InstallMySql , $InstallNodeJs , $InstallNodeJsLts , $InstallPostgreSql , $InstallPython3 , $InstallPythonAnaconda3 , $InstallRuby , $InstallRubyMsys , $InstallRustGnu , $InstallRustMsvc ) )
# <===== CLICK EVENTS =====>
$ApplyTweaks . Add_Click ( {
Set-RevertStatus -Revert $false
Open-DebloatScript
$PictureBox1 . ImageLocation = " $PSScriptRoot \src\assets\script-image2.png "
$Form . Update ( )
} )
$UndoTweaks . Add_Click ( {
Set-RevertStatus -Revert $true
$Scripts = @ (
" silent-debloat-softwares.ps1 " ,
" optimize-task-scheduler.ps1 " ,
" optimize-services.ps1 " ,
" remove-windows-capabilities.ps1 " ,
" optimize-privacy.ps1 " ,
" optimize-performance.ps1 " ,
" personal-tweaks.ps1 " ,
" optimize-windows-features.ps1 " ,
" reinstall-pre-installed-apps.ps1 "
)
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts $Scripts -DoneTitle $DoneTitle -DoneMessage $DoneMessage
Set-RevertStatus -Revert $false
$PictureBox1 . ImageLocation = " $PSScriptRoot \src\assets\peepo-leaving.gif "
$PictureBox1 . SizeMode = 'StretchImage'
$Form . Update ( )
} )
$RemoveMSEdge . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts @ ( " remove-msedge.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} )
$RemoveOneDrive . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts @ ( " remove-onedrive.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
$PictureBox1 . ImageLocation = " $PSScriptRoot \src\assets\script-image2.png "
$Form . Update ( )
} )
$RemoveXbox . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts @ ( " remove-xbox.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
$PictureBox1 . ImageLocation = " $PSScriptRoot \src\assets\script-image2.png "
$Form . Update ( )
} )
$RepairWindows . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts @ ( " backup-system.ps1 " , " repair-windows.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} )
$InstallCortana . Add_Click ( {
Install-Cortana
} )
$InstallDolbyAudio . Add_Click ( {
Install-DolbyAudio
} )
$InstallMicrosoftEdge . Add_Click ( {
Install-MicrosoftEdge
} )
$InstallOneDrive . Add_Click ( {
Install-OneDrive
} )
$InstallPaintPaint3D . Add_Click ( {
Install-PaintPaint3D
} )
$InstallPhoneLink . Add_Click ( {
Install-PhoneLink
} )
$InstallSoundRecorder . Add_Click ( {
Install-SoundRecorder
} )
$InstallTaskbarWidgets . Add_Click ( {
Install-TaskbarWidgetsApp
} )
$InstallUWPWMediaPlayer . Add_Click ( {
Install-UWPWindowsMediaPlayer
} )
$InstallXbox . Add_Click ( {
Install-Xbox
} )
$RandomizeSystemColor . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " new-system-color.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} )
$ReinstallBloatApps . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts " -Scripts @ ( " reinstall-pre-installed-apps.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} )
$ShowDebloatInfo . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " show-debloat-info.ps1 " ) -NoDialog
} )
$CbAutomaticWindowsUpdate . Add_Click ( {
If ( $CbAutomaticWindowsUpdate . CheckState -eq " Checked " ) {
Enable-AutomaticWindowsUpdate
$CbAutomaticWindowsUpdate . Text = " [ON] Automatic Windows Update * "
} Else {
Disable-AutomaticWindowsUpdate
$CbAutomaticWindowsUpdate . Text = " [OFF] Automatic Windows Update "
}
} )
$CbDarkTheme . Add_Click ( {
If ( $CbDarkTheme . CheckState -eq " Checked " ) {
Enable-DarkTheme
$CbDarkTheme . Text = " [ON] Dark Theme "
} Else {
Disable-DarkTheme
$CbDarkTheme . Text = " [OFF] Dark Theme * "
}
} )
$CbActivityHistory . Add_Click ( {
If ( $CbActivityHistory . CheckState -eq " Checked " ) {
Enable-ActivityHistory
$CbActivityHistory . Text = " [ON] Activity History * "
} Else {
Disable-ActivityHistory
$CbActivityHistory . Text = " [OFF] Activity History "
}
} )
$CbBackgroundsApps . Add_Click ( {
If ( $CbBackgroundsApps . CheckState -eq " Checked " ) {
Enable-BackgroundAppsToogle
$CbBackgroundsApps . Text = " [ON] Background Apps * "
} Else {
Disable-BackgroundAppsToogle
$CbBackgroundsApps . Text = " [OFF] Background Apps "
}
} )
$CbClipboardHistory . Add_Click ( {
If ( $CbClipboardHistory . CheckState -eq " Checked " ) {
Enable-ClipboardHistory
$CbClipboardHistory . Text = " [ON] Clipboard History * "
} Else {
Disable-ClipboardHistory
$CbClipboardHistory . Text = " [OFF] Clipboard History "
}
} )
$CbClipboardSyncAcrossDevice . Add_Click ( {
If ( $CbClipboardSyncAcrossDevice . CheckState -eq " Checked " ) {
Enable-ClipboardSyncAcrossDevice
$CbClipboardSyncAcrossDevice . Text = " [ON] Clipboard Sync Across Devices * "
} Else {
Disable-ClipboardSyncAcrossDevice
$CbClipboardSyncAcrossDevice . Text = " [OFF] Clipboard Sync Across Devices "
}
} )
$CbCortana . Add_Click ( {
If ( $CbCortana . CheckState -eq " Checked " ) {
Enable-Cortana
$CbCortana . Text = " [ON] Cortana * "
} Else {
Disable-Cortana
$CbCortana . Text = " [OFF] Cortana "
}
} )
$CbHibernate . Add_Click ( {
If ( $CbHibernate . CheckState -eq " Checked " ) {
Enable-Hibernate
$CbHibernate . Text = " [ON] Hibernate * "
} Else {
Disable-Hibernate
$CbHibernate . Text = " [OFF] Hibernate "
}
} )
$CbOldVolumeControl . Add_Click ( {
If ( $CbOldVolumeControl . CheckState -eq " Checked " ) {
Enable-OldVolumeControl
$CbOldVolumeControl . Text = " [ON] Old Volume Control "
} Else {
Disable-OldVolumeControl
$CbOldVolumeControl . Text = " [OFF] Old Volume Control * "
}
} )
$CbOnlineSpeechRecognition . Add_Click ( {
If ( $CbOnlineSpeechRecognition . CheckState -eq " Checked " ) {
Enable-OnlineSpeechRecognition
$CbOnlineSpeechRecognition . Text = " [ON] Online Speech Recognition * "
} Else {
Disable-OnlineSpeechRecognition
$CbOnlineSpeechRecognition . Text = " [OFF] Online Speech Recognition "
}
} )
$CbPhoneLink . Add_Click ( {
If ( $CbPhoneLink . CheckState -eq " Checked " ) {
Enable-PhoneLink
$CbPhoneLink . Text = " [ON] Phone Link * "
} Else {
Disable-PhoneLink
$CbPhoneLink . Text = " [OFF] Phone Link "
}
} )
$CbPhotoViewer . Add_Click ( {
If ( $CbPhotoViewer . CheckState -eq " Checked " ) {
Open-RegFilesCollection -RelativeLocation " src\utils " -Scripts @ ( " enable-photo-viewer.reg " ) -NoDialog
$CbPhotoViewer . Text = " [ON] Photo Viewer "
} Else {
Open-RegFilesCollection -RelativeLocation " src\utils " -Scripts @ ( " disable-photo-viewer.reg " ) -NoDialog
$CbPhotoViewer . Text = " [OFF] Photo Viewer * "
}
} )
$CbSearchAppForUnknownExt . Add_Click ( {
If ( $CbSearchAppForUnknownExt . CheckState -eq " Checked " ) {
Enable-SearchAppForUnknownExt
$CbSearchAppForUnknownExt . Text = " [ON] Search App for Unknown Ext. * "
} Else {
Disable-SearchAppForUnknownExt
$CbSearchAppForUnknownExt . Text = " [OFF] Search App for Unknown Ext. "
}
} )
$CbTelemetry . Add_Click ( {
If ( $CbTelemetry . CheckState -eq " Checked " ) {
Enable-Telemetry
$CbTelemetry . Text = " [ON] Telemetry * "
} Else {
Disable-Telemetry
$CbTelemetry . Text = " [OFF] Telemetry "
}
} )
$CbWSearchService . Add_Click ( {
If ( $CbWSearchService . CheckState -eq " Checked " ) {
Enable-WSearchService
$CbWSearchService . Text = " [ON] WSearch Service * "
} Else {
Disable-WSearchService
$CbWSearchService . Text = " [OFF] WSearch Service "
}
} )
$CbXboxGameBarDVRandMode . Add_Click ( {
If ( $CbXboxGameBarDVRandMode . CheckState -eq " Checked " ) {
Enable-XboxGameBarDVRandMode
$CbXboxGameBarDVRandMode . Text = " [ON] Xbox Game Bar/DVR/Mode * "
} Else {
Disable-XboxGameBarDVRandMode
$CbXboxGameBarDVRandMode . Text = " [OFF] Xbox Game Bar/DVR/Mode "
}
} )
$CbInternetExplorer . Add_Click ( {
If ( $CbInternetExplorer . CheckState -eq " Checked " ) {
Enable-InternetExplorer
$CbInternetExplorer . Text = " [ON] Internet Explorer "
} Else {
Disable-InternetExplorer
$CbInternetExplorer . Text = " [OFF] Internet Explorer * "
}
} )
$CbPrintToPDFServices . Add_Click ( {
If ( $CbPrintToPDFServices . CheckState -eq " Checked " ) {
Enable-PrintToPDFServicesToogle
$CbPrintToPDFServices . Text = " [ON] Print To PDF Services * "
} Else {
Disable-PrintToPDFServicesToogle
$CbPrintToPDFServices . Text = " [OFF] Print To PDF Services "
}
} )
$CbPrintingXPSServices . Add_Click ( {
If ( $CbPrintingXPSServices . CheckState -eq " Checked " ) {
Enable-PrintingXPSServicesToogle
$CbPrintingXPSServices . Text = " [ON] Printing XPS Services * "
} Else {
Disable-PrintingXPSServicesToogle
$CbPrintingXPSServices . Text = " [OFF] Printing XPS Services "
}
} )
$CbWindowsMediaPlayer . Add_Click ( {
If ( $CbWindowsMediaPlayer . CheckState -eq " Checked " ) {
Enable-WindowsMediaPlayer
$CbWindowsMediaPlayer . Text = " [ON] Windows Media Player * "
} Else {
Disable-WindowsMediaPlayer
$CbWindowsMediaPlayer . Text = " [OFF] Windows Media Player "
}
} )
$CbPowerShellISE . Add_Click ( {
If ( $CbPowerShellISE . CheckState -eq " Checked " ) {
Enable-PowerShellISE
$CbPowerShellISE . Text = " [ON] PowerShell ISE * "
} Else {
Disable-PowerShellISE
$CbPowerShellISE . Text = " [OFF] PowerShell ISE "
}
} )
$CbEncryptedDNS . Add_Click ( {
If ( $CbEncryptedDNS . CheckState -eq " Checked " ) {
Enable-EncryptedDNS
$CbEncryptedDNS . Text = " [ON] Encrypted DNS "
} Else {
Disable-EncryptedDNS
$CbEncryptedDNS . Text = " [OFF] Encrypted DNS * "
}
} )
$CbGodMode . Add_Click ( {
If ( $CbGodMode . CheckState -eq " Checked " ) {
Enable-GodMode
$CbGodMode . Text = " [ON] God Mode "
} Else {
Disable-GodMode
$CbGodMode . Text = " [OFF] God Mode * "
}
} )
$CbMouseNaturalScroll . Add_Click ( {
If ( $CbMouseNaturalScroll . CheckState -eq " Checked " ) {
Enable-MouseNaturalScroll
$CbMouseNaturalScroll . Text = " [ON] Mouse Natural Scroll "
} Else {
Disable-MouseNaturalScroll
$CbMouseNaturalScroll . Text = " [OFF] Mouse Natural Scroll * "
}
} )
$CbTakeOwnership . Add_Click ( {
If ( $CbTakeOwnership . CheckState -eq " Checked " ) {
Open-RegFilesCollection -RelativeLocation " src\utils " -Scripts @ ( " enable-take-ownership-context-menu.reg " ) -NoDialog
$CbTakeOwnership . Text = " [ON] Take Ownership menu "
} Else {
Open-RegFilesCollection -RelativeLocation " src\utils " -Scripts @ ( " disable-take-ownership-context-menu.reg " ) -NoDialog
$CbTakeOwnership . Text = " [OFF] Take Ownership... * "
}
} )
$CbFastShutdownPCShortcut . Add_Click ( {
If ( $CbFastShutdownPCShortcut . CheckState -eq " Checked " ) {
Enable-FastShutdownShortcut
$CbFastShutdownPCShortcut . Text = " [ON] Fast Shutdown shortcut "
} Else {
Disable-FastShutdownShortcut
$CbFastShutdownPCShortcut . Text = " [OFF] Fast Shutdown shortcut * "
}
} )
$UpgradeAll . Add_Click ( {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " update-all-packages.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} )
$InstallSelected . Add_Click ( {
$AppsSelected = @ {
WingetApps = [ System.Collections.ArrayList ] @ ( )
MSStoreApps = [ System.Collections.ArrayList ] @ ( )
ChocolateyApps = [ System.Collections.ArrayList ] @ ( )
WSLDistros = [ System.Collections.ArrayList ] @ ( )
}
$SoftwareList = " "
If ( $InstallAmdRyzenChipsetDriver . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " amd-ryzen-chipset " )
$InstallAmdRyzenChipsetDriver . CheckState = " Unchecked "
}
If ( $InstallIntelDSA . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Intel.IntelDriverAndSupportAssistant " )
$InstallIntelDSA . CheckState = " Unchecked "
}
If ( $InstallNvidiaGeForceExperience . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Nvidia.GeForceExperience " )
$InstallNvidiaGeForceExperience . CheckState = " Unchecked "
}
If ( $InstallNVCleanstall . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " TechPowerUp.NVCleanstall " )
$InstallNVCleanstall . CheckState = " Unchecked "
}
If ( $InstallDirectX . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " directx " )
$InstallDirectX . CheckState = " Unchecked "
}
If ( $InstallMsDotNetFramework . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.DotNet.Framework.DeveloperPack_4 " )
$InstallMsDotNetFramework . CheckState = " Unchecked "
}
If ( $InstallMsVCppX64 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . AddRange (
@ (
" Microsoft.VCRedist.2005.x64 " , " Microsoft.VCRedist.2008.x64 " , " Microsoft.VCRedist.2010.x64 " ,
" Microsoft.VCRedist.2012.x64 " , " Microsoft.VCRedist.2013.x64 " , " Microsoft.VCRedist.2015+.x64 "
)
)
$InstallMsVCppX64 . CheckState = " Unchecked "
}
If ( $InstallMsVCppX86 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . AddRange (
@ (
" Microsoft.VCRedist.2005.x86 " , " Microsoft.VCRedist.2008.x86 " , " Microsoft.VCRedist.2010.x86 " ,
" Microsoft.VCRedist.2012.x86 " , " Microsoft.VCRedist.2013.x86 " , " Microsoft.VCRedist.2015+.x86 "
)
)
$InstallMsVCppX86 . CheckState = " Unchecked "
}
If ( $Install7Zip . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " 7zip.7zip " )
$Install7Zip . CheckState = " Unchecked "
}
If ( $InstallWinRar . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " RARLab.WinRAR " )
$InstallWinRar . CheckState = " Unchecked "
}
If ( $InstallAdobeReaderDC . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Adobe.Acrobat.Reader.64-bit " )
$InstallAdobeReaderDC . CheckState = " Unchecked "
}
If ( $InstallLibreOffice . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " TheDocumentFoundation.LibreOffice " )
$InstallLibreOffice . CheckState = " Unchecked "
}
If ( $InstallOnlyOffice . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " ONLYOFFICE.DesktopEditors " )
$InstallOnlyOffice . CheckState = " Unchecked "
}
If ( $InstallSumatraPDF . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " SumatraPDF.SumatraPDF " )
$InstallSumatraPDF . CheckState = " Unchecked "
}
If ( $InstallPDFCreator . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " PDFCreator " )
$InstallPDFCreator . CheckState = " Unchecked "
}
If ( $InstallPowerBi . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.PowerBI " )
$InstallPowerBi . CheckState = " Unchecked "
}
If ( $InstallqBittorrent . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " qBittorrent.qBittorrent " )
$InstallqBittorrent . CheckState = " Unchecked "
}
If ( $InstallZotero . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Zotero.Zotero " )
$InstallZotero . CheckState = " Unchecked "
}
If ( $InstallTwilioAuthy . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Twilio.Authy " )
$InstallTwilioAuthy . CheckState = " Unchecked "
}
If ( $InstallBalenaEtcher . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Balena.Etcher " )
$InstallBalenaEtcher . CheckState = " Unchecked "
}
If ( $InstallRufus . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9PC3H3V7Q9CH " )
$InstallRufus . CheckState = " Unchecked "
}
If ( $InstallVentoy . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " ventoy " )
$InstallVentoy . CheckState = " Unchecked "
}
If ( $InstallOracleVirtualBox . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Oracle.VirtualBox " )
$InstallOracleVirtualBox . CheckState = " Unchecked "
}
If ( $InstallQemu . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " SoftwareFreedomConservancy.QEMU " )
$InstallQemu . CheckState = " Unchecked "
}
If ( $InstallVmWarePlayer . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " VMware.WorkstationPlayer " )
$InstallVmWarePlayer . CheckState = " Unchecked "
}
If ( $InstallDropbox . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Dropbox.Dropbox " )
$InstallDropbox . CheckState = " Unchecked "
}
If ( $InstallRoundedTB . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9MTFTXSJ9M7F " )
$InstallRoundedTB . CheckState = " Unchecked "
}
If ( $InstallTranslucentTB . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9PF4KZ2VN4W9 " )
$InstallTranslucentTB . CheckState = " Unchecked "
}
If ( $InstallGoogleDrive . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Google.Drive " )
$InstallGoogleDrive . CheckState = " Unchecked "
}
If ( $InstallBraveBrowser . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Brave.Brave " )
$InstallBraveBrowser . CheckState = " Unchecked "
}
If ( $InstallGoogleChrome . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Google.Chrome " )
$InstallGoogleChrome . CheckState = " Unchecked "
}
If ( $InstallMozillaFirefox . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Mozilla.Firefox " )
$InstallMozillaFirefox . CheckState = " Unchecked "
}
If ( $InstallAudacity . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Audacity.Audacity " )
$InstallAudacity . CheckState = " Unchecked "
}
If ( $InstallMpcHc . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " clsid2.mpc-hc " )
$InstallMpcHc . CheckState = " Unchecked "
}
If ( $InstallVlc . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " VideoLAN.VLC " )
$InstallVlc . CheckState = " Unchecked "
}
If ( $InstallGimp . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " GIMP.GIMP " )
$InstallGimp . CheckState = " Unchecked "
}
If ( $InstallInkscape . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Inkscape.Inkscape " )
$InstallInkscape . CheckState = " Unchecked "
}
If ( $InstallIrfanView . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " IrfanSkiljan.IrfanView " )
$InstallIrfanView . CheckState = " Unchecked "
}
If ( $InstallKrita . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " KDE.Krita " )
$InstallKrita . CheckState = " Unchecked "
}
If ( $InstallPaintNet . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " paint.net " )
$InstallPaintNet . CheckState = " Unchecked "
}
If ( $InstallShareX . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " ShareX.ShareX " )
$InstallShareX . CheckState = " Unchecked "
}
If ( $InstallAmazonPrimeVideo . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9P6RC76MSMMJ " )
$InstallAmazonPrimeVideo . CheckState = " Unchecked "
}
If ( $InstallDisneyPlus . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9NXQXXLFST89 " )
$InstallDisneyPlus . CheckState = " Unchecked "
}
If ( $InstallNetflix . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9WZDNCRFJ3TJ " )
$InstallNetflix . CheckState = " Unchecked "
}
If ( $InstallSpotify . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9NCBCSZSJRSB " )
$InstallSpotify . CheckState = " Unchecked "
}
If ( $InstallNotion . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Notion.Notion " )
$InstallNotion . CheckState = " Unchecked "
}
If ( $InstallObsidian . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Obsidian.Obsidian " )
$InstallObsidian . CheckState = " Unchecked "
}
If ( $InstallCpuZ . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " CPUID.CPU-Z " )
$InstallCpuZ . CheckState = " Unchecked "
}
If ( $InstallCrystalDiskInfo . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " CrystalDewWorld.CrystalDiskInfo " )
$InstallCrystalDiskInfo . CheckState = " Unchecked "
}
If ( $InstallCrystalDiskMark . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " CrystalDewWorld.CrystalDiskMark " )
$InstallCrystalDiskMark . CheckState = " Unchecked "
}
If ( $InstallGeekbench6 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " PrimateLabs.Geekbench.6 " )
$InstallGeekbench6 . CheckState = " Unchecked "
}
If ( $InstallGpuZ . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " TechPowerUp.GPU-Z " )
$InstallGpuZ . CheckState = " Unchecked "
}
If ( $InstallHwInfo . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " REALiX.HWiNFO " )
$InstallHwInfo . CheckState = " Unchecked "
}
If ( $InstallInternetDownloadManager . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Tonec.InternetDownloadManager " )
$InstallInternetDownloadManager . CheckState = " Unchecked "
}
If ( $InstallMsiAfterburner . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " msiafterburner " )
$InstallMsiAfterburner . CheckState = " Unchecked "
}
If ( $InstallRtxVoice . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Nvidia.RTXVoice " )
$InstallRtxVoice . CheckState = " Unchecked "
}
If ( $InstallVoicemod . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Voicemod.Voicemod " )
$InstallVoicemod . CheckState = " Unchecked "
}
If ( $InstallVoiceMeeter . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " VB-Audio.Voicemeeter.Potato " )
$InstallVoiceMeeter . CheckState = " Unchecked "
}
If ( $InstallWizTree . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " AntibodySoftware.WizTree " )
$InstallWizTree . CheckState = " Unchecked "
}
If ( $InstallHamachi . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " LogMeIn.Hamachi " )
$InstallHamachi . CheckState = " Unchecked "
}
If ( $InstallPuTty . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " PuTTY.PuTTY " )
$InstallPuTty . CheckState = " Unchecked "
}
If ( $InstallRadminVpn . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Radmin.VPN " )
$InstallRadminVpn . CheckState = " Unchecked "
}
If ( $InstallWinScp . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " WinSCP.WinSCP " )
$InstallWinScp . CheckState = " Unchecked "
}
If ( $InstallWireshark . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " WiresharkFoundation.Wireshark " )
$InstallWireshark . CheckState = " Unchecked "
}
If ( $InstallDiscord . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Discord.Discord " )
$InstallDiscord . CheckState = " Unchecked "
}
If ( $InstallMSTeams . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.Teams " )
$InstallMSTeams . CheckState = " Unchecked "
}
If ( $InstallRocketChat . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " RocketChat.RocketChat " )
$InstallRocketChat . CheckState = " Unchecked "
}
If ( $InstallSignal . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " OpenWhisperSystems.Signal " )
$InstallSignal . CheckState = " Unchecked "
}
If ( $InstallSkype . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.Skype " )
$InstallSkype . CheckState = " Unchecked "
}
If ( $InstallSlack . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " SlackTechnologies.Slack " )
$InstallSlack . CheckState = " Unchecked "
}
If ( $InstallTelegramDesktop . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Telegram.TelegramDesktop " )
$InstallTelegramDesktop . CheckState = " Unchecked "
}
If ( $InstallWhatsAppDesktop . CheckState -eq " Checked " ) {
$AppsSelected . MSStoreApps . Add ( " 9NKSQGP7F2NH " )
$InstallWhatsAppDesktop . CheckState = " Unchecked "
}
If ( $InstallZoom . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Zoom.Zoom " )
$InstallZoom . CheckState = " Unchecked "
}
If ( $InstallBorderlessGaming . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Codeusa.BorderlessGaming " )
$InstallBorderlessGaming . CheckState = " Unchecked "
}
If ( $InstallEADesktop . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " ElectronicArts.EADesktop " )
$InstallEADesktop . CheckState = " Unchecked "
}
If ( $InstallEpicGamesLauncher . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " EpicGames.EpicGamesLauncher " )
$InstallEpicGamesLauncher . CheckState = " Unchecked "
}
If ( $InstallGogGalaxy . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " GOG.Galaxy " )
$InstallGogGalaxy . CheckState = " Unchecked "
}
If ( $InstallSteam . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Valve.Steam " )
$InstallSteam . CheckState = " Unchecked "
}
If ( $InstallUbisoftConnect . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Ubisoft.Connect " )
$InstallUbisoftConnect . CheckState = " Unchecked "
}
If ( $InstallAnyDesk . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " AnyDeskSoftwareGmbH.AnyDesk " )
$InstallAnyDesk . CheckState = " Unchecked "
}
If ( $InstallParsec . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Parsec.Parsec " )
$InstallParsec . CheckState = " Unchecked "
}
If ( $InstallScrCpy . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " scrcpy " )
$InstallScrCpy . CheckState = " Unchecked "
}
If ( $InstallTeamViewer . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " TeamViewer.TeamViewer " )
$InstallTeamViewer . CheckState = " Unchecked "
}
If ( $InstallElgatoStreamDeck . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Elgato.StreamDeck " )
$InstallElgatoStreamDeck . CheckState = " Unchecked "
}
If ( $InstallHandBrake . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " HandBrake.HandBrake " )
$InstallHandBrake . CheckState = " Unchecked "
}
If ( $InstallObsStudio . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " OBSProject.OBSStudio " )
$InstallObsStudio . CheckState = " Unchecked "
}
If ( $InstallStreamlabs . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Streamlabs.Streamlabs " )
$InstallStreamlabs . CheckState = " Unchecked "
}
If ( $InstallBSnesHd . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " bsnes-hd " )
$InstallBSnesHd . CheckState = " Unchecked "
}
If ( $InstallCemu . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " cemu " )
$InstallCemu . CheckState = " Unchecked "
}
If ( $InstallDolphin . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " DolphinEmulator.Dolphin " )
$InstallDolphin . CheckState = " Unchecked "
}
If ( $InstallKegaFusion . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " kega-fusion " )
$InstallKegaFusion . CheckState = " Unchecked "
}
If ( $InstallMGba . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " JeffreyPfau.mGBA " )
$InstallMGba . CheckState = " Unchecked "
}
If ( $InstallPPSSPP . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " PPSSPPTeam.PPSSPP " )
$InstallPPSSPP . CheckState = " Unchecked "
}
If ( $InstallProject64 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Project64.Project64.Dev " )
$InstallProject64 . CheckState = " Unchecked "
}
If ( $InstallRetroArch . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Libretro.RetroArch " )
$InstallRetroArch . CheckState = " Unchecked "
}
If ( $InstallRyujinx . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " ryujinx " )
$InstallRyujinx . CheckState = " Unchecked "
}
If ( $InstallSnes9x . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " snes9x " )
$InstallSnes9x . CheckState = " Unchecked "
}
If ( $InstallJetBrainsToolbox . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " JetBrains.Toolbox " )
$InstallJetBrainsToolbox . CheckState = " Unchecked "
}
If ( $InstallNotepadPlusPlus . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Notepad++.Notepad++ " )
$InstallNotepadPlusPlus . CheckState = " Unchecked "
}
If ( $InstallVisualStudioCommunity . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.VisualStudio.2022.Community " )
$InstallVisualStudioCommunity . CheckState = " Unchecked "
}
If ( $InstallVSCode . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.VisualStudioCode " )
$InstallVSCode . CheckState = " Unchecked "
}
If ( $InstallVSCodium . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " VSCodium.VSCodium " )
$InstallVSCodium . CheckState = " Unchecked "
}
If ( $InstallWSL . CheckState -eq " Checked " ) {
If ( ! ( $Script:UninstallSwitch ) ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " install-wsl.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} Else {
$AppsSelected . MSStoreApps . Add ( " 9P9TQF7MRM4R " )
}
$InstallWSL . CheckState = " Unchecked "
}
If ( $InstallArchWSL . CheckState -eq " Checked " ) {
If ( ! ( $Script:UninstallSwitch ) ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " install-archwsl.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} Else {
$AppsSelected . WSLDistros . Add ( " Arch " )
}
$InstallArchWSL . CheckState = " Unchecked "
}
If ( $InstallDebian . CheckState -eq " Checked " ) {
If ( ! ( $Script:UninstallSwitch ) ) {
$AppsSelected . WSLDistros . Add ( " Debian " )
}
$InstallDebian . CheckState = " Unchecked "
}
If ( $InstallKaliLinux . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " kali-linux " )
$InstallKaliLinux . CheckState = " Unchecked "
}
If ( $InstallOpenSuse . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " openSUSE-42 " )
$InstallOpenSuse . CheckState = " Unchecked "
}
If ( $InstallSles . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " SLES-12 " )
$InstallSles . CheckState = " Unchecked "
}
If ( $InstallUbuntu . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " Ubuntu " )
$InstallUbuntu . CheckState = " Unchecked "
}
If ( $InstallUbuntu16Lts . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " Ubuntu-16.04 " )
$InstallUbuntu16Lts . CheckState = " Unchecked "
}
If ( $InstallUbuntu18Lts . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " Ubuntu-18.04 " )
$InstallUbuntu18Lts . CheckState = " Unchecked "
}
If ( $InstallUbuntu20Lts . CheckState -eq " Checked " ) {
$AppsSelected . WSLDistros . Add ( " Ubuntu-20.04 " )
$InstallUbuntu20Lts . CheckState = " Unchecked "
}
If ( $InstallWindowsTerminal . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Microsoft.WindowsTerminal " )
$InstallWindowsTerminal . CheckState = " Unchecked "
}
If ( $InstallNerdFonts . CheckState -eq " Checked " ) {
If ( ! ( $Script:UninstallSwitch ) ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " install-nerd-fonts.ps1 " )
}
$InstallNerdFonts . CheckState = " Unchecked "
}
If ( $InstallGitGnupgSshSetup . CheckState -eq " Checked " ) {
If ( ! ( $Script:UninstallSwitch ) ) {
Open-PowerShellFilesCollection -RelativeLocation " src\scripts\other-scripts " -Scripts @ ( " git-gnupg-ssh-keys-setup.ps1 " ) -DoneTitle $DoneTitle -DoneMessage $DoneMessage
} Else {
$AppsSelected . WingetApps . AddRange ( @ ( " Git.Git " , " GnuPG.GnuPG " ) ) # Installed before inside the script
}
$InstallGitGnupgSshSetup . CheckState = " Unchecked "
}
If ( $InstallAdb . CheckState -eq " Checked " ) {
$AppsSelected . ChocolateyApps . Add ( " adb " )
$InstallAdb . CheckState = " Unchecked "
}
If ( $InstallAndroidStudio . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Google.AndroidStudio " )
$InstallAndroidStudio . CheckState = " Unchecked "
}
If ( $InstallDockerDesktop . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Docker.DockerDesktop " )
$InstallDockerDesktop . CheckState = " Unchecked "
}
If ( $InstallInsomnia . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Insomnia.Insomnia " )
$InstallInsomnia . CheckState = " Unchecked "
}
If ( $InstallJavaJdks . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . AddRange ( @ ( " EclipseAdoptium.Temurin.8 " , " EclipseAdoptium.Temurin.11 " , " EclipseAdoptium.Temurin.18 " ) )
$InstallJavaJdks . CheckState = " Unchecked "
}
If ( $InstallJavaJre . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Oracle.JavaRuntimeEnvironment " )
$InstallJavaJre . CheckState = " Unchecked "
}
If ( $InstallMySql . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Oracle.MySQL " )
$InstallMySql . CheckState = " Unchecked "
}
If ( $InstallNodeJs . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " OpenJS.NodeJS " )
$InstallNodeJs . CheckState = " Unchecked "
}
If ( $InstallNodeJsLts . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " OpenJS.NodeJS.LTS " )
$InstallNodeJsLts . CheckState = " Unchecked "
}
If ( $InstallPostgreSql . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " PostgreSQL.PostgreSQL " )
$InstallPostgreSql . CheckState = " Unchecked "
}
If ( $InstallPython3 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Python.Python.3 " )
$InstallPython3 . CheckState = " Unchecked "
}
If ( $InstallPythonAnaconda3 . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Anaconda.Anaconda3 " )
$InstallPythonAnaconda3 . CheckState = " Unchecked "
}
If ( $InstallRuby . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " RubyInstallerTeam.Ruby " )
$InstallRuby . CheckState = " Unchecked "
}
If ( $InstallRubyMsys . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " RubyInstallerTeam.RubyWithDevKit " )
$InstallRubyMsys . CheckState = " Unchecked "
}
If ( $InstallRustGnu . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Rustlang.Rust.GNU " )
$InstallRustGnu . CheckState = " Unchecked "
}
If ( $InstallRustMsvc . CheckState -eq " Checked " ) {
$AppsSelected . WingetApps . Add ( " Rustlang.Rust.MSVC " )
$InstallRustMsvc . CheckState = " Unchecked "
}
If ( ! ( $Script:UninstallSwitch ) ) {
If ( $AppsSelected . WingetApps ) {
$SoftwareList + = Install-Software -Name " Apps from selection " -Packages $AppsSelected . WingetApps -NoDialog
}
If ( $AppsSelected . MSStoreApps ) {
$SoftwareList + = " `n " + ( Install-Software -Name " Apps from selection " -Packages $AppsSelected . MSStoreApps -PackageProvider 'MsStore' -NoDialog )
}
If ( $AppsSelected . ChocolateyApps ) {
$SoftwareList + = " `n " + ( Install-Software -Name " Apps from selection " -Packages $AppsSelected . ChocolateyApps -PackageProvider 'Chocolatey' -NoDialog )
}
If ( $AppsSelected . WSLDistros ) {
$SoftwareList + = " `n " + ( Install-Software -Name " Apps from selection " -Packages $AppsSelected . WSLDistros -PackageProvider 'WSL' -NoDialog )
}
} Else {
If ( $AppsSelected . WingetApps ) {
$SoftwareList + = Uninstall-Software -Name " Apps from selection " -Packages $AppsSelected . WingetApps -NoDialog
}
If ( $AppsSelected . MSStoreApps ) {
$SoftwareList + = " `n " + ( Uninstall-Software -Name " Apps from selection " -Packages $AppsSelected . MSStoreApps -PackageProvider 'MsStore' -NoDialog )
}
If ( $AppsSelected . ChocolateyApps ) {
$SoftwareList + = " `n " + ( Uninstall-Software -Name " Apps from selection " -Packages $AppsSelected . ChocolateyApps -PackageProvider 'Chocolatey' -NoDialog )
}
If ( $AppsSelected . WSLDistros ) {
$SoftwareList + = " `n " + ( Uninstall-Software -Name " Apps from selection " -Packages $AppsSelected . WSLDistros -PackageProvider 'WSL' -NoDialog )
}
}
If ( ( $AppsSelected . WingetApps . Count -ge 1 ) -or ( $AppsSelected . MSStoreApps . Count -ge 1 ) -or ( $AppsSelected . ChocolateyApps . Count -ge 1 ) -or ( $AppsSelected . WSLDistros . Count -ge 1 ) ) {
Show-MessageDialog -Title " $DoneTitle " -Message " $SoftwareList "
}
$SoftwareList = " "
} )
$UninstallMode . Add_Click ( {
If ( $UninstallSwitch ) {
$Script:UninstallSwitch = $false
$InstallSelected . Text = " Install Selected "
$UninstallMode . Text = " [OFF] Uninstall Mode "
$UninstallMode . ForeColor = $Colors . White
} Else {
$Script:UninstallSwitch = $true
$InstallSelected . Text = " Uninstall Selected "
$UninstallMode . Text = " [ON] Uninstall Mode "
$UninstallMode . ForeColor = $Colors . WarningYellow
}
} )
[ void ] $Form . ShowDialog ( ) # Show the Window
$Form . Dispose ( ) # When done, dispose of the GUI
}
If ( $args ) {
Main -Mode $args [ 0 ]
} Else {
Main
}