Wix Standard Bootstrapper Application without License Agreement

In the bundle file replace:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />

with:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
  <bal:WixStandardBootstrapperApplication 
    xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
    LicenseUrl=""
  />
</BootstrapperApplicationRef>

WixStandardBootstrapperApplication has three variants as explained in the WiX Manual. HyperlinkLicense is the simplest. It has a license link on the welcome page instead of a license page. It allows you to specify an empty URL for the license, in which case it would not display the link.

Links: Stackoverflow, WiX Manual.

Registration of .NET COM Assemblies with WiX

Even though it is recommended to use heat.exe in Pre-Build event to extract COM information from .NET assemblies, this method does not work if the COM component to be registered is an ActiveX control.

The only acceptably working solution I have found so far is use custom actions, for example:

<InstallExecuteSequence>
  <Custom Action='comReg' After='InstallFinalize'>NOT REMOVE</Custom>
  <Custom Action='comUnreg' Before='RemoveFiles'>Installed</Custom> 
</InstallExecuteSequence>

<CustomAction
  Id='comReg'
  Directory='INSTALLDIR'
  ExeCommand='"[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\regasm.exe" "[INSTALLDIR]my.dll" /codebase /tlb'
  Return='check' />

<CustomAction
  Id='comUnreg'
  Directory='INSTALLDIR'
  ExeCommand='"[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\regasm.exe" /u "[INSTALLDIR]my.dll"'
  Return='check' />

Of course, there are some drawbacks, but in general, the solution works.

Link: Stackoverflow.