FlashFXP

Package for http://www.flashfxp.com/download including removal of left overs in c:\ProgramData.

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

<packages
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="../xsd/packages.xsd" >

    <package id="flashfxp"
            name="Flash FXP"
            revision="%PKG_VERSION%"
            reboot="false"
            priority="10">

        <variable name="PKG_VERSION"        value="4.3.1.1977" />
        <variable name="PKG_FILEVERSION"        value="43_1977" />
        <!-- get new uninstall dir from c:\ProgramData -->
        <variable name="PKG_UNINSTALLDIR"        value="{4A1CF2DA-D340-457D-8D63-0E0415548F52}" />
        <variable name="PKG_OLDUNINSTALLDIR"        value="{D727AE55-6106-4988-A2F5-BD1F62329036}\" />
        <variable name="PKG_SOURCE"         value="%SOFTWARE%\packages\Flashfxp"/>
        <variable name="PKG_DESTINATION"    value="%ProgramFiles%\FlashFXP"      architecture="x86"/>
        <variable name="PKG_DESTINATION"    value="%ProgramFiles(x86)%\FlashFXP" architecture="x64"/>
        <variable name="PKG_INSTALL_SWITCH" value='-s -var:"AllUser=Yes" '/>

        <check type="uninstall" condition="versiongreaterorequal" path="FlashFXP .+" value="%PKG_VERSION%" />

        <install cmd='"%PKG_SOURCE%\FlashFXP%PKG_FILEVERSION%_Setup.exe" %PKG_INSTALL_SWITCH% ' />
        <install cmd='%ComSpec% /c for /l %V in (0,1,3) do @for %F in ( ProgramData\~%V ) do if exist "C:\\%F\\FlashFXP_setup.exe" rmdir /q /s "C:\\%F"  ' >
            <exit code="any"/>
        </install>

        <upgrade include='install' />
        <downgrade include='install' />

        <!-- installaware installer /s does work only using cmd.exe -->
        <remove cmd='%COMSPEC% /c IF EXIST "C:\ProgramData\%PKG_UNINSTALLDIR%\FlashFXP_Setup.exe" "C:\ProgramData\%PKG_UNINSTALLDIR%\FlashFXP_Setup.exe" REMOVE=TRUE MODIFY=FALSE /s ' >
            <exit code="0" />
            <exit code="3010" />
            <exit code="1605" />
        </remove>
        <remove cmd='%COMSPEC% /c IF EXIST "C:\ProgramData\%PKG_OLDUNINSTALLDIR%\FlashFXP_Setup.exe" "C:\ProgramData\%PKG_OLDUNINSTALLDIR%\FlashFXP_Setup.exe" REMOVE=TRUE MODIFY=FALSE /s ' >
            <exit code="0" />
            <exit code="3010" />
            <exit code="1605" />
        </remove>
<!-- look for directories like c:\ProgramData\~0\ containing FlashFXP_Setup.exe and remove 'em -->
        <remove cmd='%ComSpec% /c for /l %V in (0,1,3) do @for %F in ( ProgramData\~%V ) do if exist "C:\\%F\\FlashFXP_setup.exe" rmdir /q /s "C:\\%F"  ' >
            <exit code="any"/>
        </remove>
    </package>
</packages>