![](/img/trans.png)
[英]Install .NET Framework 4.7.2 (if needed) with WIX installer
[英]Wix installer install .net if not installed
我偶然發現了這個文檔。http://wix.sourceforge.net/manual-wix3/wixnetfxextension.htm 。
我不知道如何安裝,例如 .net4full 未安裝時。
目前我的 wix xml 看起來像這樣:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*"
.....
.........
>
<PropertyRef Id="NETFRAMEWORK40FULL"/>
<Condition Message="This application requires .NET Framework 4 FULL. Please install the .NET Framework then run this installer again.">
<![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>
.....
.........
............
.........
............
</Product>
.......................
..............................
................................
.........................
</Wix>
順便說一句,我正在使用 wix 3.7!
在 Wix 安裝項目中,您可以檢查 .net framework 4.0 是否存在,並在安裝此產品之前向用戶發出消息,例如您必須安裝 .net framework 4.0。 但是如果你想靜默地做(檢查 .net framework 4.0 是否存在......如果可用,只安裝你的產品,如果沒有,首先安裝 .net framework 4.0 然后安裝你的產品)你必須通過 wix bootstrapper 來做
示例 Bootstarpper 代碼如下
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle
Name="My Application" Version="1.0.0.0" UpgradeCode="8DA460D6-B4CB-4ED0-A1FE- 44F269070647" Manufacturer="ABC">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="Agreement.rtf"
LogoFile="App.ico"/>
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="Netfx45Xxx"/>
<MsiPackage SourceFile="D\MySetup.msi" Compressed="yes" EnableFeatureSelection="yes" Vital="yes">
<MsiProperty Name='INSTALLFOLDER' Value='[InstallFolder]'/>
</MsiPackage>
</Chain>
<Variable Name='InstallFolder' Value='[ProgramFilesFolder]MyApp' />
<Fragment>
<PackageGroup Id="Netfx45Xxx" >
<ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q"
SourceFile="dotnetfx45_full_x86_x64.exe"
DetectCondition="(Netfx4FullVersion="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))"
InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709"))"/>
</PackageGroup>
此代碼將 .net 版本與自身附加在一起。 如果 .net 4.5 在機器中不可用,它將在安裝應用程序設置之前安裝框架
對我來說,使用 .NET 5 的解決方案是在應用程序文件夾中包含 [ApplicationName].runtimeconfig.json。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.