MyDefrag

MyDefrag is a powerful freeware defragmentation tool. Here is what I did to make it work:

Install the main-program:

    <package id="mydefrag" name="MyDefrag" revision="1" reboot="false" priority="3">
    <check type="uninstall" condition="exists" path="MyDefrag v4.0b12" />
    <install cmd='%SOFTWARE%\mydefrag\MyDefrag-v4.0b12.exe /SP /VERYSILENT /SUPPRESSMSGBOXES /NOCANCEL /NORESTART /LANG=de /GROUP="MyDefrag" /LOG /DIR="%PROGRAMFILES%\MyDefrag"' />
    <upgrade cmd='%SOFTWARE%\mydefrag\MyDefrag-v4.0b12.exe /SP /VERYSILENT /SUPPRESSMSGBOXES /NOCANCEL /NORESTART /LANG=de /GROUP="MyDefrag" /LOG /DIR="%PROGRAMFILES%\MyDefrag"' />
    <remove cmd='"%PROGRAMFILES%\MyDefrag\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART' />
    </package>

I have some custom scripts. I don't want the user to see, MyDefrag runs, so I added a "WindowSize(invisible)" to the scripts. The scripts are text files.

    <package id="mydefrag-scripts" name="MyDefrag-Scripts" revision="1" reboot="false" priority="2">
    <check type="file" condition="exists" path='C:\TEMP\WPKG\mydefrag-scripts.SEM' />
    <install cmd='%SOFTWARE%\mydefrag\install.bat' />
    </package>

install.bat is a small copy script, which copies the customized scripts into the programdir of MyDefrag.


Run once a deep-optimize (it's safe, no worry about corrupted discs in your company):

    <package id="mydefrag-slow" name="MyDefrag SlowOptimize" revision="1" reboot="false" priority="1" notify="false" execute="once">
    <install cmd='cmd.exe /c start "MyDefrag" /BelowNormal "%PROGRAMFILES%\MyDefrag\MyDefrag.exe" "-r" "SlowOptimize.MyD"' />
    </package>

To not jam the PC, the process priority is below normal.

And an everyday job, to keep the discs unfragmented:

    <package id="mydefrag-fast" name="MyDefrag Fast-Update" revision="1" reboot="false" priority="0" notify="false" execute="always">
    <install cmd='cmd.exe /c start "MyDefrag" "%PROGRAMFILES%\MyDefrag\MyDefrag.exe" "-r" "FastUpdate.MyD"' />
    </package>