UltraDefrag

From WPKG | Open Source Software Deployment and Distribution
Revision as of 22:41, 14 May 2012 by 63.237.125.2 (Talk)
Jump to: navigation, search

Silent installer for UltraDefrag - An Open Source Defragmenter, a boot time disk defragmentation tool with console or GUI interface.
It uses the NSIS installer.

Contents

Micro Edition (Console Version)

Install

The install method installs either the 32-bit or 64-bit Windows version.
You need to use WPKG Client 1.3.6 or higher for 64-bit Windows !!!

It copies a predefined boot time command file too, but you can skip this, if you like to use the default file, shipping with UltraDefrag.
It enables the boot time defragmentation too.

Upgrade

The upgrade method does the same as the install method, since there is no difference.

Remove

The remove method deactivates the boot time defragmentation first.
Then it removes the package and any leftovers.

The Package

<package
	id="UltraDefrag"
	name="Ultra Defragmenter Micro Edition"
	revision="300"
	reboot="false"
	priority="10">
 
	<check type="uninstall" condition="exists" path="Ultra Defragmenter Micro Edition" />
	<check type="file" condition="versiongreaterorequal" path="%SystemRoot%\system32\udefrag.exe" value="3.0.0.0" />
 
	<install timeout="300" cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%SOFTWARE%\UltraDefrag\ultradefrag-micro-edition-3.0.0.bin.i386.exe" /S /NCRC' />
	<install timeout="300" cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%SOFTWARE%\UltraDefrag\ultradefrag-micro-edition-3.0.0.bin.amd64.exe" /S /NCRC' />
	<install timeout="15" cmd='%ComSpec% /C copy /b /v /y "%SOFTWARE%\UltraDefrag\ud-boot-time.cmd" "%SystemRoot%\system32"' />
	<install timeout="15" cmd='%ComSpec% /C "%SystemRoot%\system32\bootexctrl.exe" /r defrag_native' />
 
	<upgrade timeout="300" cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == x86 "%SOFTWARE%\UltraDefrag\ultradefrag-micro-edition-3.0.0.bin.i386.exe" /S /NCRC' />
	<upgrade timeout="300" cmd='%ComSpec% /c if %PROCESSOR_ARCHITECTURE% == AMD64 "%SOFTWARE%\UltraDefrag\ultradefrag-micro-edition-3.0.0.bin.amd64.exe" /S /NCRC' />
	<upgrade timeout="15" cmd='%ComSpec% /C copy /b /v /y "%SOFTWARE%\UltraDefrag\ud-boot-time.cmd" "%SystemRoot%\system32"' />
	<upgrade timeout="15" cmd='%ComSpec% /C "%SystemRoot%\system32\bootexctrl.exe" /r defrag_native' />
 
	<remove timeout="15" cmd='%ComSpec% /C "%SystemRoot%\system32\bootexctrl.exe" /u defrag_native' />
	<remove timeout="300" cmd='%ComSpec% /c "%WinDir%\UltraDefrag\uninstall.exe" /S /NCRC' />
	<remove timeout="60" cmd='%ComSpec% /c if exist "%WinDir%\UltraDefrag" rmdir /s /q "%WinDir%\UltraDefrag"' />
	<remove timeout="60" cmd='%ComSpec% /c if exist "%SystemRoot%\system32\ud-boot-time.cmd" del /f /q "%SystemRoot%\system32\ud-boot-time.cmd"' />
	<remove timeout="60" cmd='%ComSpec% /c if exist "%SystemRoot%\system32\udefrag-gui.cmd" del /f /q "%SystemRoot%\system32\udefrag-gui.cmd"' />
</package>

ud-boot-time.cmd

This file must be saved in UTF-16 Little Endian (=UNICODE) encoding, or you alter the file shipping with the installation.
Put this file into the %SystemRoot%\system32 folder.

