TortoiseHg
From WPKG | Open Source Software Deployment and Distribution
TortoiseHg is the Tortoise Source Code user interface, built for the Mercurial source code management tool.
The packages below are configured to move all of the shortcuts into the a submenu "Software Development" in the Start Menu. Naturally part is optional.
<package id="tortoisehg" name="TortoiseHg" revision="20110309.16" reboot="false" priority="10">
<depends package-id="software-dev-menu" />
<depends package-id="adobereader10"/>
<variable name="shortcutPath" value="%ALLUSERSPROFILE%\Start Menu\Programs\Software Development\TortoiseHg\TortoiseHg Workbench.lnk" />
<check type="logical" condition="and">
<check type="logical" condition="or">
<check type="uninstall" condition="exists" path="TortoiseHg 2.0.0 (x86)" />
<check type="uninstall" condition="exists" path="TortoiseHg 2.0.0 (x64)" />
</check>
<check
type="file"
condition="exists"
path='%shortcutPath%'
/>
</check>
<!-- install -->
<install cmd='msiexec /qn /i "%SOFTWARE%\Utilities\tortoise\tortoisehg-2.0.0-hg-1.8-%PROCESSOR_ARCHITECTURE%.msi"'>
<exit code="0" />
<exit code="3010" restart="delayed"/> <!-- just tells us we need to restart -->
</install>
<install cmd='%COMSPEC% /C if not exist "%shortcutPath%"s xcopy "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\*" "%ALLUSERSPROFILE%\Start Menu\Programs\Software Development\TortoiseHg\" /S /Y /I' />
<install cmd='%COMSPEC% /C if exist "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\TortoiseHg Workbench.lnk" rmdir /S /Q "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\"' />
<!-- upgrade -->
<upgrade cmd='msiexec /qn /i "%SOFTWARE%\Utilities\tortoise\tortoisehg-2.0.0-hg-1.8-%PROCESSOR_ARCHITECTURE%.msi"'>
<exit code="0" />
<exit code="3010" restart="delayed"/> <!-- just tells us we need to restart -->
</upgrade>
<upgrade cmd='%COMSPEC% /C if not exist "%shortcutPath%" xcopy "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\*" "%ALLUSERSPROFILE%\Start Menu\Programs\Software Development\TortoiseHg\" /S /Y /I' />
<upgrade cmd='%COMSPEC% /C if exist "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\TortoiseHg Workbench.lnk" rmdir /S /Q "%ALLUSERSPROFILE%\Start Menu\Programs\TortoiseHg\"' />
<!-- remove -->
<remove cmd='%COMSPEC% /c if exist %shortcutPath% rmdir /S /Q "%ALLUSERSPROFILE%\Start Menu\Programs\Software Development\TortoiseHg\"' />
<!-- x86 version -->
<remove cmd='msiexec /qn /x {4A2987AD-5E16-415E-ADAC-2BCEA7E025D2}' >
<exit code="0" />
<exit code="1605" /> <!-- just in case this isn't the version installed -->
<exit code="3010" restart="delayed"/> <!-- just tells us we need to restart -->
</remove>
<!-- AMD64 version -->
<remove cmd='msiexec /qn /x {E0FB55DF-32EF-41E4-92D2-B89EAF64D1AC}' >
<exit code="0" />
<exit code="1605" /> <!-- just in case this isn't the version installed -->
<exit code="3010" restart="delayed"/> <!-- just tells us we need to restart -->
</remove>
</package>
The "Software Development" submenu in the Start Menu:
<package id="software-dev-menu" name="software-dev-menu" revision="20110309.2" reboot="false" priority="0">
<variable name="dirPath" value="%ALLUSERSPROFILE%\Start Menu\Programs\Software Development" />
<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>