我是Wix的新用戶。我創建了一個Wix bootstrapper項目。我打算使用從註冊表搜索定義的變量來檢查我的.net可再發行組件安裝是否應該運行。但是,從這個源中我看到了如何包含不同.net安裝的鏈接bundling .net如何在我的離線Wix刻錄包中安裝.net可再發行軟件包
但是,如本文所述,這不適用於脫機的安裝程序。
有沒有辦法將我的.net安裝捆綁到我的刻錄軟件包中,仍然使用類似的東西來運行.net安裝?我再次提到wix,我認爲PackageGroupRef在這裏工作的方式是隻在需要時才運行這個.net版本的安裝。
例子:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" >
<Bundle ...>
<Chain>
<PackageGroupRef Id="NetFx451Redist" />
<MsiPackage ... />
</Chain>
</Bundle>
</Wix>
下面是我用什麼,它安裝在Win 7並安裝.NET 4.5.1和拆除後,我的安裝並重新安裝不調用.NET 4.5.1安裝。
使用Ricks例子,我做到了。不過,我必須包含NetFx451MinRelease的定義。有一些我錯過了,但現在它正在工作。謝謝里克。
<?define NetFx451MinRelease = 378675 ?>
<util:RegistrySearchRef Id="NETFRAMEWORK45"/>
<Chain>
<ExePackage Id="Netfx451Full"
DisplayName="Microsoft .NET Framework 4.5.1"
SourceFile="..\..\Requirements\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"
InstallCommand="/passive /norestart"
Permanent="yes"
Vital="yes"
Compressed="yes"
DetectCondition="NETFRAMEWORK45 >= $(var.NetFx451MinRelease)" />
</Chain>
請發表您的答案,因爲答案從問題中分離出來,當你決定這是最好的答案,接受它。 – 2014-09-19 23:58:08