要知道的关键是,WiX二进制文件中有一个BootstrapperCore.dll,它定义了一个BootstrapperApplication类来处理与Burn引擎的集成。 我需要创建自己的派生类并重写'Run'方法以启动自定义UI。
使用为WiX引导程序定义UI的WixBA项目作为使用BootstrapperApplication类(src \ Setup \ WixBA \ WixBA.csproj)的参考也很有用。
我用来引用自定义引导程序DLL文件的标记是:
SourceFile="$(var.InstallSourceResources)Bootstrapper\FusionInstallUX.BootstrapperCore.config"
Name="BootstrapperCore.config" Compressed="yes"/>
配置文件包括:
name="wix.bootstrapper"
type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore">
name="host"
type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" />
我还遵循了其他示例并附加了
[assembly: BootstrapperApplication(typeof([name of class deriving from BootstrapperApplication]))]
AssemblyInfo.cs文件。
最后,堆栈溢出问题在Burn托管引导程序中指定WiX中软件包的安装,描述了如何设置和使用Burn变量来帮助推动安装。
有了这些信息,我现在准备使用我自己的自定义Bootstrapper应用程序对世界造成破坏!