不能通过bat进行判断实现。要用bat只能提取reg信息版本值,进行判断。
不过很容易判断错误。建议用API的IsNETPresent()函数进行检查判断。要更简单有效。
=================
代码如下:
本文提供一个函数专门用来判断系统中是否安装了.NET Framework环境。这个函数名为:IsNETPresent() ;其工作原理是通过RegOpenKeyEx API函数打开当前系统中下面的注册表键值:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v4.5
如果找到了这个注册项,然后再用RegQueryValueEx API函数检查 .NET Framework 发布版本是否为:50709。
如果以上两个条件均满足,则函数返回TRUE:
BOOL IsNETPresent()
{
BOOL bRetVal = FALSE;
TCHAR szNETRegKey[] = TEXT("Software\\Microsoft\\.NETFramework\\policy\\v4.5");
TCHAR szValue[MAX_PATH];
DWORD dwValue = 0;
HKEY hKLM = NULL;
LONG lReg = 0;
LONG lszReg = 0;
DWORD dwKeySize = 0;
lReg = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
szNETRegKey,
0,
KEY_READ,
&hKLM);
if(ERROR_SUCCESS == lReg)
{
dwKeySize = sizeof(szValue)/sizeof(TCHAR);
lszReg = RegQueryValueEx(hKLM, TEXT("50709"), NULL, NULL, (BYTE*) szValue, &dwKeySize);
if((ERROR_SUCCESS == lszReg))
{
RegCloseKey(hKLM);
return TRUE;
}
else
{
RegCloseKey(hKLM);
return FALSE;
}
}
else
{
return FALSE;
}
}
用判断语句。
标签:net,framework,setup