moving shit around
This commit is contained in:
107
old/OLD_Install-WinGet.ps1
Normal file
107
old/OLD_Install-WinGet.ps1
Normal file
@@ -0,0 +1,107 @@
|
||||
# Script to install winget.
|
||||
# Technolog Networks, 2024-07-26
|
||||
# iRaven
|
||||
|
||||
# Updated 2025-04-03 to get the legitimate install method MS recommends to use here.
|
||||
# https://learn.microsoft.com/en-us/windows/iot/iot-enterprise/deployment/install-winget-windows-iot
|
||||
|
||||
Start-Transcript -Path "c:\irnh\Install-WinGet.log" -Append
|
||||
|
||||
# See if the shit we need exists.
|
||||
Function Check-WinGet-Install {
|
||||
try {
|
||||
winget --version
|
||||
Write-Host "WinGet already exists!"
|
||||
return $true
|
||||
}
|
||||
catch {
|
||||
Write-Host "WinGet does not exist!"
|
||||
return $false
|
||||
}
|
||||
}
|
||||
|
||||
Function Check-VCLibs {
|
||||
if ((Get-AppxPackage).Name -like "Microsoft.VCLibs.140.00.UWPDesktop" ) {return $true} else {return $false}
|
||||
}
|
||||
|
||||
Function Check-MSXaml {
|
||||
if ((Get-AppxPackage).Name -like "Microsoft.UI.Xaml*" ) {return $true} else {return $false}
|
||||
}
|
||||
|
||||
Function Install-VCLibs {
|
||||
if (Check-VCLibs) {
|
||||
Write-Output "VCLibs.UWPDesktop is already installed."
|
||||
} else {
|
||||
cmd.exe /c "curl -L -o c:\irnh\vclibs.14.00.Desktop.appx https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
|
||||
try {
|
||||
Add-AppxPackage -Path "c:\irnh\vclibs.14.00.Desktop.appx"
|
||||
# Add-AppxProvisionedPackage -Online -PackagePath "c:\irnh\vclibs.14.00.Desktop.appx" -SkipLicense
|
||||
Write-Output "VCLibs.UWPDesktop was installed."
|
||||
} catch {
|
||||
Write-Output "VCLibs.UWPDesktop could not be installed."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Function Install-MSXaml {
|
||||
if (Check-MSXaml) {
|
||||
Write-Output "Microsoft.UI.Xaml is already installed."
|
||||
} else {
|
||||
cmd.exe /c "curl -L -o c:\irnh\msuixaml.zip https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml"
|
||||
try {
|
||||
Expand-Archive c:\irnh\msuixaml.zip
|
||||
Add-AppPackage .\msuixaml\tools\AppX\x64\Release\*.appx
|
||||
Write-Output "Microsoft.UI.Xaml was installed."
|
||||
} catch {
|
||||
Write-Output "Microsoft.UI.Xaml could not be installed."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Function Install-WinGet {
|
||||
Write-Host "Checking latest version..."
|
||||
$WGLatestVer = (irm https://api.github.com/repos/microsoft/winget-cli/releases/latest).tag_name
|
||||
$WGDomainVer = type "\\technolog.net\SYSVOL\technolog.net\SoftwareDeploy\wingetlatestver.txt"
|
||||
if ($WGDomainVer -eq $WGLatestVer) {
|
||||
# If the version we have on our domain controllers is the latest, proceed with the offline copy.
|
||||
Write-Output "Domain Controllers has the latest version $WGDomainVer; using that."
|
||||
try {
|
||||
Add-AppxPackage -Path "\\technolog.net\SYSVOL\technolog.net\SoftwareDeploy\winget.msixbundle"
|
||||
Add-AppxProvisionedPackage -Online -PackagePath "\\technolog.net\SYSVOL\technolog.net\SoftwareDeploy\winget.msixbundle" -LicensePath "\\technolog.net\SYSVOL\technolog.net\SoftwareDeploy\wingetlic.xml" -Verbose
|
||||
Write-Output "WinGet was successfully installed."
|
||||
} catch {
|
||||
Write-Output "WinGet could not be installed."
|
||||
}
|
||||
}
|
||||
else {
|
||||
# If the version we have on our domain controllers is NOT the latest, we have to get it online.
|
||||
Write-Host "Internet has the latest copy; downloading WinGet from Microsoft."
|
||||
# download latest files
|
||||
foreach ($url in (irm https://api.github.com/repos/microsoft/winget-cli/releases/latest).assets.browser_download_url){
|
||||
if ($url -like "*.xml")
|
||||
{cmd.exe /c "curl -L -o c:\irnh\wingetlic.xml $url"} # I hate IWR. lol
|
||||
if ($url -like "*.msixbundle")
|
||||
{cmd.exe /c "curl -L -o c:\irnh\winget.msixbundle $url"} # I hate IWR. lol
|
||||
}
|
||||
try {
|
||||
# Add-AppxPackage -Path "c:\irnh\winget.msixbundle"
|
||||
Add-AppxPackage -Path "c:\irnh\winget.msixbundle" -Verbose
|
||||
Add-AppxProvisionedPackage -Online -PackagePath "c:\irnh\winget.msixbundle" -LicensePath "c:\irnh\wingetlic.xml" -Verbose
|
||||
$winget = winget -v
|
||||
if ($winget) {
|
||||
Write-Output "WinGet was successfully installed."
|
||||
}
|
||||
} catch {
|
||||
Write-Output "WinGet could not be installed."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Main script
|
||||
|
||||
if (!(Check-WinGet-Install)) {
|
||||
Install-VCLibs
|
||||
Install-MSXaml
|
||||
Install-WinGet
|
||||
}
|
||||
Stop-Transcript
|
Reference in New Issue
Block a user