我是一名软件开发人员,拥有一台Windows10 PC.我必须支持一些使用Windows SDK 7.1在Visual Studio 2010中编写的旧软件

在try 设置开发环境的过程中,我已经成功安装了VS2010,并来安装Windows SDK 7.1,但是安装程序给出了错误信息:

某些组件无法安装

一些Windows SDK组件需要RTM.NET框架4.安装程序检测到了的预发布版本.NET框架4.如果继续安装,将不会安装这些组件.如果要安装这些组件,请单击"取消",然后安装.NET Framework 4,然后重新运行安装程序.

然而,Windows 10附带了.NET 4.5,据我所知,还有另一个版本判断问题.

这不会让我太担心,但在try 安装VisualStudio2010编译器更新时,失败了

无法安装,因为找不到Windows SDK 7.1

正在try 安装.NET 4失败,因为它检测到的是更高版本的.网

推荐答案

@Doug3的回答照本宣科:

首先安装SubInAcl,可以从Microsoft here下载.您可能需要将其添加到路径中,例如:set PATH=%PATH%;C:\Program Files (x86)\Windows Resource Kits\Tools

然后在提升的cmd提示符下运行以下命令:

for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /reg:32') do set "CurrentNDPv4ClientVersion=%%~b"
for /f "tokens=2*" %%a in ('reg query "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /reg:32') do set "CurrentNDPv4FullVersion=%%~b"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="%username%"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /grant="%username%"=f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d 4.0.30319 /reg:32 /f

echo start your installer now
pause

reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client" /v Version /t REG_SZ /d %CurrentNDPv4ClientVersion% /reg:32 /f
reg ADD "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full" /v Version /t REG_SZ /d %CurrentNDPv4FullVersion% /reg:32 /f

subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /revoke="%username%"
subinacl.exe /subkeyreg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4" /setowner="NT SERVICE\TrustedInstaller"

.net相关问答推荐

DotNet COM初始化问题

如何运行大量阻塞/同步 I/O 操作

ECS服务无法从Cognito获取配置

等待时 Blazor 服务器按钮刷新

使用 PEM 文件创建 DSA 签名

.NET - WindowStyle = hidden 与 CreateNoWindow = true?

maxRequestLength 的最大值?

将 BitmapImage 转换为 Bitmap,反之亦然

如何在 C# 4.0 中使任务进入睡眠状态(或延迟)?

我可以在没有两个查询的情况下通过布尔标准将 IEnumerable 一分为二吗?

ILookup 接口与 IDictionary

如何在 RabbitMQ 中设置重试次数?

beforefieldinit 标志有什么作用?

错误 NU1605 检测到包降级

SqlBulkCopy 的推荐批量大小是多少?

如何获取当前的 ProcessID?

带有嵌套控件的设计模式

如何从 HashSet 中检索实际项目?

作者主签名的时间戳发现了一个建链问题:UntrustedRoot: self-signed certificate in certificate chain

在 C#/.NET 中合并两个图像