Img2gps
IMG2GPS is a utility which allow Garmin .img file to be uploaded to a Garmin GPS, without needing to use Garmin's MapSource software. This means that it is possible to use "homemade" .img files such as those generated using OpenStreetMap data.
It can be downloaded here
The installer is an InnoSetup installer, so it is possible to create a .inf file with your preferences, by using the /saveinf flag. (See [1])
I include a very simple extra package to add a "GPS Tools" folder in the start menu that can be used by multiple other packages.
<package id="gps-tools-menu" name="gps-tools-menu" revision="20101119.3" reboot="false" priority="0">
<variable name="dirPath" value="%ALLUSERSPROFILE%\Start Menu\Programs\GPS Tools" />
<check type="execute" path='%COMSPEC% /C if exist "%dirPath%" (exit /B 0) else (exit /B 1) ' condition="exitcodeequalto" value="0"/>
<install cmd='%COMSPEC% /C mkdir "%dirPath%"' />
<remove cmd='%COMSPEC% /C rmdir /S /Q "%dirPath%"' />
</package>
<package id="img2gps" name="img2gps" revision="20100917.1" reboot="false" priority="0">
<check type="uninstall" condition="exists" path="Img2gps v2.81" />
<install cmd="%SOFTWARE%\img2gps\img2gps_281_setup.exe /loadinf=%SOFTWARE%\img2gps\ma-install2.inf /sp- /verysilent /norestart /SUPPRESSMSGBOXES" />
<install cmd="%comspec% /c del /Q /F "%ALLUSERSPROFILE%\Start Menu\Programs\GPS Tools\Uninstall Img2gps.lnk"" />
<upgrade cmd="%programfiles%\Img2gps\unins000.exe /sp- /veryslient /norestart /SUPPRESSMSGBOXES /nocancel" />
<upgrade cmd="%SOFTWARE%\img2gps\img2gps_281_setup.exe /loadinf=ma-install2.inf /sp- /verysilent /norestart /SUPPRESSMSGBOXES" />
<remove cmd="%programfiles%\Img2gps\unins000.exe /sp- /veryslient /norestart /SUPPRESSMSGBOXES /nocancel" />
</package>