we are using the GetContextService(...) method and GetVersionName() to determine which version our current executable is running. We use this check if there is a new PBRuntime available in our own database (we save the runtime as a blob in our database), if there is, we download the runtime. We used this method to upgrade from PB 07 to PB09, to PB11 and then to PB 12.5 (yes, we go a long way)
We are deploying our products with the new PB 2017 now, the GetVersionName() returns '17.0.0' for both PB 2017 and PB2017 R2. To bad for us (i was hoping the R2 would return 17.0.1), this way we see no difference in the pbruntime. Gladly we just starting upgrading our clients using the R2 only. But, if the R3 comes out, we probably want to upgrade to this version. I assume the GetVersionName() will also return '17.0.0'. So is there a better way to detect which exact version of PBRuntime the executable is running (without checking the properties of a fixed dll, which name changes every PB version)?