1. ホーム
  2. .net

Windows 10にWindows SDK 7.1をインストールできない

2023-10-01 01:34:39

質問

私は Windows 10 PC を使用するソフトウェア開発者です。Windows SDK 7.1 を使用して Visual Studio 2010 で書かれたいくつかの古いソフトウェアをサポートしなければなりません。

開発環境を構築するために、VS2010 のインストールに成功し、Windows SDK 7.1 をインストールしようとしたのですが、インストーラーがエラーを表示しました。

いくつかのコンポーネントはインストールできません。

一部の Windows SDK コンポーネントは、RTM .NET Framework 4 を必要とします。セットアップでは、.NET Framework 4 のプレリリース バージョンが検出されました。セットアップを続行すると、これらのコンポーネントはインストールされません。これらのコンポーネントをインストールする場合は、[キャンセル] をクリックし、.NET Framework 4 を次の場所からインストールします。 http://go.microsoft.com/fwlink/?LinkID=187668 をインストールしてから、セットアップを再実行します。

しかし、Windows 10 には .NET 4.5 が搭載されているため、私が知る限りでは、さらに別のバージョン チェックの問題があります。

これはそれほど心配することではありませんが、Visual Studio 2010 のコンパイラーの更新プログラムをインストールしようとすると、次のように失敗します。

windows sdk 7.1 が見つからないため、インストールできません。

.NET 4 をインストールしようとすると、.NET の後のバージョンが検出されるため、インストールに失敗します。

どのように解決しますか。

@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"