How does the setup bootstrapper detect if prerequisites are installed?

核能气质少年 提交于 2019-12-12 12:38:55

问题


Trying to solve this problem.

I would like to learn how the bootstrapper detects if prerequisites (specifically .NET 3.5) are installed.

According to this reference, a way to detect if .NET is installed is to check the following registry key:

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

Using process monitor, I have inspected registry queries done by the bootstrapper (setup.exe) and it did not show any access to this registry key.

Does anybody know how the bootstrapper determines whether the prerequisites are installed on the target system?


回答1:


Prerequisite packages for the msbuild GenerateBootStrapper packages are defined as XML files. The schema of those XML files is documented here. Take a look at the "InstallChecks" element to get an idea of what sort of checks are possible.

Curiously enough, I could not find such install checks in the prerequisite package for .NET 3.5. You can find this package in the windows SDK folder (C:\Program Files\Microsoft SDKs\Windows), along with the other predefined bootstrapper packages.



来源:https://stackoverflow.com/questions/2598134/how-does-the-setup-bootstrapper-detect-if-prerequisites-are-installed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!