gpt4 book ai didi

user-interface - 蜡刻录 : Basic UI handling if No Net Framework is there

转载 作者:行者123 更新时间:2023-12-04 06:38:03 25 4
gpt4 key购买 nike

我使用 Win-Forms 在 C# 中为 Net Framework 2.0 编写了一个 Boostrapper UI。它开始工作正常,设计的表单按预期响应。

这是我的 Wix bundle 代码:

<?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>

如您所见,它不包含 NetFX 包,并且因为它需要 Net-Framework 2.0,我尝试重命名 Net Framework 注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup-Renamed

和 32 位

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup-Renamed

这样它就无法检测到它。这导致显示一个非常基本的用户界面:即 enter image description here

我相信,这是由于我的 bundle 中的以下标记而显示的,但我不确定

<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />

但是,当我单击“接受并安装” 时,没有任何反应,按钮只是消失了。这可能是因为我没有添加 NetFx 包,也没有添加任何对 WixNetFxExtension 的引用。 (我肯定会添加这些,稍后会看到结果)。

问题:我想编辑这个基本 UI,这样如果我的用户尝试在 Windows XP(没有 Net Framework)上安装它,他/她将获得我设计的 UI,而不是这个基本的。那么我该如何编辑这个基本的 UI?

我觉得,我在这里缺少一些基本的东西,但需要一些指导.. 非常感谢任何帮助/指导。

问候

最佳答案

在 Wix 用户的邮件列表上找到一个线程后,我能够解决这个问题。在这里:
customizing burn prerequisite boostrapper image in theme

所以这个屏幕被称为Burn Prerequisite,它有一个特殊的 WixVariable ID。这是我的 Bootstrapper 中的代码,描述了我为 Burn 的先决条件屏幕使用我自己的自定义主题:

<WixVariable Id="PreqbaThemeXml" Value="..\resources\MbaPrereqTheme.xml" />
<WixVariable Id="PreqbaThemeWxl" Value="..\resources\MbaPrereqTheme.wxl" />

您在 MbaPrereqTheme.xml 中引用的任何资源,如 Logo.png、Banner.bmp 和 NetfxLicense.rtf 等,都必须作为 PayLoad 成为 Bootstrapper 的一部分:

<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>

这就像我希望的那样开始工作:)。

问候

关于user-interface - 蜡刻录 : Basic UI handling if No Net Framework is there,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21333045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com