Jump to content

Install CCleaner with PowerShell


kavaa
 Share

Recommended Posts

I made a install script for CCleaner to do a Silent install and clean if needed.

UPDATED VERSION 3 With auto detect if Invoke-WebRequest exists

Improvements are welcome!

When a new version of CCleaner comes out, just change the ccsetup526 to the new value.

# CCleaner Download / Update Location
# http://www.piriform.com/ccleaner/download
mkdir C:\CCleanerInstall
Invoke-WebRequest http://download.piriform.com/ccsetup526.exe -OutFile C:\CCleanerInstall\ccsetup526.exe
Start-Process -FilePath "c:\CCleanerInstall\ccsetup526.exe" -ArgumentList "/S"
Start-Sleep -s 20
rm-R -Force C:\CCleanerInstall

If you want you can also add: 

Start-Process -FilePath "C:\Program Files\CCleaner\CCleaner.exe" -ArgumentList "/CLEANER /AUTO"
Start-Sleep -s 20

This will do a Auto Clean with CCleaner

You can add this to Scripts as a PowerShell Script.

Link to comment
Share on other sites

Version 2

# Silent Install CCleaner
# http://www.piriform.com/ccleaner/download

# Path for the workdir
$workdir = "c:\installer\"

# Check if work directory exists if not create it

If (Test-Path -Path $workdir -PathType Container)
{ Write-Host "$workdir already exists" -ForegroundColor Red}
ELSE
{ New-Item -Path $workdir  -ItemType directory }

# Download the installer

$source = "http://download.piriform.com/ccsetup526.exe"
$destination = "$workdir\ccsetup.exe"
Invoke-WebRequest $source -OutFile $destination

# Start the installation

Start-Process -FilePath "$workdir\ccsetup.exe" -ArgumentList "/S"

# Wait XX Seconds for the installation to finish

Start-Sleep -s 35

# Remove the installer

rm -Force $workdir\c*

For Windows 7 please change 

$source = "http://download.piriform.com/ccsetup526.exe"
$destination = "$workdir\ccsetup.exe"
Invoke-WebRequest $source -OutFile $destination

To

$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile("http://download.piriform.com/ccsetup526.exe","C:\installer\ccsetup.exe")

Since Powershell in Windows 7 does not support the Invoke-WebRequest

Edited by kavaa
Added Syntax Highlighting
Link to comment
Share on other sites

Version 3

This version will check if the Invoke-WebRequest Command exists or not. For legacy Systems like Windows 7 you than only have one Script and don't need to change things in Pulseway

# Silent Install CCleaner
# http://www.piriform.com/ccleaner/download

# Path for the workdir
$workdir = "c:\installer\"

# Check if work directory exists if not create it

If (Test-Path -Path $workdir -PathType Container)
{ Write-Host "$workdir already exists" -ForegroundColor Red}
ELSE
{ New-Item -Path $workdir  -ItemType directory }

# Download the installer

$source = "http://download.piriform.com/ccsetup526.exe"
$destination = "$workdir\ccsetup.exe"

# Check if Invoke-Webrequest exists otherwise execute WebClient

if (Get-Command 'Invoke-Webrequest')
{
     Invoke-WebRequest $source -OutFile $destination
}
else
{
    $WebClient = New-Object System.Net.WebClient
    $webclient.DownloadFile($source, $destination)
}

# Start the installation

Start-Process -FilePath "$workdir\ccsetup.exe" -ArgumentList "/S"

# Wait XX Seconds for the installation to finish

Start-Sleep -s 35

# Remove the installer

rm -Force $workdir\c*

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...