[wix-users] How to conditionally remove configuration?

Hoover, Jacob Jacob.Hoover at greenheck.com
Wed May 13 08:53:20 PDT 2020


http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern/


From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Markus Kramer via wix-users
Sent: Wednesday, May 13, 2020 10:45 AM
To: wix-users at lists.wixtoolset.org
Cc: Markus Kramer <markuskramerigitt at gmail.com>
Subject: Re: [wix-users] How to conditionally remove configuration?

Greetings,
sadly, I am unable to use RemoveFile conditionally in the wxs file below.
Is REMOVE_CONFIG not yet present when RemoveFile is scheduled?

Thank you,
Markus


<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi<http://schemas.microsoft.com/wix/2006/wi>">
<Product
Name='Foobar 1.0'
UpgradeCode='053437f1-994d-4758-be0e-99ccf6d89618'
Id='*'
Language='1033'
Version='1.0.0'
Manufacturer='Acme Ltd.'
>
<Package InstallerVersion='450' Compressed='yes'
InstallScope="perMachine" />
<MediaTemplate EmbedCab="yes" />
<!-- With SetProperty, the commandline property REMOVE_CONFIG=1 has no
effect -->
<!-- <SetProperty Id="REMOVE_CONFIG" Value="0"
Before="CostInitialize"/> -->
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='Acme' Name='Acme'>
<Directory Id='INSTALLFOLDER' Name='FoobarBin'>
<Component Id='MainExecutable'>
<File Id='FoobarEXE' Name='FoobarAppl10.exe'
Source='FoobarAppl10.exe' KeyPath='yes'/>
</Component>
</Directory>
<Directory Id='CONFIGFOLDER' Name='FoobarConf'>
<Component Id="RmConfComponent" Transitive='yes'
Guid="b0244929-7cdd-4f5d-9a49-c8672382747d">
<!-- The commandline property REMOVE_CONFIG=1 has no effect
on RemoveFile
Maybe because msi schedules properties after Remove Files?
Transitive='yes' added because of

https://stackoverflow.com/questions/16037821/why-are-properties-ignored-on-uninstallation-if-they-have-not-been-set-on-insta<https://stackoverflow.com/questions/16037821/why-are-properties-ignored-on-uninstallation-if-they-have-not-been-set-on-insta>
-->
<Condition>REMOVE_CONFIG=1</Condition>
<CreateFolder />
<RemoveFile Name="*.*" On="uninstall" Id="RmConfig"/>
<RemoveFolder Id="CONFIGFOLDER" On="uninstall"/>
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
<Feature Id='Complete'>
<ComponentRef Id='MainExecutable'/>
<ComponentRef Id='RmConfComponent'/>
</Feature>
</Product>
</Wix>


On Tue, May 12, 2020 at 5:19 PM Markus Kramer <markuskramerigitt at gmail.com<mailto:markuskramerigitt at gmail.com>>
wrote:

> Greetings,
> I use custom actions to remove configuration on uninstall, depending on an
> property (REMOVE_CONFIG)
>
> I would like to replace my custom actions with RemoveFolderEx but
> RemoveFolderEx is called so early, that there are no properties yet.
>
> How could you make RemoveFolderEx depend on a user property?
> E.g. could I call RemoveFolderEx from my custom action?
>
> Can RemoveFolder (without Ex) depend on a user property?
>
> Is there a best practice for configuration data?
>
>
> Thank you,
> Markus
>
> P.S. I tried to search the mail archive but was unable to use the
> search function.
>
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/<http://www.firegiant.com>
NOTE: This email was received from an external source. Please use caution when opening links or attachments in the message.



More information about the wix-users mailing list