Hi David;
As another side note to this discussion and around your point on mismatches. This has been a problem for most software vendor tools from the likes of: Sybase, Oracle, IBM, Microsoft, etc. After 30+ years in the IT industry, this is where I learned the value of System-To-System controls! They have saved me many hours/day/weeks of headaches (and stress) preventing possible issues and pinpointing right away all the weird things that can happen to a production App (the stories I could tell you).
That is why S2S controls are at the heart of my frameworks. They detect many out-of-balance conditions and report/log/email/etc these conditions to developers and production support personnel before an App or Web Service starts. In your case, this would apply to your use of PowerServer based Apps - whether they be Web or Mobile. Here is an example of the S2S control settings for AWS & PS in the Integrated Framework. I have highlighted in bold the items relevant to PS based Apps as follows:
; ----- Start System Control Section. ----
[System]
ActiveDirectory=N
Affinity=0
AnimatedSave=Y
Android_Expected_Version=7.1.1
PS_Check_Version=Y
PS_Expected_Version=9.0.1858.00
Apple_Expected_Version=10.3.3
AWS_Check_Version=Y
AWS_Expected_Version=1689.00
DB_Check_Version=Y
DB_Expected_Version=17.0.4.2053
FreeDBLibraries=Y
FC_Check_Version=Y
FC_Expected_Version=2018.4.0.112
Log_Append=N
Log_Wrap=N
Log_Wrap_Size=10000
NetWorkAdapters=N
NativePDF=Y
OffLine=N
OS_Check_Version=Y
OS_Expected_Version=10.0.0
PB_Check_Version=Y
PB_Expected_Version=17.2.0.1858
SilentMode=N
; ----- End System Control Section. ----
At run-time, all these S2S checks are performed and if one is non-compliant ... the user & support personnel will be notified. For the developer, it could be just a simple message dialogue, for example:
In production, you can let the framework know if it should stop the user from continuing or if it optionally could allow them to continue with this error. Either way, the proper people are notified and the decision is logged as well for further resolution by application support. For example:
The S2S controls have really proven their worth to me in any development language that I have ever used. This approach has proven itself in the mainframe, mini and now PC worlds. As most PB developers know, an out-of-balance run-time or peripheral connected App pieces are critical to the proper operation of any App. Running with mismatched software is typically a "ticking time bomb"!
Please feel free to adopt any or all of the S2S controls from the Integrated Framework as the framework is free & open source.
HTH
Regards ... Chris