Windows 10 does not play nicely with the Windows 7.1 SDK, because of the .NET 4 Framework included with it. However, we NEED this SDK to install via the normal installer inside the ISO main directory, otherwise it will NOT install correctly and completely.
As mentioned earlier, Windows 10 has a newer built in version of .NET (4.6) and does not like anyone trying to put old .NET packages on it. In order to install this on Windows 10 from the primary installer, we have to first trick the OS into thinking we do not have .NET 4.6 installed currently.
Previously in my original iteration of the C++ tutorial series I am writing, I advocated installing the Windows 7.1 SDK from the installer inside the Setup directory… however this will not work as expected on Windows 10. If you were following my original tutorial and did install this in the previously mentioned fashion, do make sure that the Windows 7.1 SDK is completely uninstalled from Apps & Features panel first.
To work around Windows 10’s stubbornness follow these instructions in the exact order they are written:
Instruction 1: Type “cmd” in the Windows 10 search bar and Right Click the Command Prompt application to bring down the context menu. Select “Run as Administrator” to open an elevated command prompt interface. From here we will only do one thing, and that is to enable the Windows Elevated Administrator Account. The PASSWORD reference in the command below is whatever password you want to give the account. I highly recommend you give this a password and that you write it down somewhere you will not lose it.
Do not use the Elevated Administrator Account as a general use account. In fact we will disable it after we are done with our work around, because it can pose a security threat to leave permanently enabled.
Enter the following command in the prompt to turn on the Elevated Administrator Account:
net user administrator PASSWORD /active:yes
Then Type “exit” in the command prompt and hit enter to close it. Log out of your own user account completely and select the newly available account marked mysteriously as just “Administrator” (rather innocent eh?)
Instruction 2: After the account finishes “setting up everything for you” (how comical in this respect), press the key combination “Windows Key + R” to open the Run command dialogue. In the Run dialogue type “regedit” and hit enter.
Welcome friends to the wonderful world of Registry editing! I’m being facetious of course, editing the Windows OS registry is considered as the Nuclear Option by sane people. You might be wondering what this magical place you have stumbled upon is… No it’s not Narnia folks, it’s a Windows OS system built in database that holds all of the important values for system files, applications, and pretty much anything that is important on your computer. Why then would we want to edit the registry if it’s so important?
I do not normally advocate editing the registry if you can help it. This tends to lead to bad things if you don’t know what you looking for, or doing in there. That said, we will only be modifying 4 values in the vast expanse of the registry to get what we need accomplished.
Because it is a limited one time use of Regedit, and because I have already thoroughly investigated what these values are used for, and we know roughly what to expect from editing them – it is not something I am going to oppose in this specific instance. And do not worry, we will set these values back to their original states after we are finished with our workaround.
Do not get me wrong, there are other very good circumstances where limited use of Regedit, such as getting rid of stubborn deleted application file references causing issues on your PC, may be warranted. But, we will not be covering that here.
Btw, these folder looking things you see are
not actual directories on your system,
they are called Keys and they are labels for sets of specific values for many different types of important things on your OS.
Instruction 3: Now, open the nested keys in the following order:
HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> NET Framework Setup -> NDP -> v4 (NOT the “v4.0” key “v4” they are different)
Instruction 4: Next select the
Client Sub-Key. No need to open it just select, although it will not hurt you if you do. On the right panel of the Regedit window there should be a bunch of specific labeled entries with corresponding values in the
Datacolumn. If you have done any XML modding for Civ5 this is a similar principle to modifying database entries… only this is far more important so be careful what you change!
Instruction 5: Locate the value for the
InstallPath entry and Right Click it. Then select the
Modify... option from the dropdown context menu. In the dialogue that appears, copy the number sequence after the "v" in the last part of the value. Don't include the "v" when you copy this value! At the time of writing this tutorial, the value copied should be 4.0.30319.
Instruction 6: Hit close and minimize Regedit. Right Click in the desktop, and create a new text document Name it something identifiable like "temp registry values". Open the text document and then type, "new value: " and then paste the value you copied next to it. This is so you don’t get the two values mixed up later. New value indicates the value we are going to change the
Version entry in the related registry Keys to.
Instruction 7: Un-minimize Regedit, and then under the
Client Key find the
Version entry value. At the time of writing this tutorial, the value in this field should be 4.6.01038. Right Click the value. Select the
Modify... option from the context menu. Then copy the contents of the box completely this time. Hit close, and Minimize Regedit. Enter a new line as "original value: " and then paste the value you copied next to it. This will indicate the value we must change the
Version entries in the related registry keys back to. Again this is to avoid confusion between the values.
Instruction 8: Un-minimize Regedit and right click the actual
Client key in the navigation panel. Select
Permissions option and click the
Advanced button in the dialogue that pops up. In the
Permissions entries: box, double click the
Administrators entry or hit the
Edit button while it’s selected. In the new dialogue that has opened, find the check box
Full Control and check it on. Press the ok button.
Instruction 9: At the top of the previous dialogue under the title bar there is the label
Owner and next to it is most likely
TrustedInstaller set as the current Owner of the key. This means it has priority over everyone else. Click the
Change blue link next to the name of the Owner.
In the new dialogue, in the box marked
Enter the object name to select:. Type:
Administrator and hit ok. The Owner should now say
Administrator. Hit ok button on both dialogues.
Instruction 10: Now we are ready to edit the value! Minimize Regedit, and copy the entry for the "new value" line you made. Un-minimize Regedit, and Right Click the
Version entry under the
Client Sub-Key. Select the
Modify... option. In the dialogue, paste your copied value, and hit ok to save changes.
If it gives you an error at this point, you have missed something or done something incorrectly.
Instruction 11: Now repeat the previous steps exactly for the
Full Sub-Key in v4 that is below the
Client Sub-Key (not nested in it below it)! Leave this Path open, don't collapse the keys! Regedit will save your place and keep them open for you even after exit, cause It’s friendly like that…
Instruction 12: We have one more set of values to find and edit to make this work! Like before open the nested keys in the following order:
HKEY_LOCAL_MACHINE -> SOFTWARE -> WOW6432Node -> Microsoft -> NET Framework Setup -> NDP -> v4 (NOT the “v4.0” key “v4" they are different).
This all very familiar or is it just me?! Now repeat the steps to edit the keys with the same names as we did earlier. Remember we changed the keys
Client and
Full under the path:
HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> NET Framework Setup -> NDP -> v4
Do exactly the same thing for those keys named
Client and
Full here. The values you are changing to and from should be the same in both places! So you don’t have to copy paste a separate set! Unless they are for whatever reason different…
After you have completed making your edits, exit Regedit without making any additional changes. Sign Out of the Elevated Administrator Account completely. Don’t just switch users, hit Sign Out.