【问题标题】:Burn: Run Managed Bootstrapper where Dot Net Framework 4 is not installed刻录:在未安装 Dot Net Framework 4 的情况下运行托管引导程序
【发布时间】:2013-05-09 10:28:15
【问题描述】:

我是 Burn 的新手,正在学习开发 Managed Bootstrapper Application (MBA) 以及 Bundle 包。由于 MBA 需要 Dot Net Framework 4.x,我们需要在执行托管接口之前将其安装在目标操作系统上。

问题:这是否可以在从一个包中启动 Bootstrapper 的托管接口之前启动 .Net framework 4.x 安装?

想法:我们不是将 dotnet framework 4.x 打包到一个包中,而是为 dotnet framework 4.xx 创建单独的包并添加我们的主包(包含 MBA),这是一个好主意吗?也进入其中,以便它首先启动 dotnet framework 4.xx 安装(如果需要),然后启动我们的主包(作为单独的 exe)?

我的意思是,之前有没有人尝试过这样的事情并得到了一些反馈指导?

谢谢 法鲁克。

【问题讨论】:

    标签: wix bootstrapper burn


    【解决方案1】:

    您在创意部分中描述的内容已经实现。您需要做的就是包含适当的 NETFX PackageGroup,所有变量都已为您设置好。例如,WiX 工具集的Bundle 以标准方式设置它的托管引导程序应用程序:

    <BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'>
      <Payload Name='BootstrapperCore.config' SourceFile='WixBA.BootstrapperCore.config' />
    
      <Payload SourceFile='WixBA.dll' />
      <Payload SourceFile='License.htm' />
    </BootstrapperApplicationRef>
    

    链中的第一件事是对 NETFX 4.0 web redist 的引用。它看起来像:

    <Chain>
      <PackageGroupRef Id='NetFx40Web' />
    

    WixNetfxExtension 满足此引用。 WixNetfxExtension 中的重要代码是WixVariables,它告诉ManagedBootstrapperApplicationHost 链中的哪个包是NETFX:

    <WixVariable Id="WixMbaPrereqPackageId" Value="NetFx40Web" />
    <WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />
    

    ManagedBootstrapperApplicationHost(处理托管 BA 的加载)将负责安装 NETFX 包(如果计算机上尚未安装该包)。

    您可以在src\ext\BalExtension\mba\host\host.cppsrc\ext\BalExtension\wixstdba 中看到所有这些是如何工作的,用于 pre-req BA。

    【讨论】:

    • 哦,那太好了..我现在要试试...对我来说似乎是一个很好的解决方案(在评估之前:))...一个快速的问题:离线怎么样(已经已下载)DotNetFx 安装程序与此一起使用?............我还有更多问题,但首先我会评估解决方案,我期待这些问题的答案......非常感谢 Rob快速帮助...
    • 刚刚在 \wix38-sources\src\ext\NetFxExtension\wixlib\NetFx4.wxs 中找到“NetFx40Redist”...所以应该是“”如果我们有离线安装程序 redist\dotNetFx40_Full_x86_x64.exe.... 对吗?
    • 是的,这听起来是正确的......并随时为其他问题打开更多 StackOverflow 问题。标题好的有针对性的问题更容易被其他人发现,这样子孙后代也能从中受益。 :)
    • 刚刚在 WinXP X64 上测试,发现安装 NetFx4.0 需要将近 10 分钟。重新启动后,该界面从未出现,而是在后台运行...似乎有问题:(
    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多