feat: implement package manager support for Windows and macOS, including Chocolatey and Homebrew configurations
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions

This commit is contained in:
claudi 2026-03-03 09:33:06 +01:00
parent 1dcce081f1
commit 87884935c9
9 changed files with 758 additions and 10 deletions

View file

@ -0,0 +1,47 @@
$ErrorActionPreference = 'Stop'
$PackageName = 'webdrop-bridge'
$Version = '0.8.0'
$Url = "https://git.him-tools.de/HIM-public/webdrop-bridge/releases/download/v$Version/WebDropBridge_Setup.msi"
$Checksum = '' # Update with actual SHA256 checksum from release
$ChecksumType = 'sha256'
# Create temporary directory for download
$TempDir = Join-Path $env:TEMP "webdrop-bridge-$Version"
New-Item -ItemType Directory -Path $TempDir -Force | Out-Null
try {
# Download MSI installer
Write-Host "Downloading WebDropBridge $Version MSI installer..."
$InstallerPath = Join-Path $TempDir "WebDropBridge_Setup.msi"
Get-ChocolateyWebFile -PackageName $PackageName `
-FileFullPath $InstallerPath `
-Url $Url `
-Checksum $Checksum `
-ChecksumType $ChecksumType
# Install MSI
Write-Host "Installing WebDropBridge..."
$InstallArgs = @(
'/i'
"`"$InstallerPath`""
'/quiet' # Silent installation
'/norestart' # Don't restart immediately
)
Invoke-ChocolateyInstall -PackageName $PackageName `
-File 'msiexec.exe' `
-FileArgs $InstallArgs `
-ValidExitCodes @(0, 3010) # 0=success, 3010=restart needed
Write-Host "WebDropBridge installed successfully"
} catch {
Write-Error "Installation failed: $_"
exit 1
} finally {
# Cleanup
if (Test-Path $TempDir) {
Remove-Item $TempDir -Recurse -Force -ErrorAction SilentlyContinue
}
}

View file

@ -0,0 +1,38 @@
$ErrorActionPreference = 'Stop'
$PackageName = 'webdrop-bridge'
try {
# Find installed version
$UninstallPath = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall |
Where-Object { $_.GetValue('DisplayName') -like '*WebDropBridge*' } |
Select-Object -First 1
if ($UninstallPath) {
$UninstallString = $UninstallPath.GetValue('UninstallString')
# Extract MSI Product ID from uninstall string
if ($UninstallString -match '{[A-F0-9-]+}') {
$ProductId = $matches[0]
Write-Host "Uninstalling WebDropBridge (Product ID: $ProductId)..."
$UninstallArgs = @(
'/x'
$ProductId
'/quiet'
'/norestart'
)
& 'msiexec.exe' @UninstallArgs
Write-Host "WebDropBridge uninstalled successfully"
} else {
Write-Warning "Could not extract Product ID from uninstall string"
}
} else {
Write-Warning "WebDropBridge is not installed"
}
} catch {
Write-Error "Uninstall failed: $_"
}