2010-04-08 52 views
3

試圖解決this problem如果安裝了先決條件,安裝程序引導程序如何檢測?

我想了解引導程序如何檢測是否安裝了先決條件(特別是.NET 3.5)。

根據this reference,一種方法來檢測是否安裝了.NET是檢查以下注冊表項:

通過引導程序(安裝完成

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5

使用過程監控,我已經檢查註冊表查詢。 exe),並沒有顯示任何訪問此註冊表項。

有誰知道引導程序如何確定目標系統上是否安裝了先決條件?

回答

4

msbuild GenerateBootStrapper程序包的先決條件包定義爲XML文件。這些XML文件的模式記錄爲here。查看「InstallChecks」元素,瞭解可以進行哪種檢查。

奇怪的是,我在.NET 3.5的必備軟件包中找不到這樣的安裝檢查。您可以在Windows SDK文件夾(C:\ Program Files \ Microsoft SDKs \ Windows)中找到該軟件包以及其他預定義的引導程序包。

+1

由於某些原因,對.Net的安裝檢查似乎在軟件包的本地化部分(請參閱bootstrapper \ Packages \ DotNetFX35SP1 \ en下的package.xml) – 2010-04-09 08:17:49

+0

感謝Wim和Damien,這解決了我們的問題。此問題發生在德語Windows 7安裝上,並且生成計算機在SDK Bootstrapper目錄中只有\ en子文件夾。 en子文件夾包含一個package.xml,其註冊表檢查.NET註冊表項的<1033子項()。由於某些原因,這在默認的德語Windows 7安裝中不存在。 – Marek 2010-04-09 10:08:09

+0

在生成機器上調整package.xml解決了這個問題,但我仍然對這個問題的真正來源感興趣,以及這是否是Windows 7中的錯誤(即使在德語Windows 7中是否應該存在1033子項)或者在引導程序中(檢查不正確的鍵) – Marek 2010-04-09 10:10:17

相關問題