У меня есть проект связки wix, который я редактирую (версия 3.10). Я пытаюсь использовать wixnetfxextensions для установки .net framework 4.6, если он еще не установлен. Я создал exepackage, который использует свойство WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED. Я предполагаю, что я не использую это правильно. Любая помощь в том, как его использовать? В настоящее время инфраструктура .net не будет устанавливать что-то неважно.Предварительные требования к Wix Toolset: Проверить .Net Framework
<Chain>
<PackageGroupRef Id="redist_vc140" />
<PackageGroupRef Id="NetFx461Full" />
<MsiPackage Id="MSI_Installer" SourceFile="C:\Installer.msi"/>
</Chain>
<Fragment>
<PropertyRef Id="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED"/>
<!-- Install .NET 4.6.1 -->
<PackageGroup Id="NetFx461Full">
<ExePackage Id="NetFx461"
DisplayName="Microsoft .NET Framework 4.6.1"
Compressed="no"
Cache="yes"
PerMachine="yes"
Permanent="yes"
Protocol="netfx4"
Vital="yes"
SourceFile="..\NDP461-KB3102436-x86-x64-AllOS-ENU.exe"
UninstallCommand="/q /norestart"
RepairCommand="/q /norestart"
DetectCondition="NOT WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
</PackageGroup>
</Fragment>
Свойство 'WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED' не работает, потому что свойства предназначены для не связанных пакетов MSI. –
Да, это также сделало бы это. Wix netfxextension использует , поскольку это условие обнаружения по умолчанию для exepackage net461. –
Спасибо Брайан, что сработало – AlThurm