Symptom
PowerBuilder WebService proxy generation on Windows 8.1 returns error "Windows SDK for .NET Framework 4.0 or higher was not installed. Please install it before use this feature", according to picture below:
This scenario happens even if machine already has Windows SDK 8.1 + .NET Framework 4.5.1 SDK properly installed.
Environment
PowerBuilder
Windows 8.1
Windows SDK 8.1 + .NET Framework 4.5.1 SDK
Reproducing the Issue
1. Enter Powerbuilder.
2. Create a new .NET Web Service Proxy project.
3. Enter the WSDL URL or file name.
4. Type an assembly name.
5. Click Next - at this point you will get the error:
Windows SDK for .NET Framework 4.0 or higher was not installed. Please install it before use this feature
Cause
This issue happens due to PowerBuilder is looking for strings v8.0A, v7.1, v7.0A, v7.0 inside HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\<version>\WinSDK-NetFx40Tools-x86 registry entry, but never looks for v8.1a string (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools-x86
Resolution
There are two resolutions below and resolution #1 is recommended.
Resolution #1:
Use HTTPClient object to call the current WebService. You can refer to the link below for more detail:
Resolution #2:
***WARNING***: The following resolution involves editing the registry. Using the Registry Editor incorrectly can cause serious problems. Use the Registry
1. Exit Powerbuilder.
2. Enter Windows Registry and export HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0a\WinSDKNetFx40Tools-x86 into a .reg file
3. Edit .reg file with notepad and change the text from v8.1A to v8.0A. Result will be like this:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86]
"ProductVersion"="8.1.51641"
"ComponentName"="Microsoft .NET Framework 4.5.1 SDK"
"InstallationFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1A\\bin\\NETFX 4.5.1 Tools\\"
4. Save the .reg file again from notepad and then double-click it to install it into Windows Registry.
5. Start PowerBuilder again and generate the WS Proxy again.