[英]How do I detect the currently installed features during a MajorUpgrade using WiX Burn MBA Bundles?
[英]How can a Wix Burn MBA show .Net Framework installation Progress?
我的Wix / Burn捆綁包正在Windows 7上安裝.Net 4.6.1,目前,.NET安裝程序會啟動並在“刻錄設置”窗口上顯示其自己的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 << "4.6") OR (var_Netfx4x64 << "4.6")"
InstallCondition="(VersionNT < v6.0 OR VersionNT64 < 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(如果需要),然后安裝我的應用程序,並帶有一個進度條和內容豐富的狀態消息
您確定它是離線安裝程序嗎? 可能您正在使用在線安裝程序。 這是正確的選擇: https : //www.microsoft.com/ru-ru/download/details.aspx?id=49982
我在一個窗口中運行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 "[WixBundleName]"" RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]""
UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]""
DetectCondition="(WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED=1)" />
不要使用此DetectCondition,將無法正常工作。
順便說一句,您的檢測條件完全錯誤。 檢查說明: https : //msdn.microsoft.com/zh-cn/library/hh925568(v=vs.110).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.