I wrote a little script for installing CCleaner slim version:
CODE
Opt("TrayIconDebug", 1)
; Installer file name
$Installer = "ccsetup212_slim.exe"
; Detect the Operating System type (32 bit or 64 bit)
$OS = _OSBit()
If $OS = 32 Then
; Installation folder
$InstallLocation = @ProgramFilesDir & "\CCleaner"
$PreviousInstallation = RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner", "UninstallString")
If StringRight($PreviousInstallation, 1) = '"' Then
$PreviousInstallation = StringTrimRight($PreviousInstallation, 1)
EndIf
If StringLeft($PreviousInstallation, 1) = '"' Then
$PreviousInstallation = StringTrimLeft($PreviousInstallation, 1)
EndIf
If FileExists($PreviousInstallation) Then
MsgBox(0x40010, @ScriptName, "Please uninstall previous version of CCleaner before using this script", 4)
Exit
EndIf
EndIf
If $OS = 64 Then
; Installation folder
$InstallLocation = @HomeDrive & "\Program Files (x86)\CCleaner"
$PreviousInstallation = RegRead("HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner", "UninstallString")
If StringRight($PreviousInstallation, 1) = '"' Then
$PreviousInstallation = StringTrimRight($PreviousInstallation, 1)
EndIf
If StringLeft($PreviousInstallation, 1) = '"' Then
$PreviousInstallation = StringTrimLeft($PreviousInstallation, 1)
EndIf
If FileExists($PreviousInstallation) Then
MsgBox(0x40010, @ScriptName, "Please uninstall previous version of CCleaner before using this script", 4)
Exit
EndIf
EndIf
; Run the installer
RunWait($Installer & " /S")
#include <File.au3>
; Create ccleaner.ini
$IniFilePath = $InstallLocation & "\ccleaner.ini"
_FileCreate($IniFilePath)
; Write ini sections
IniWriteSection($IniFilePath, "Options", "")
; Write some keys and values in ccleaner.ini
IniWrite($IniFilePath, "Options", "(App)Mozilla - Saved Form Information", "True")
IniWrite($IniFilePath, "Options", "(App)Opera - Cookies", "True")
IniWrite($IniFilePath, "Options", "(App)Autocomplete Form History", "True")
IniWrite($IniFilePath, "Options", "(App)Start Menu Shortcuts", "True")
IniWrite($IniFilePath, "Options", "(App)Desktop Shortcuts", "True")
IniWrite($IniFilePath, "Options", "(App)Old Prefetch data", "True")
IniWrite($IniFilePath, "Options", "(App)Menu Order Cache", "True")
IniWrite($IniFilePath, "Options", "(App)Tray Notifications Cache", "True")
IniWrite($IniFilePath, "Options", "(App)Window Size/Location Cache", "True")
IniWrite($IniFilePath, "Options", "(App)User Assist History", "True")
IniWrite($IniFilePath, "Options", "(App)IIS Log Files", "True")
IniWrite($IniFilePath, "Options", "(App)Hotfix Uninstallers", "True")
IniWrite($IniFilePath, "Options", "(App)Custom Folders", "True")
IniWrite($IniFilePath, "Options", "DelayTemp", 0)
IniWrite($IniFilePath, "Options", "HideWarnings", 1)
IniWrite($IniFilePath, "Options", "AutoClose", 1)
IniWrite($IniFilePath, "Options", "BackupPrompt", 0)
IniWrite($IniFilePath, "Options", "UpdateCheck", 0)
IniWrite($IniFilePath, "Options", "MSG_WARNMOZCACHE", "False")
IniWrite($IniFilePath, "Options", "MSG_CONFIRMCLEAN", "False")
Func _OSBit()
Local $tOS = DllStructCreate("char[256]")
Local $aGSWD = DllCall("Kernel32.dll", "int", "GetSystemWow64Directory", "ptr", DllStructGetPtr($tOS), "int", 256)
If IsArray($aGSWD) And DllStructGetData($tOS, 1) Then Return 64
Return 32
EndFunc