User interface wixburn:如果没有网络框架,基本的UI处理
我使用Win表单在C#for Net Framework 2.0中编写了一个Boostrapper UI。它开始运作良好,设计的表单也按预期响应 以下是我的Wix捆绑包代码:User interface wixburn:如果没有网络框架,基本的UI处理,user-interface,wix,bootstrapper,wix3.7,.net-framework-version,User Interface,Wix,Bootstrapper,Wix3.7,.net Framework Version,我使用Win表单在C#for Net Framework 2.0中编写了一个Boostrapper UI。它开始运作良好,设计的表单也按预期响应 以下是我的Wix捆绑包代码: <?define TargetFile=$(var.MyBA.TargetDir)$(var.MyBA.TargetFileName)?> <?define BootstrapConfigFile=$(var.MyBA.ProjectDir)BootstrapperCore.config?>
<?define TargetFile=$(var.MyBA.TargetDir)$(var.MyBA.TargetFileName)?>
<?define BootstrapConfigFile=$(var.MyBA.ProjectDir)BootstrapperCore.config?>
<Bundle Name="Bootstrapper1" Version="1.0.0.0" Manufacturer="Farrukh" UpgradeCode="54c4a4a4-dca8-4ae4-b2f4-5e3f3fd8cb92">
<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
<Payload SourceFile="$(var.BootstrapConfigFile)"/>
<Payload SourceFile="$(var.TargetFile)"/>
<Payload SourceFile="$(env.WIX)\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
</BootstrapperApplicationRef>
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
<Chain>
<!--<PackageGroupRef Id='Netfx4Full' />-->
<MsiPackage Id="MyInstaller"
Cache="no"
Visible="yes"
DisplayInternalUI="yes"
SourceFile="MyProduct.msi"
/>
</Chain>
</Bundle>
和32位
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup-Renamed
这样它就无法检测到它。这导致显示了一个非常基本的UI:。
我相信,这是由于我的捆绑包中的以下标记而显示的,但我不确定这一点
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
然而,当我点击“接受并安装”时,什么也没发生,按钮也不见了。这可能是因为我没有添加NetFx包,也没有添加对WixNetFxExtension的任何引用。(我肯定会添加这些,稍后会看到结果)
问题:我想编辑此基本用户界面,以便如果我的用户尝试在Windows XP(没有网络框架)上安装它,他/她将获得我将设计的用户界面,而不是此基本用户界面。那么我如何编辑这个基本UI呢
我觉得,我缺少一些基本的东西,但需要一些指导。。非常感谢您的帮助/指导
关于在Wix用户的邮件列表中找到一个线程后,我能够解决这个问题。在这里:
因此,这个屏幕被称为Burn Premission,它有一个特殊的WixVariable ID。下面是我的引导程序中的代码,描述了我自己的自定义主题在Burn的pre-req屏幕中的使用:
<WixVariable Id="PreqbaThemeXml" Value="..\resources\MbaPrereqTheme.xml" />
<WixVariable Id="PreqbaThemeWxl" Value="..\resources\MbaPrereqTheme.wxl" />
并且,您在MbaPrereqTheme.xml中引用的任何资源,如Logo.png、Banner.bmp和NetfxLicense.rtf等,都必须作为有效负载作为引导程序的一部分:
<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" >
<Payload SourceFile="$(var.BootstrapConfigFile)"/>
<Payload SourceFile="$(var.MyBootstrapDll)"/>
<Payload SourceFile="$(env.WIX)\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
<!-- Following are required as payload and to be used by Pre-Req screen.-->
<Payload SourceFile="..\resources\logo.png"/>
<Payload SourceFile="..\resources\Banner.bmp"/>
<Payload SourceFile="..\resources\NetfxLicense.rtf"/>
</BootstrapperApplicationRef>
这就像我希望的那样开始起作用:)
关于很遗憾,整个wix/burn系统功能强大,但缺乏这么多文档。谢谢你的洞察力!
<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" >
<Payload SourceFile="$(var.BootstrapConfigFile)"/>
<Payload SourceFile="$(var.MyBootstrapDll)"/>
<Payload SourceFile="$(env.WIX)\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
<!-- Following are required as payload and to be used by Pre-Req screen.-->
<Payload SourceFile="..\resources\logo.png"/>
<Payload SourceFile="..\resources\Banner.bmp"/>
<Payload SourceFile="..\resources\NetfxLicense.rtf"/>
</BootstrapperApplicationRef>