RuckZuck Professional

How to become a 'PRO' User

The only way to become a 'PRO' user is by contributing content in form of new packages, package updates or by providing feedback.

Tasks to do:

Benefits for 'PRO' Users

  • Access to all Package-Definitions
  • Access to the RuckZuck API (Web-Service)

OneGet examples

OneGet is part of Windows10. On Windows8.1 or Windows7, you have to install OneGet (e.g. with RuckZuck)
The RuckZuck provider for OneGet is a separate Package that must be installed after OneGet is installed. If you install the Provider with RuckZuck, it will also install the latest version of OneGet.

Search for Updates

Find all available updates for installed software

Find-Package -ProviderName RuckZuck -Updates

Search a Software in the repository

Find-Package -ProviderName RuckZuck -Contains "Zip"

to find a Software by Shortname, ProductName and Version

Find-Package -ProviderName RuckZuck "7-Zip"
Find-Package -ProviderName RuckZuck "7-Zip 9.38 (x64 edition)"
Find-Package -ProviderName RuckZuck "7-Zip" -RequiredVersion "9.38.00.0"

Get all installed Software that RuckZuck has in it's repository

Get-Package -ProviderName RuckZuck

Install a Software

Install-Package -ProviderName RuckZuck "7-Zip"
Install-Package -ProviderName RuckZuck "7-Zip 9.38 (x64 edition)" -SkipDependencies

Uninstall a Software

Node: Uninstall requires the ProductName and not the Shortname.

Uninstall-Package -ProviderName RuckZuck "7-Zip 9.38 (x64 edition)"

Powershell examples

Install Software with PowerShell

You can install Software directly with PowerShell:

$SVC = New-WebServiceProxy -uri 'https://ruckzuck.azurewebsites.net/api/api.asmx'
$token = $SVC.AuthenticateUser("[username]", "[password]")
iex $svc.GetSWInstallPS("[ProductName]","[ProductVersion]","[Token]")
iex $svc.GetSWInstallPS("[ShortName]","","[Token]")

iex $svc.GetSWInstallPS("7-Zip 9.22 (x64 edition)","9.22.00.0",$token)
iex $svc.GetSWInstallPS("AdobeReader","",$token)

Check if a Software is installed with PowerShell

To check if a Software is installed:

$SVC = New-WebServiceProxy -uri 'https://ruckzuck.azurewebsites.net/api/api.asmx'
$token = $SVC.AuthenticateUser("[username]", "[password]")
iex $svc.GetSWCheckPS("[ProductName]","[ProductVersion]","[Token]")
iex $svc.GetSWCheckPS("[ShortName]","","[Token]")

iex $svc.GetSWCheckPS("7-Zip 9.22 (x64 edition)","9.22.00.0",$token)
iex $svc.GetSWCheckPS("AdobeReader","",$token)

the Script returns $TRUE if the Software is installed and $FALSE if the Softwrae is missing.

Download Software to a local repository with PowerShell

The download Directory can be specified with the Variable $DLPath. Otherwise it will download into $env:Temp .

$SVC = New-WebServiceProxy -uri 'https://ruckzuck.azurewebsites.net/api/api.asmx'
$token = $SVC.AuthenticateUser("[username]", "[password]")
$DLPath = 'C:\TEMP'
iex $svc.GetSWDownloadPS("[ProductName]","[ProductVersion]","[Token]")
iex $svc.GetSWDownloadPS("[ShortName]","","[Token]")

iex $svc.GetSWDownloadPS("7-Zip 9.22 (x64 edition)","9.22.00.0",$token)
iex $svc.GetSWDownloadPS("AdobeReader","",$token)

the Script returns $TRUE if the Software was downloaded.

Install Software from a local Repository with PowerShell

The Variable $URL does override the download path and can be used to target an internal repository.

$SVC = New-WebServiceProxy -uri 'https://ruckzuck.azurewebsites.net/api/api.asmx'
$token = $SVC.AuthenticateUser("[username]", "[password]")
$URL = 'http://localserver/RZLib'
iex $svc.GetSWInstallPS("[ProductName]","[ProductVersion]","[Token]")
iex $svc.GetSWInstallPS("[ShortName]","","[Token]")

iex $svc.GetSWInstallPS("7-Zip 9.22 (x64 edition)","9.22.00.0",$token)
iex $svc.GetSWInstallPS("AdobeReader","",$token)

The published URL must contain Sub-Folders with the ContentID of the Software and not the reqjuired files.

Check for Software-Updates

Check for Software-Updates and return the result in a comma separated List

$SVC = New-WebServiceProxy -uri 'https://ruckzuck.azurewebsites.net/api/api.asmx' -Namespace RZ
$token = $SVC.AuthenticateUser("[username]", "[password]")
$SVC.SecuredWebServiceHeaderValue = New-Object RZ.SecuredWebServiceHeader -Prop (@{"AuthenticatedToken"=$token})

[RZ.AddSoftware[]]$a = (Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object "Displayname" -ne $null | Where-Object "SystemComponent" -ne 1 | Where-Object "ParentDisplayName" -eq $null | Select-Object DisplayName, DisplayVersion, Publisher |% { new-object RZ.AddSoftware -Prop (@{'ProductName'= $_.DisplayName; 'ProductVersion'=$_.DisplayVersion; 'Manufacturer'=$_.Publisher}) } )
$a = $a + (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object "Displayname" -ne $null | Where-Object "SystemComponent" -ne 1 | Where-Object "ParentDisplayName" -eq $null | Select-Object DisplayName, DisplayVersion, Publisher |% { new-object RZ.AddSoftware -Prop (@{'ProductName'= $_.DisplayName; 'ProductVersion'=$_.DisplayVersion; 'Manufacturer'=$_.Publisher}) } )
$a = $a + (Get-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object "Displayname" -ne $null | Where-Object "SystemComponent" -ne 1 | Where-Object "ParentDisplayName" -eq $null | Select-Object DisplayName, DisplayVersion, Publisher |% { new-object RZ.AddSoftware -Prop (@{'ProductName'= $_.DisplayName; 'ProductVersion'=$_.DisplayVersion; 'Manufacturer'=$_.Publisher}) } )

(($SVC.CheckForUpdate($a) | Where-Object "Shortname" -ne 'new' | Select-Object Shortname) | % { $_.Shortname } | Sort -Unique) -Join ","

the authentication-token is valid for 2-hours !.