diff --git a/lib/system.js b/lib/system.js index 2e3453f..786ab68 100644 --- a/lib/system.js +++ b/lib/system.js @@ -27,7 +27,22 @@ exports.createProcess = function(cmd) { }; exports.getEnvString = function(envName) { - return WSH.ExpandEnvironmentStrings('%' + envName + '%'); + var envName = envName.toUpperCase(); + var resolvedEnvString = WSH.ExpandEnvironmentStrings('%' + envName + '%'); + + // Fixed: [lib/system] A few environment variables cannot be referenced in ScriptControl mode. #79 + if (resolvedEnvString == "") { + resolvedEnvString = (function(s) { + switch(s) { + case "PROGRAMFILES": + return WSH.ExpandEnvironmentStrings("%HOMEDRIVE%\\Program Files"); + case "PROGRAMFILES(X86)": + return WSH.ExpandEnvironmentStrings("%HOMEDRIVE%\\Program Files (x86)"); + } + })(envName); + } + + return resolvedEnvString; }; exports.get32BitFolder = function() {