Dia

Dia is a (vector) diagram editor, similar to OpenOffice Draw.

The Dia site is at http://live.gnome.org/Dia. Dia for Windows is available from http://dia-installer.de/.

DIA 0.97.2-2

This package definition is based on the old version, but added the rmdir at the end and made it a little bit more parametrizable.

<package 
  id="dia" 
  name="Dia Diagram Editor" 
  revision="%version%.0" 
  reboot="false" 
  priority="1">

        <variable name="version"        value="0.97.2" />
        <variable name="PKG_INSTALL"    value="%SOFTWARE%\dia\dia-setup-%version%-2-unsigned.exe" />
        <variable name="PKG_INSTDIR"    value="%PROGRAMFILES%\dia" />
        <variable name="PKG_INSTDIR"    value="%PROGRAMFILES(x86)%\dia" architecture="x64" />
        <variable name="PKG_UNINSTALL"  value="%PKG_INSTDIR%\dia-%version%-uninstall.exe" />

        <check type="file" condition="exists" path="%PKG_UNINSTALL%" />

        <install cmd='"%PKG_INSTALL%" /S /D="%PKG_INSTDIR%"' />

        <upgrade include='install' />

        <downgrade include='upgrade' />

        <remove cmd='%PKG_UNINSTALL% /S' />
        <remove cmd='%COMSPEC% /C rmdir /S /Q "%PKG_INSTDIR%"' />

</package>


DIA 0.97.1-2

<!-- dia install ; for 32-bit and 64-bit hosts -->
<package 
  id="dia" 
  name="Dia Diagram Editor" 
  revision="0.97.1.2-20111017" 
  reboot="false" 
  priority="1">    
    <check type="logical" condition="or">
      <check type="file" condition="exists" path="%PROGRAMFILES%\dia\dia-0.97.1-uninstall.exe" />
      <check type="file" condition="exists" path="%PROGRAMFILES(x86)%\dia\dia-0.97.1-uninstall.exe" />
    </check>
    <install cmd='%SOFTWARE%\dia\dia-setup-0.97.1-2.exe /S' />
    <upgrade cmd='%SOFTWARE%\dia\dia-setup-0.97.1-2.exe /S' />
    <remove cmd='%PROGRAMFILES%\dia\dia-0.97.1-uninstall.exe /S' />
    <remove cmd='%PROGRAMFILES(x86)%\dia\dia-0.97.1-uninstall.exe /S' />
</package>

Uninstall removes all files, but leaves the directory structure intact. so there is an RMDIR invoked at the end.

It might be a good idea to uninstall previous versions before upgrading to a newer version. Otherwise at least the old uninstall executable does not get removed.

Installer Command-line Switches

/S - silent install
/D=<directory> - install into a different directory