5 Replies Latest reply on May 16, 2018 11:13 AM by lmlcoch

    PI WebServices on Windows Server 2016

    bpkeating

      I am upgrading my server environment and have been asked by our server team to move to Windows Server 2016. In looking at the documentation I see that 2012 R2 is support but it was last updated in 2013.

       

      Is windows server 2016 supported?

      I tried to install but I get a message saying that I must have IIS6 or higher installed. I have installed the IIS 6 management and script components.

       

       

      The log shows the following error

      [UNSUPPORTED_OPERATING_SYSTEMS]: 18 = X64

      Setup module PI Web Services.msi is not supported on UNKNOWN_X64 operating systems.

      IsMSIInstalled> Unable to obtain Related Products for Upgrade Code {1BE1D11B-2953-4682-B11D-981A64EC7B00}. Returned error: 259

      Module (PI Web Services 2012 SP1 v1.3.1.0) is not installed, but operating system is also not supported - skip installation.

      --- >>> Setup Module 19

      IsMSIInstalled> Unable to obtain Related Products for Upgrade Code {A07F6E76-F750-45C2-983A-87403EB7F796}. Returned error: 259

      Module (PI Web Services 2012 SP1 (64-bit) v1.3.1.0) will be installed.

      ----------------------

      Completed Verification checks for all modules.

      InstallThread Error 1603. Installation of PI Web Services 2012 SP1 has failed.

        • Re: PI WebServices on Windows Server 2016
          tramachandran

          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

          2 of 2 people found this helpful
          • Re: PI WebServices on Windows Server 2016
            rschmitz

            Hi Brian,

             

            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.

             

            Cheers,

            Rob

            • Re: PI WebServices on Windows Server 2016
              bpkeating

              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

              • Re: PI WebServices on Windows Server 2016
                lmlcoch

                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