1
votes

I am using WiX 3.10 Burn to install .NET before my application that requires it in the following way:

<Chain>
    <PackageGroupRef Id="NetFx45Web"/>
    <MsiPackage Id="MyApplication" SourceFile="$(var.MyApplicationSetup.TargetPath)"/>
</Chain>

When running the installer, after .NET is installed, the MSI package displays a license page. If the license is declined by the user, the installer exits without installing anything except the .NET.

However, there is already an entry for MyApplication in 'Uninstall a program' in Windows, because of the .NET installation. .NET is listed in 'Uninstall a program' separately.

Is there any way to ensure that MyApplication is not listed when none of it was actually installed?

1
I'm pretty sure this Prerequisite is not installed under the Control Panel entry. Could you execute your setup.exe with logging enabled so we can see what is being done? - Starceaker
What do you mean by 'this Prerequisite' ? What I'm saying is that both MyApplication and .NET are listed separately in 'Uninstall a program' in Control Panel. But since I declined the license, I don't want MyApplication to be there. - ondrisko
Anyway, I found that this is by design and there is a WiX feature request handling this: github.com/wixtoolset/issues/issues/4822. - ondrisko

1 Answers

0
votes

I found out that this behavior is by design in WiX (see discussion).

There is currently an open feature request to handle such scenarios.

I handled it this way in my application: When a user declines the license (which is displayed by my managed bootstrapper) or exits the installer prematurely in any other way, I apply an uninstall of my application.