Skip to content

Commit

Permalink
undo programwinget function rework
Browse files Browse the repository at this point in the history
  • Loading branch information
MyDrift-user committed Jul 15, 2024
1 parent 02abaea commit d21418e
Showing 1 changed file with 37 additions and 48 deletions.
85 changes: 37 additions & 48 deletions functions/private/Install-WinUtilProgramWinget.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -40,58 +40,47 @@ Function Install-WinUtilProgramWinget {
# This is up to the individual package maintainers to enable these options. Aka. not as clean as Linux Package Managers.
Write-Host "Starting install of $($Program.winget) with winget."
try {
$status = (Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru -NoNewWindow).ExitCode
switch ($status) {
0 {
Write-Host "$($Program.winget) installed successfully."
continue
}
-1978335189 {
Write-Host "$($Program.winget) No applicable update found"
continue
}
default {
Write-Host "Attempt with User scope"
$status = (Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru -NoNewWindow).ExitCode
switch ($status) {
0 {
Write-Host "$($Program.winget) installed successfully with User scope."
continue
}
-1978335189 {
Write-Host "$($Program.winget) No applicable update found"
continue
}
default {
Write-Host "Attempt with User prompt"
$userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $($Program.winget) installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
if ($userChoice -eq 'Yes') {
$getcreds = Get-Credential
$process = Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru -NoNewWindow
Wait-Process -Id $process.Id
$status = $process.ExitCode
switch ($status) {
0 {
Write-Host "$($Program.winget) installed successfully with User prompt."
continue
}
-1978335189 {
Write-Host "$($Program.winget) No applicable update found"
continue
}
}
} else {
Write-Host "Skipping installation with specific user credentials."
}
}
}
}
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru -NoNewWindow).ExitCode
if($status -eq 0) {
Write-Host "$($Program.winget) installed successfully."
continue
}
if ($status -eq -1978335189) {
Write-Host "$($Program.winget) No applicable update found"
continue
}
Write-Host "Attempt with User scope"
$status = $(Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --scope user --silent --accept-source-agreements --accept-package-agreements" -Wait -PassThru -NoNewWindow).ExitCode
if($status -eq 0) {
Write-Host "$($Program.winget) installed successfully with User scope."
continue
}
if ($status -eq -1978335189) {
Write-Host "$($Program.winget) No applicable update found"
continue
}
Write-Host "Attempt with User prompt"
$userChoice = [System.Windows.MessageBox]::Show("Do you want to attempt $($Program.winget) installation with specific user credentials? Select 'Yes' to proceed or 'No' to skip.", "User Credential Prompt", [System.Windows.MessageBoxButton]::YesNo)
if ($userChoice -eq 'Yes') {
$getcreds = Get-Credential
$process = Start-Process -FilePath "winget" -ArgumentList "install --id $($Program.winget) --silent --accept-source-agreements --accept-package-agreements" -Credential $getcreds -PassThru -NoNewWindow
Wait-Process -Id $process.Id
$status = $process.ExitCode
} else {
Write-Host "Skipping installation with specific user credentials."
}
if($status -eq 0) {
Write-Host "$($Program.winget) installed successfully with User prompt."
continue
}
if ($status -eq -1978335189) {
Write-Host "$($Program.winget) No applicable update found"
continue
}
} catch {
Write-Host "Failed to install $($Program.winget) with winget"
Write-Host "Failed to install $($Program.winget). With winget"
$failedPackages += $Program
}

}
elseif($manage -eq "Uninstalling") {
# Uninstall package via ID using winget directly.
Expand Down

0 comments on commit d21418e

Please sign in to comment.