;                UltraDefrag Boot Time Shell Script
; !!! NOTE: THIS FILE MUST BE SAVED IN UNICODE (UTF-16) ENCODING !!!
;--------------------------------------------------------------------
udefrag c:
exit


Standard Edition (Gui Version)

This is derived from the micro-edition install script (see above). the main differences are :

The Package

<?xml version="1.0" encoding="UTF-8"?>
 
<packages>
    <package id="ultradefrag" name="UltraDefrag" revision="1" reboot="false" priority="10">
        <variable name="PKG_VERSION" value="4.4.0" />
        <check type="uninstall" condition="versiongreaterorequal" path="Ultra Defragmenter" value="%PKG_VERSION%" />
 
        <install cmd='"%SOFTWARE%\ultradefrag\UltraDefrag_%PKG_VERSION%.bin.i386.exe" /S /LANG="French (FR)"' />
        <!-- Delete shortcuts -->
        <install cmd='%COMSPEC% /C del /Q "%AllUsersProfile%\Bureau\UltraDefrag.lnk"' />
        <install cmd='%COMSPEC% /C rmdir /Q /S "%AllUsersProfile%\Menu Démarrer\Programmes\UltraDefrag"' />
        <!-- Delete ContextMenu entries -->
        <install cmd='reg delete "HKCR\*\shell\udefrag" /f' />
        <install cmd='reg delete "HKCR\Drive\shell\udefrag" /f' />
        <install cmd='reg delete "HKCR\Folder\shell\udefrag" /f' />
        <!-- Replace the Windows default defragmenter -->
        <install cmd='regedit /S %SOFTWARE%\ultradefrag\ultradefrag.reg' />
 
        <upgrade cmd='"%SOFTWARE%\ultradefrag\ultradefrag-%PKG_VERSION%.bin.i386.exe" /S /LANG=FR' />
        <!-- Delete shortcuts -->
        <upgrade cmd='%COMSPEC% /C del /Q "%AllUsersProfile%\Bureau\UltraDefrag.lnk"' />
        <upgrade cmd='%COMSPEC% /C rmdir /Q /S "%AllUsersProfile%\Menu Démarrer\Programmes\UltraDefrag"' />
        <!-- Delete ContextMenu entries -->
        <upgrade cmd='reg delete "HKCR\*\shell\udefrag" /f' />
        <upgrade cmd='reg delete "HKCR\Drive\shell\udefrag" /f' />
        <upgrade cmd='reg delete "HKCR\Folder\shell\udefrag" /f' />
        <!-- Replace the Windows default defragmenter -->
        <upgrade cmd='regedit /S %SOFTWARE%\ultradefrag\ultradefrag.reg' />
 
        <remove cmd='"%SystemRoot%\system32\bootexctrl.exe" /u defrag_native' />
        <remove cmd='"%WinDir%\UltraDefrag\uninstall.exe" /S' />
        <!-- Restore the Windows default defragmenter -->
        <remove cmd='rundll32.exe advpack.dll,LaunchINFSectionEx %SystemRoot%\inf\dfrg.inf,,,4' />
    </package>
</packages>

ultradefrag.reg

This change the default Windows defragmenter to '%systemroot%\UltraDefrag\ultradefrag.exe'

This can be reverted by reinstalling %SystemRoot%\inf\dfrg.inf (see the remove entry)

Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\DefragPath]
@=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,\
  00,5c,00,55,00,6c,00,74,00,72,00,61,00,44,00,65,00,66,00,72,00,61,00,67,00,\
  5c,00,75,00,6c,00,74,00,72,00,61,00,64,00,65,00,66,00,72,00,61,00,67,00,2e,\
  00,65,00,78,00,65,00,00,00

Notes on version 5.x installer

ref: http://ultradefrag.sourceforge.net/handbook/Installation.html

The 5.x has one installer that can manage the various aspects of UltraDefrag without resorting to "del" and "reg" commands.

Retrieved from "http://wpkg.org/UltraDefrag"
Personal tools
Namespaces
Variants
Actions
Navigation
ideas?
Toolbox