Jeff Vance ([log in to unmask]) wrote: : Gavin wrote: : >Whoa! Jeff, what's this B.79.05 stuff? Shouldn't HPRELVERSION show "C.50.xx"? ... The major problem, to me, is that I would never trust the reliability of important software on a value returned (or not returned) from a CI variable. Far too many things can go wrong. Heading the list is locally created variables that pre-date HP variables. For example, a user who (on 4.0) says: let's do a "SETVAR HPRELVERSION 'B.30.45'" ... and ZAP! goes your code that said "if HPRELVERSION exists, it must be 5.0 or later"! Or, the site that has AIF:PE intercepts that *prevent* you from accessing HPRELVERSION (for whatever reason). No, there is only one reliable method I'm aware of for determining the MPE XL (and MPE/iX) version: Loading the build ID directly from system_globals. (Note: this does not require priv mode) BTW, the problems with checking for variables and/or commands existence (or lack thereof) apply to system files as well. I remember one (unnamed) vendor's software that checked to see if it was on MPE XL by doing: if "FREE5.PUB.SYS" is on disk, then we are on a Classic. Buzz! Nope! On the user's 3000/950 in question, they had created a command file called FREE5.PUB.SYS which ran DISCFREE. -- Stan Sieler [log in to unmask]