2 of 2 people found this helpful
Hi Brian, let me give you the short answer. Web Services is not supported on Windows 2016 and we strongly advise against using it with later versions of Windows and IIS.
You have the option of PI Web API as a programmatic data access layer via HTTP and Web Services has been deprecated
Thanks for reaching out to us on PI Square!
PI Web Services is not supported on Windows 2016. Moreover, PI Web Services is a now deprecated product, however if you're looking for a programmatic data access layer via the web the PI Web API. The PI Web API offers a REST interface in lieu of a SOAP interface and the PI Web API has an online course and a large community of users on PI Square and associated knowledge base to draw on as well.
Thank you both for the quick response.
I cannot find anything that shows an end of life date for PiWebServices.
You both stated that it is deprecated for the Pi Web API.
Can you provide me support dates or tell me where I may be able to find the support dates for PiWebServices
We are currently having some internal discussions to determine our long-term plan for PI Web Services. Once we come to a decision, we will update this thread.
PI Web Services 2012 can run in IIS10/Server 2016. While it's not been officially tested and therefore it's not officially supported by OSIsoft as of now, you can proceed at your own risk. As mentioned already, PI Web API should be used instead if at all possible.
That said, using ProcMon, I found out the install kit checks IIS version based on a registry key value. It seems like it thinks 6 > 10, probably due to invalid comparison logic. We can manually change the value to 9, install PI Web Services 2012 and then change the key back to its original value.
Using PowerShell, it can be done as follows:
# Registry path
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters'
# Key Name
$regKeyName = "MajorVersion"
# Save the original value (should be 10)
$oldValue = Get-ItemPropertyValue -Path $regPath -Name $regKeyName
# Old value for comparison's sake
$newValue = "9"
# Change key value
Set-ItemProperty -Path $regPath -Name $regKeyName -Value $newValue
# Install PI Web Services
# Revert the value back to original state
Set-ItemProperty -Path $regPath -Name $regKeyName -Value $oldValue