關於如何在Wix中處理.Net 4.7的想法? 該文檔只顯示支持462,除非我失去了一些東西。 http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html 我發現這個:http://dblock.github.io/dotnetinstaller/但我從來沒有使用它。 任何建議表示讚賞!使用Wix Installer檢測.Net 4.7 3.11
Tnx!
關於如何在Wix中處理.Net 4.7的想法? 該文檔只顯示支持462,除非我失去了一些東西。 http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html 我發現這個:http://dblock.github.io/dotnetinstaller/但我從來沒有使用它。 任何建議表示讚賞!使用Wix Installer檢測.Net 4.7 3.11
Tnx!
以下片段(從4.6.2修改)應該在您的包的鏈中添加<PackageGroupRef Id="NetFx47Redist"/>
時起作用。這要求離線安裝程序(從NetFx47RedistLink下載)出現在用於捆綁編譯的相對源路徑.. \ Redist \ NETFX47文件夾中。您還需要在捆綁包的引用中添加NetFxExtension,並在捆綁包wxs中添加`xmlns:netfx ='http://schemas.microsoft.com/wix/NetFxExtension'。
<Fragment>
<?define NetFx47MinRelease = 460798 ?>
<?define NetFx47WebLink = http://download.microsoft.com/download/A/E/A/AEAE0F3F-96E9-4711-AADA-5E35EF902306/NDP47-KB3186500-Web.exe ?>
<?define NetFx47RedistLink = http://download.microsoft.com/download/D/D/3/DD35CC25-6E9C-484B-A746-C5BE0C923290/NDP47-KB3186497-x86-x64-AllOS-ENU.exe ?>
<?define NetFx47EulaLink = http://referencesource.microsoft.com/license.html ?>
<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx47Redist" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx47EulaLink)" Overridable="yes" />
<WixVariable Id="NetFx47RedistDetectCondition" Value="NETFRAMEWORK45 >= $(var.NetFx47MinRelease)" Overridable="yes" />
<WixVariable Id="NetFx47RedistInstallCondition" Value="" Overridable="yes" />
<WixVariable Id="NetFx47RedistPackageDirectory" Value="Redist\NETFX47\" Overridable="yes" />
<PackageGroup Id="NetFx47Redist">
<ExePackage
DisplayName="Microsoft .NET Framework 4.7"
InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]" /log "[NetFx47FullLog].html""
PerMachine="yes"
DetectCondition="!(wix.NetFx47RedistDetectCondition)"
InstallCondition="!(wix.NetFx47RedistInstallCondition)"
Id="NetFx47Redist"
Vital="yes"
Permanent="yes"
Protocol="netfx4"
DownloadUrl="$(var.NetFx47RedistLink)"
LogPathVariable="NetFx47FullLog"
Compressed="no"
SourceFile="..\Redist\NETFX47\NDP47-KB3186497-x86-x64-AllOS-ENU.exe"
Name="!(wix.NetFx47RedistPackageDirectory)NDP47-KB3186497-x86-x64-AllOS-ENU.exe"
>
</ExePackage>
</PackageGroup>
</Fragment>
您還需要添加以下RegistrySearch它使用的Util延伸,將它添加到引用,並在包xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'
。
<util:RegistrySearch
Id="NETFRAMEWORK45"
Variable="NETFRAMEWORK45"
Root="HKLM"
Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Value="Release"
Result="value"
/>
可以複製對於那些在NetFxExtension通過在其代碼在這裏尋找https://github.com/wixtoolset/wix3/tree/develop/src/ext/NetFxExtension/使用.NET的檢查實施wixlib –
您可以使用RegistrySearch和以下頁面檢查註冊表:https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx – TeaHoney