Initial commit
This commit is contained in:
103
scripts/powershell/install-apps-fixed.ps1
Normal file
103
scripts/powershell/install-apps-fixed.ps1
Normal file
@@ -0,0 +1,103 @@
|
||||
[Console]::OutputEncoding = [Text.Encoding]::UTF8
|
||||
$ErrorActionPreference = 'Continue'
|
||||
|
||||
Write-Host "[*] Installing applications using winget (fixed sources)"
|
||||
Write-Host ""
|
||||
|
||||
# Applications to install with explicit winget source
|
||||
$apps = @(
|
||||
@{Name="Google Chrome"; Id="Google.Chrome"},
|
||||
@{Name="7-Zip"; Id="7zip.7zip"},
|
||||
@{Name="AnyDesk"; Id="AnyDeskSoftwareGmbH.AnyDesk"},
|
||||
@{Name="LINE"; Id="LINE.LINE"},
|
||||
@{Name="Adobe Reader"; Id="Adobe.Acrobat.Reader.64-bit"}
|
||||
)
|
||||
|
||||
$installedCount = 0
|
||||
$totalApps = $apps.Count
|
||||
|
||||
Write-Host "Installing $totalApps applications using winget source..."
|
||||
Write-Host ""
|
||||
|
||||
foreach ($app in $apps) {
|
||||
Write-Host "[$($installedCount + 1)/$totalApps] Installing $($app.Name)..."
|
||||
|
||||
try {
|
||||
# Install using explicit winget source to avoid msstore certificate issues
|
||||
Write-Host " Downloading and installing from winget source..."
|
||||
$installResult = & winget install $app.Id --source winget --accept-package-agreements --accept-source-agreements --silent
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host " [OK] $($app.Name) installed successfully"
|
||||
$installedCount++
|
||||
} else {
|
||||
Write-Host " [!] Installation exit code: $LASTEXITCODE"
|
||||
|
||||
# Try to verify if it was actually installed despite exit code
|
||||
Start-Sleep -Seconds 3
|
||||
$verifyResult = & winget list $app.Id --source winget 2>$null
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host " [OK] $($app.Name) appears to be installed"
|
||||
$installedCount++
|
||||
} else {
|
||||
Write-Host " [ERROR] $($app.Name) installation failed"
|
||||
|
||||
# Try alternative approach for some apps
|
||||
if ($app.Name -eq "Google Chrome") {
|
||||
Write-Host " Trying Chrome enterprise installer..."
|
||||
try {
|
||||
$chromeUrl = "https://dl.google.com/chrome/install/GoogleChromeStandaloneEnterprise64.msi"
|
||||
$chromePath = "$env:TEMP\ChromeSetup.msi"
|
||||
Invoke-WebRequest -Uri $chromeUrl -OutFile $chromePath -UseBasicParsing
|
||||
& msiexec /i $chromePath /quiet /norestart
|
||||
Start-Sleep -Seconds 5
|
||||
Remove-Item $chromePath -Force -ErrorAction SilentlyContinue
|
||||
Write-Host " [OK] Chrome installed via direct MSI"
|
||||
$installedCount++
|
||||
} catch {
|
||||
Write-Host " [!] Chrome direct install failed"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch {
|
||||
Write-Host " [ERROR] Exception: $($_.Exception.Message)"
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Start-Sleep -Seconds 2
|
||||
}
|
||||
|
||||
Write-Host "=== Installation Summary ==="
|
||||
Write-Host "Successfully installed: $installedCount / $totalApps applications"
|
||||
Write-Host ""
|
||||
|
||||
# Final verification
|
||||
Write-Host "Final verification:"
|
||||
|
||||
$verificationChecks = @(
|
||||
@{Name="Chrome"; Paths=@("C:\Program Files\Google\Chrome\Application\chrome.exe", "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")},
|
||||
@{Name="7-Zip"; Paths=@("C:\Program Files\7-Zip\7z.exe")},
|
||||
@{Name="AnyDesk"; Paths=@("C:\Program Files (x86)\AnyDesk\AnyDesk.exe", "C:\Program Files\AnyDesk\AnyDesk.exe")},
|
||||
@{Name="Adobe Reader"; Paths=@("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe", "C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe")},
|
||||
@{Name="LINE"; Paths=@("C:\Users\$env:USERNAME\AppData\Local\LINE\bin\LineLauncher.exe", "C:\Program Files\LINE\bin\LineLauncher.exe")}
|
||||
)
|
||||
|
||||
foreach ($check in $verificationChecks) {
|
||||
$found = $false
|
||||
foreach ($path in $check.Paths) {
|
||||
if (Test-Path $path) {
|
||||
Write-Host " [OK] $($check.Name) - Found at $path"
|
||||
$found = $true
|
||||
break
|
||||
}
|
||||
}
|
||||
if (-not $found) {
|
||||
Write-Host " [!] $($check.Name) - Not found"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "Installation process completed!"
|
||||
Write-Host "Note: Some applications may require restart to appear in Start Menu"
|
||||
Reference in New Issue
Block a user