Monday 15 February 2010

windows installer - Wix - uninstall remove files but not folders -



windows installer - Wix - uninstall remove files but not folders -

i created wix installer using heat cmd. on uninstall files removed not folders removed. relevant part of code:

<directory id="targetdir" name="sourcedir"> <directory id="$(var.platformprogramfilesfolder)"> <directory id="companydir" name="companyname"> <directory id="installfolder" name="appname"> <directory id="installdir" > <directory id="bin" name="bin"> <!-- auto-start via registry --> <component id="appnameautostartup" guid="myguid"> <condition>automatic_start_up=1 or installed</condition> <registryvalue id="app.rst" root="hkcu" action="write" key="software\microsoft\windows\currentversion\run" name="appname" value="[#appname.exe] -sc" type="string" /> </component> </directory> <directory id="docs" name="docs"> </directory> </directory> </directory> </directory> </directory> <directory id="commonappdatafolder"> <directory id="confcompanydir" name="company"> <directory id="confinstallfolder" name="appname"> <directory id="confinstalldir" > <directory id="conf" name="conf"> </directory> </directory> </directory> </directory> </directory> <!-- shortcuts , directories shortcuts --> <directory id="programmenufolder" name="programs"> <directory id="programmenudir" name="appname"> <component id="programfilesshortcut" guid="myguid"> <condition>desktop_shortcut = 1</condition> <shortcut id="desktopappname" directory="desktopfolder" name="appname" target="[#appname.exe]" workingdirectory="bin" icon="appicon.ico"> </shortcut> <removefolder id="programfilesshortcut" on="uninstall" /> <registryvalue root="hkcu" key="software\[manufacturer]\[productname]" name="installed" type="integer" value="1" keypath="yes" /> </component> <component id="programmenudir" guid="myguid"> <shortcut id="startmenuappname" directory="programmenufolder" name="appname" target="[#appname.exe]" icon="appicon.ico" workingdirectory="bin" arguments="-s"> <!-- set appid in order toasts work --> <shortcutproperty key="system.appusermodel.id" value="company.appname" /> </shortcut> <removefolder id="programmenudir" on="uninstall" /> <registryvalue root="hkcu" key="software\[manufacturer]\[productname]" name="installed" type="integer" value="1" keypath="yes" /> </component> </directory> </directory> <directory id="desktopfolder" name="desktop" /> </directory>

the docs folder removed on uninstall bin folder not removed (although empty, files removed). have thought why not removed?

i added code feature element:

<component directory='installdir'> <removefolder id='cleanupapplicationfolder' on='uninstall' /> </component>

so should change installdir main folder (and should uninstall all).

wix windows-installer wix3.7

No comments:

Post a Comment