From dd9bb994e6c6a7f27cf449d7044417621c8e1478 Mon Sep 17 00:00:00 2001 From: Richard Boisvert Date: Thu, 19 Mar 2026 09:01:05 -0400 Subject: [PATCH] [DEVOPS-4335] chore(chocolatey): add nuspec and scripts --- .../chocolatey/unigetui/deploy.template.bat | 2 ++ .../tools/chocolateyInstall.template.ps1 | 16 ++++++++++ .../unigetui/tools/chocolateyUninstall.ps1 | 32 +++++++++++++++++++ .../unigetui/unigetui.template.nuspec | 23 +++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 package/chocolatey/unigetui/deploy.template.bat create mode 100644 package/chocolatey/unigetui/tools/chocolateyInstall.template.ps1 create mode 100644 package/chocolatey/unigetui/tools/chocolateyUninstall.ps1 create mode 100644 package/chocolatey/unigetui/unigetui.template.nuspec diff --git a/package/chocolatey/unigetui/deploy.template.bat b/package/chocolatey/unigetui/deploy.template.bat new file mode 100644 index 000000000..d169bebae --- /dev/null +++ b/package/chocolatey/unigetui/deploy.template.bat @@ -0,0 +1,2 @@ +@echo on +cmd /k cpush "unigetui.$VAR1$.nupkg" diff --git a/package/chocolatey/unigetui/tools/chocolateyInstall.template.ps1 b/package/chocolatey/unigetui/tools/chocolateyInstall.template.ps1 new file mode 100644 index 000000000..07e23b216 --- /dev/null +++ b/package/chocolatey/unigetui/tools/chocolateyInstall.template.ps1 @@ -0,0 +1,16 @@ +$ErrorActionPreference = 'Stop' + +$PackageName = 'unigetui' +$Url = 'https://cdn.devolutions.net/download/Devolutions.UniGetUI.win-x64.$VAR1$.0.exe' + +$PackageArgs = @{ + packageName = $PackageName + url = $Url + fileType = 'exe' + silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /ALLUSERS /NoWinGet /NoAutoStart' + validExitCodes= @(0, 3010) + checksum = '$VAR2$' + checksumType = 'sha256' +} + +Install-ChocolateyPackage @PackageArgs diff --git a/package/chocolatey/unigetui/tools/chocolateyUninstall.ps1 b/package/chocolatey/unigetui/tools/chocolateyUninstall.ps1 new file mode 100644 index 000000000..6ec4c527e --- /dev/null +++ b/package/chocolatey/unigetui/tools/chocolateyUninstall.ps1 @@ -0,0 +1,32 @@ +$ErrorActionPreference = 'Stop' + +$PackageName = 'unigetui' + +$PackageArgs = @{ + packageName = $PackageName + softwareName = 'UniGetUI' + fileType = 'exe' + silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART' + validExitCodes= @(0, 3010) +} + +[array]$Key = Get-UninstallRegistryKey -SoftwareName $PackageArgs['softwareName'] + +if ($Key.Count -eq 1) { + $Key | % { + $uninstallExe = $_.UninstallString -replace '"', '' + if (Test-Path $uninstallExe) { + $PackageArgs['file'] = $uninstallExe + Uninstall-ChocolateyPackage @PackageArgs + } else { + Write-Warning "Uninstaller not found at $uninstallExe" + } + } +} elseif ($Key.Count -eq 0) { + Write-Warning "$PackageName has already been uninstalled." +} elseif ($Key.Count -gt 1) { + Write-Warning "$($Key.Count) matches found!" + Write-Warning "To prevent accidental data loss, no programs will be uninstalled." + Write-Warning "The following keys were matched:" + $Key | % {Write-Warning "- $($_.DisplayName)"} +} diff --git a/package/chocolatey/unigetui/unigetui.template.nuspec b/package/chocolatey/unigetui/unigetui.template.nuspec new file mode 100644 index 000000000..1875765ec --- /dev/null +++ b/package/chocolatey/unigetui/unigetui.template.nuspec @@ -0,0 +1,23 @@ + + + + unigetui + UniGetUI + $VAR1$ + Devolutions Inc. + Devolutions Inc. + An intuitive GUI to discover, install, update, and uninstall packages from WinGet, Scoop, Chocolatey, npm, Pip, and more. + The main goal of this project is to create an intuitive GUI for the most common CLI package managers for Windows 10 and Windows 11, such as WinGet, Scoop, Chocolatey, npm, Pip, .NET Tool, PowerShell Gallery and Cargo. + https://devolutions.net/unigetui/ + unigetui wingetui cli package-manager windows-10 windows-11 scoop winget chocolatey npm pip dotnet-tool dotnet windows package-manager-interface gui powershell powershell-ui gallery devolutions + Copyright © 2006-2026 + https://github.com/Devolutions/UniGetUI/releases/tag/v$VAR1$ + https://github.com/Devolutions/UniGetUI/blob/HEAD/LICENSE + false + https://cdnweb.devolutions.net/web/common/logos/img-devolutions-unigetui-white.svg + + + + + +