Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Wix Burn MBA如何显示.Net Framework安装进度?_C#_.net_Wix - Fatal编程技术网

C# Wix Burn MBA如何显示.Net Framework安装进度?

C# Wix Burn MBA如何显示.Net Framework安装进度?,c#,.net,wix,C#,.net,Wix,我的Wix/Burn捆绑包正在Windows 7上安装.Net 4.6.1,当前.Net安装程序在我的Burn安装窗口上启动并显示自己的UI窗口(两个进度条) 有没有办法抑制.Net安装程序UI并将消息通过管道传送到Burn MBA安装程序UI 我的代码: <Bundle Name="A Test Application" Version="1.0.0.0" Manufacturer="TM" UpgradeCode="{26B5D0A5-96E9-477D-8FE1-1DA027D534

我的Wix/Burn捆绑包正在Windows 7上安装.Net 4.6.1,当前.Net安装程序在我的Burn安装窗口上启动并显示自己的UI窗口(两个进度条)

有没有办法抑制.Net安装程序UI并将消息通过管道传送到Burn MBA安装程序UI

我的代码:

<Bundle Name="A Test Application" Version="1.0.0.0" Manufacturer="TM" UpgradeCode="{26B5D0A5-96E9-477D-8FE1-1DA027D534F8}">    

    <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
      <Payload SourceFile="..\TestBA\BootstrapperCore.config"/>
      <Payload SourceFile="..\TestBA\bin\Release\TestBA.dll"/>
      <Payload SourceFile="..\TestBA\bin\Release\GalaSoft.MvvmLight.dll"/>
      <Payload SourceFile="C:\Program Files (x86)\WiX Toolset v3.10\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
    </BootstrapperApplicationRef>

    <Chain DisableSystemRestore="yes">
      <PackageGroupRef Id='Netfx461Full' />
      <MsiPackage SourceFile="..\DummyInstaller\bin\Release\DummyInstaller.msi" Id="DummyInstallationPackageId" Cache="yes" Visible="no"/>
    </Chain>

  </Bundle>

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

    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Value="CurrentVersion" Variable="WIN_Version" />

    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="var_Netfx4" />
    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version" Variable="var_Netfx4x64" Win64="yes" />

    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Release" Variable="var_Netfx4Release" />
    <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Release" Variable="var_Netfx4x64Release" Win64="yes" />

    <PackageGroup Id="Netfx461Full">
      <ExePackage Id="Net461" Name="Microsoft .NET Framework 4.6.1 Setup" Cache="no" PerMachine="yes" Permanent="yes" Vital="yes"
        Compressed="yes"  
        InstallCommand="/q"
        SourceFile="C:\Users\Martin\Documents\.Net Frameworks\NDP461-KB3102436-x86-x64-AllOS-ENU.exe"
        DetectCondition="(var_Netfx4x64 &lt;&lt; &quot;4.6&quot;) OR (var_Netfx4x64 &lt;&lt; &quot;4.6&quot;)"
        InstallCondition="(VersionNT &lt; v6.0 OR VersionNT64 &lt; v6.0) AND (NOT (var_Netfx4 OR var_Netfx4x64))" />
    </PackageGroup>
  </Fragment>

BootstrapperCore.Config

<configuration>
  <configSections>
    <sectionGroup name="wix.bootstrapper" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup, BootstrapperCore">
      <section name="host" type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection, BootstrapperCore" />
    </sectionGroup>
  </configSections>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <!--<supportedRuntime version="v2.0.50727" />-->
    <supportedRuntime version="v4.0" />
    <!--<supportedRuntime version="v4.6"/>-->
  </startup>
  <wix.bootstrapper>
    <host assemblyName="TestBA">
      <!--<supportedFramework version="v4.6" />-->
      <supportedFramework version="v4\Full" />
      <supportedFramework version="v4\Client" />
      <!--<supportedFramework version="v3.5" />-->
    </host>
  </wix.bootstrapper>
</configuration>


我的目的是在一个用户窗口中安装.Net 4.6.1(如果需要),然后安装我的应用程序,并提供一个进度条和信息性状态消息

您确定它是脱机安装程序吗?您可能正在使用在线安装程序。 这是正确的:

我的ExePackage在一个窗口中工作的示例:

<ExePackage Id="NetFx46Redist" DisplayName="Microsoft .NET Framework 4.6.1" Compressed="$(var.IsCompressed)" Cache="yes"
                        bal:PrereqSupportPackage="yes"
                        PerMachine="yes" Permanent="yes" Protocol="netfx4" Vital="yes" SourceFile="$(var.PRMSourceDir)NDP461-KB3102436-x86-x64-AllOS-ENU.exe"
                        InstallCommand="/q /norestart /ChainingPackage &quot[WixBundleName]&quot;" RepairCommand="/q /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot;"
                        UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot;"
                        DetectCondition="(WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED=1)" />