WiX Toolkit,带引导程序包的MSI产品,什么是正确的事件序列?

Vip*_*pX1 4 wix burn

我的应用程序需要12个DLL文件和.NET 4.0客户端配置文件和SQL Server Compact.

使用WiX Toolkit 3.7和Visual Studio 2012,我构建了一个Burn引导程序,用于安装.NET 4.0和SQL Server Compact,然后是我的MSI文件,其中包含所有DLL文件等.我通过阅读文档和其他问题来完成此操作.关于Wix的Stack Overflow.我正在新安装的Windows 7计算机上测试安装过程.:)

但是,我对安装程序过程的一个方面感到困惑...

我认为我的MSI文件作为主安装程序运行,并且只有在目标计算机上缺少.NET 4.0 CP或SQL Server Compact时才会启动引导程序并安装缺少的软件包.

我现在的情况,虽然它有效,但我的MSI文件是隐藏的,我唯一的文件是我的Bootstrapper.exe文件,我在安装过程中看到的唯一对话是bootstrapper对话.这是正确的还是我做得不好?

我已经将Bootstrapper的构建输出更改为MSI,所以我留下了一个很棒的MSI文件.考虑到原始product.wxs项目输出(MSI文件)现在已嵌入Bootstrapper.msi文件中 - 我应该从原始product.wxs项目中获取所有UI元素吗?

如果是这样,我猜我可以自定义引导程序UI.

Vin*_*oth 10

您错误地理解了引导程序的概念.Bootstrapper链接所有包,包括您的MSI文件和其他先决条件.所以你应该总是运行引导程序.如果已经安装了先决条件,则引导程序将跳过这些并且仅安装MSI安装程序.

引导程序的主要目标是提供单一用户体验.因此,您需要编写自己的MBA(托管引导程序应用程序)来显示不同的安装程序页面,并根据您的意愿获取用户的输入.

但是,如果您查看任何其他即时简单的解决方案,则需要将该MSI包的DisplayInternalUI属性设置为yes以显示对话框.但在这种情况下,也会显示引导程序窗口,直到安装完成.如果您使用此选项,我会提供一些修改默认MBA的建议.

注意:您认为自己在MSI对话框中拥有许可协议.

使用HyperLinklicense并将许可证URL设置为空.如果您使用以下Bal扩展名.您将获得带有安装和关闭按钮的普通安装程序页面.

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
    <bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" LicenseUrl="" LogoFile="logo.jpg" />
</BootstrapperApplicationRef>
Run Code Online (Sandbox Code Playgroud)