2010-04-08 98 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

相关问题