wix burn bundle not appearing in "add or remove programs" - wix

I have created a bundle installer using burn, and it is working correctly, I can install and unintsall using the exe, but it isn't appearing in the control panel "add or remove programs"
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Version="14.0" UpgradeCode="7adb5f07-fb5f-4348-8f28-c821bebdc15e">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LogoFile="..\Installers\Graphics\banner.png"
LicenseFile="..\Installers\Text\licence.rtf"
ShowVersion="yes"
ThemeFile="ClassicTheme.xml"
LocalizationFile="ClassicTheme.wxl"
/>
</BootstrapperApplicationRef>
<Chain>
<MsiPackage DisplayName="Install My Stuff" Permanent="no" Name="My Stuff" SourceFile=".\Kits\XL\Stuff.msi"></MsiPackage>
<ExePackage DisplayName="Register Components" Permanent="no" Name="my custom stuff" SourceFile=".\Bin\RegAddIns.exe"></ExePackage>
</Chain>
</Bundle>
</Wix>

Your bundle doesn't have a name is my guess. You're missing several possible attributes in your <Bundle> tag. Usually I would include the Name, Version, Manufacturer, IconSourceFile, and UpgradeCode in the bundle definition. These are all used in the add/remove programs entry.

Related

CMake and CPack WiX Standard Bootstrapper Application

according to CPack/WIX documentation
I can create *.msi installer
as described here
Feeding a custom wxs file to CPackWIX
But I need more complex scenario, where I have top level Bundle -> bootstrapper_installer.exe
which in turn run child *.msi installers:
https://wixtoolset.org/documentation/manual/v3/bundle/wixstdba/
It means like I need to run CPack twice firstly to generate product_installer.msi
second time to make main installer - bootstrapper_installer.exe with embedded product_installer.msi
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="Source-Connect" Version="$(var.Version)" Manufacturer="$(var.Manufacturer)" UpgradeCode="69157fdc-819e-4e70-9fac-b2a0840a7a11">
<MsiPackage SourceFile="$(var.Product-Installer.TargetPath)" DisplayInternalUI="no" Compressed="yes">
<MsiProperty Name="LAUNCH_AFTER_INSTALL" Value="[LaunchAfterInstall]" />
<MsiProperty Name="FORCE_CLOSE_APPLICATION" Value="[CloseRunningApp]" />
</Chain>
</Bundle>
</Wix>
Is there way to achieve this using Cmake/CPack?

WIX Uninstall an EXE Package

I am working on a wix installer that Installs WebView2. I have this working. However, when I uninstall WebView2 is left on my system. How do I remove the WebView2 when the uninstaller is ran?
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" >
<Bundle Name="Build.Bootstrap.Installer" Version="1.0.0.0" Manufacturer="Company Name" UpgradeCode="GUID">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
<Chain>
<ExePackage Id="InvokeBootstrapper" Name="Install WebView2 Runtime" Cache="no" Compressed="no"
PerMachine="yes" Vital="yes" SourceFile="MicrosoftEdgeWebview2Setup.exe"
InstallCommand=" /silent /install" InstallCondition="NOT (REMOVE OR WVRTInstalled)" />
<!-- TODO: Define the list of chained packages. -->
<!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
</Chain>
</Bundle>
</Wix>

Wix Bootstrapper does not display manufacturer name in Programs and Features menu

Wix bootstrapper does not show the manufacturer name in the add/remove programs menu. I am looking to replicate what the following programs have but even though my bootstrapper bundle has it's manufacturer name specified nothing displays at all where there should be a manufacturer/publisher name.
Programs and Features Screenshot
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="name" Version="1.0.0.0" Manufacturer="manufacturer" UpgradeCode="84884025-3ff1-4d8e-9fcc-385119a8a322">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="licence.rtf"
SuppressOptionsUI="yes"/>
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="x64" InstallCondition="VersionNT64" SourceFile="$(var.proj.Installer.TargetDir)-Debug-x64.msi"/>
<MsiPackage Id="x86" InstallCondition="NOT VersionNT64" SourceFile="$(var.proj.Installer.TargetDir)\x86\-Debug-x86.msi"/>
</Chain>
</Bundle>
</Wix>

Bundling 3rd party Msi in WiX bootstrapper

I am tying to include a driver MSI in my package chain, but I am not sure how to reference it.
I have the following code the MSI is in my project folder/Resources/DriverInstaller.msi
this is what I have, but I receive this error on build
Undefined preprocessor variable '$(var.InstallerBootstrapper.ProjectDir)'. InstallerBootstrapper
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="Installer" Version="4.0.0.0" Manufacturer="Laxus Hipot" UpgradeCode="7cbb781f-c5cc-4805-b599-713357824532">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="Resources\EULA.rtf" LogoFile="Resources\Icon.png" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="DriverInstaller" SourceFile="$(var.InstallerBootstrapper.ProjectDir)Resources\DriverInstaller.msi" />
<MsiPackage Id="Installer" SourceFile="$(var.InstallerSetup.TargetPath)" />
</Chain>
</Bundle>
</Wix>
Reference the relevant Project "InstallerBootstrapper" in the wixproj file.
For example
<ProjectReference Include="..\InstallerBootstrapper.csproj">
<Name>InstallerBootstrapper</Name>
<Project>{project guid}</Project>
</ProjectReference>

Merging two msi using wix toolset

How to merge two msi using wixedit, presently they are having 4.0 version of wixtoolset. In the documentation they have mentioned that merging two msi in windows is possible using bundles and chain tags. But whenver I try to do it, it always show some error. Please let me know any example of wix tool set to merge two msi using bundle and chain tags.
I am following Bootstrapper method as provided in pdf of wix 3.6. To bundle two msi using chain element.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Bundle Name="Prog" Version="0.0.0.1" Manufacturer="my Corporation" UpgradeCode="f380ae43-5df1-4cfe-9297-526e3e333e99">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="..\license.rtf" />
</BootstrapperApplicationRef>
<Chain>
<!-- TODO: Define the list of chained packages. -->
<PackageGroupRef Id="Netfx45FullPackage" />
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="Netfx45FullPackage">
<MsiPackage Id="Prog" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\Prog.msi" />
<MsiPackage Id="Prog2" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="$(var.installerPath)\Prog2.msi" />
</PackageGroup>
</Fragment>
</Wix>
you can add the variable installerPath