wixwindows-installerwix4

WiX v4 bootstrapper - setting the InstallFolder to program files doesn't resolve


I have a WiX v4 project which uses a bootstrapper, declared in a <Bundle>. I want to set the default InstallFolder based on the program files folder, so I've structured it like this:

<Wix ...>
    <Bundle ...>

        <Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]MyProduct" />
        
        <BootstrapperApplication>
            <bal:WixStandardBootstrapperApplication Theme="hyperlinkLicense" LicenseUrl="" />
        </BootstrapperApplication>

        <Chain>
            ...
        </Chain>

    </Bundle>
</Wix>

However the [ProgramFilesFolder] doesn't resolve, and all I see is this:

Install folder selection

I've seen a couple of examples online suggesting this is how it's done (and no obvious documentation from wix toolset showing how to resolve variables in a bundle). What am I doing wrong?


Solution

  • Change your variable Type="string" to Type="formatted" and the variable [ProgramFilesFolder] will be resolved