Say I use WPI in a corporate IT environment. All big shots get the "Bonus Minimizer 2.7" app. A big shot's PC will have the system environment variable "BIG_CHEESE" set to "1". I can condition "Bonus Minimizer 2.7" with EnvVarValue("BIG_CHEESE")=="1". I can also run a "script or program to execute before installation begins", which checks all sorts of things (version of Citrix, user's group membership, etc.) and sets environment variables accordingly. This gives me the flexibility to implement complex conditions such as "User Is Member of 'HellsAngels' AND 'Ping Response Time from www.myserver.com' under 10ms". My script can run the required checks and set an appropriate environment variable, e.g. USERTYPE=FASTDEVIL. My "Harley 1.0" app will be conditioned as EnvVarValue("USERTYPE")=="FASTDEVIL". etReturnValue("cscript test.vbs")=="Success" - see above, with the difference being that the custom condition scripts can be self-contained, and run only when a given app is selected. For instance, test.vbs can ensure that the user has permission to write to a certain directory before I install something that attempts to write to said directory. Once again, these are trivial for me to implement using the userfunctions.js feature (much thanks for that!), so it's definitely your call as to whether the requested functions would be of use to the rest of WPI's userbase. One great thing about these 2 functions is that they enable use of existing scripts/code without you having to add more and more built-in functions. If I want a fileModifiedDateGreaterThan function, I can Google up a script and have my WPI app conditioned on it faster than it'd take me to post a request for it at MSFN.