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>
Related
I find to set administration privilages for Wix installer you have to set:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated"/>
in <Product/>. But where/how set that for Bundle, because I cant create <Package/> ?
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Bootstrapper13" Version="1.0.0.0" Manufacturer="" UpgradeCode="86064926-b150-448f-aba9-fb0c8f4a83b5">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<!-- TODO: Define the list of chained packages. -->
<!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
</Chain>
</Bundle>
Burn automatically detects when you have a perMachine package; you don't have to tell it.
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>
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.
Is there a way to change that redish CD picture in the installer?
Here's the code of the Burn project:
<?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">
<Bundle Name="Bootstrapper" Version="1.0.0.0" Manufacturer="VilmosNagy" UpgradeCode="844c755f-f02b-4dd3-8b9c-af2498f3128c">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage SourceFile="..\Setup\bin\Release\Setup.msi" />
</Chain>
</Bundle>
</Wix>
Thanks!
Yes, you can use a custom theme. Here is an example from https://github.com/frederiksen/Classic-WiX-Burn-Theme:
Yes, you will want to set the LogoFile. Inside of BootstrapperApplicationRef add
<WixStandardBootstrapperApplication LogoFile="path to your logo.bmp"/>
More info on WixStandardBootstrapperApplication
To clarify Rick Bowerman's answer above, you need to use the extended XML schema in order to use WixStandardBootstrapperApplication and remove/replace the icon. Here is a more elaborate example:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
...
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl="" LogoFile="blank.png" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage SourceFile="$(var.Msi_x86)" />
<MsiPackage InstallCondition='VersionNT64' SourceFile="$(var.Msi_x64)" />
</Chain>
...
</Wix>
Note that you have to specify something for the LogoFile attribute. It cannot be empty, and leaving the attribute out will restore the horror.
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