Gre*_*reg 73 .net visual-studio-2010 windows-10
我是Windows 10 PC的软件开发人员.我必须使用Windows SDK 7.1支持使用Visual Studio 2010编写的一些旧软件
在尝试设置开发环境时,我已经成功安装了VS2010,并开始安装Windows SDK 7.1,但是安装程序会给出错误:
某些组件无法安装
某些Windows SDK组件需要RTM .NET Framework 4.安装程序检测到.NET Framework 4的预发行版本.如果继续安装,则不会安装这些组件.如果要安装这些组件,请单击"取消",然后从http://go.microsoft.com/fwlink/?LinkID=187668安装.NET Framework 4 ,然后重新运行安装程序.
但是,Windows 10附带了.NET 4.5,所以据我所知,还有另一个版本检查问题.
这不会让我太担心,但是在尝试安装Visual Studio 2010编译器更新时,这失败了,说道
无法安装,因为找不到Windows sdk 7.1
尝试安装.NET 4失败,因为它检测到更高版本的.NET.
Jer*_*ong 84
我偶然发现了另一个解决方法,我也发布了一个msdn线程:
首先从控制面板卸载任何Visual C++ 2010 Redistributables.
安装映像后,直接打开F:\ Setup\SDKSetup.exe.
dou*_*gg3 72
我刚遇到同样的问题.不知道这实际上是多么安全,但我能够通过暂时欺骗安装程序来考虑我安装了不同版本的.NET 4.0来解决它.我打开了Process Monitor并用它监视setup.exe正在做的所有事情,以便了解它是如何确定我有一个"预发布"版本的.NET 4.0.
事实证明,它在注册表中查看这两个字符串:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client\VersionHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full\Version在我的Windows 10机器上,这些都是4.6.00079.安装程序似乎不喜欢这个值.我暂时使用4.0.30319regedit中的字符串替换它们以匹配InstallPath中的值,这似乎可以解决问题.当然,当我完成时,我把它们放回原来的样子.
但是,我没有权限更改这些值,因此有点棘手.我右键单击了Client密钥,选择了权限,然后单击高级.然后我将所有者更改为我的用户帐户而不是TrustedInstaller.这允许我为自己添加完全控制权限,以便我可以修改该Version值.我在Full钥匙上重复了同样的过程.安装程序成功完成后,我将原始版本值放回(4.6.00079),删除了我为自己添加的权限,并将所有者恢复为TrustedInstaller(为此,键入NT SERVICE\TrustedInstaller用户名).
拦截注册表读取可能比实际修改注册表更安全/更容易,但对我来说这很简单!
jan*_*000 20
@ dougg3的回答脚本:
首先安装SubInAcl,可以在这里从微软下载.您可能需要将其添加到PATH中,例如: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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64196 次 |
| 最近记录: |