Defraggler

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

Defraggler is a defragmentation utility from Piriform (the authors of CCleaner and Recuva).

Defraggler is available from https://www.piriform.com/defraggler

The standard installer (as of version 21) includes a bundled offer to install Google Chrome. To prevent this installation of Google Chrome when doing a silent install of Defraggler requires adding registry keys.


Registry files

Create two files 32-disallow-chrome.reg and 64-disallow-chrome.reg in the same folder with the defraggler install

32-disallow-chrome.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Google\No Chrome Offer Until]
"Piriform Ltd"=dword:20991231

[HKEY_LOCAL_MACHINE\SOFTWARE\Google\No Toolbar Offer Until]
"Piriform Ltd"=dword:20991231

64-disallow-chrome.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google\No Chrome Offer Until]
"Piriform Ltd"=dword:20991231

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google\No Toolbar Offer Until]
"Piriform Ltd"=dword:20991231


WPKG Package

 

<?xml version="1.0" encoding="UTF-8"?>

<packages>

<package id="defraggler" name="Defraggler" revision="%version%" reboot="false" priority="0">
  <variable name="version" value="221" />
  <variable name="installver" value="2.21.0.993" />
  <variable name="regfile" value="%SOFTWARE%\defraggler\32-disallow-chrome.reg"/>
  <variable name="regfile" value="%SOFTWARE%\defraggler\64-disallow-chrome.reg" architecture="x64"/>

  <check type="uninstall" condition="exists" path="Defraggler" />
  <check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Defraggler\Defraggler.exe" value="%installver%" />

  <install cmd='regedit /s %regfile%' />
  <install cmd='%SOFTWARE%\defraggler\dfsetup%version%.exe /S' />

  <install cmd='%COMSPEC% /c if exist "UserProfile%\Desktop\Defraggler.lnk" del /q "%UserProfile%\Desktop\Defraggler.lnk"' ><exit code="any" /></install>
  <install cmd='%COMSPEC% /c if exist "AllUserProfile%\Desktop\Defraggler.lnk" del /q "%AllUsersProfile%\Desktop\Defraggler.lnk"' ><exit code="any" /></install>
  <install cmd='%COMSPEC% /c if exist "%Public%\Desktop\Defraggler.lnk" del /q "%Public%\Desktop\Defraggler.lnk"' ><exit code="any" /></install> 

  <upgrade include="install" />  
 
  <remove cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\Defraggler\uninst.exe" "%PROGRAMFILES%\Defraggler\uninst.exe" /S' />
  <remove cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\Defraggler\uninst.exe" "%PROGRAMFILES(x86)%\Defraggler\uninst.exe" /S' />
  <remove cmd='%COMSPEC% /c rmdir /q /s "%AllUsersProfile%\Start Menu\Programs\Defraggler"' />
</package>

</packages>


Alternative use of Portable Build

It usually takes Piriform a week or two to put the slim installer on their website for download. If you don't want to wait you can download the portable version and copy the files directly into Program Files to upgrade Defraggler.

You can download the portable version here: http://www.piriform.com/defraggler/builds. Extract the Zip archive and use this package to copy the portable files to your system. This does not create any shortcuts, but leaves the link to the uninst.exe to remove previous 'slim' or 'regular' installs.


 
<?xml version="1.0" encoding="UTF-8"?>
<packages>

	<package
		id="defraggler"
		name="Defraggler 2.16"
		revision="2160"
		reboot="false"
		priority="2">
 
		<check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Defraggler\Defraggler.exe" value="2.16.0.809" />
 		<install cmd='%COMSPEC% /C mkdir "%PROGRAMFILES%\Defraggler"' />
		<install cmd='%COMSPEC% /C copy %SOFTWARE%\defraggler\dfsetup216\*.* "%PROGRAMFILES%\Defraggler" /y' />

		<upgrade cmd='%COMSPEC% /C copy %SOFTWARE%\defraggler\dfsetup216\*.* "%PROGRAMFILES%\Defraggler" /y' />
 
		<remove cmd='"%ProgramFiles%\Defraggler\uninst.exe" /S' />
		<remove cmd='%COMSPEC% /c rmdir /q /s "%PROGRAMFILES%\Defraggler"' />
	</package>


</packages>