Skip to main content
Aaronius9er9er
Inspiring
February 17, 2011
Question

Environment variable support

  • February 17, 2011
  • 1 reply
  • 878 views

Hey there.  I'm wondering if there's support (albeit undocumented) for environment variables (like %WINDIR%, for example).  From previous forum threads it appears support wasn't there previously but I'm really hoping things have changed.

Specifically, here's what I'm trying to accomplish:

var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();

info.executable = File.applicationDirectory.resolvePath(whereisPath);

info.workingDirectory = File.applicationDirectory;

var args:Vector.<String> = new Vector.<String>();

args.push('-r');

args.push('%WINDIR%\\SysWOW64;%WINDIR%\\System32'); // searches in the Windows system paths

args.push('-s'); // succinct output. Prints path only

args.push(exeToFind);

info.arguments = args;

nativeProcess = new NativeProcess();

addListeners();

nativeProcess.start(info);

When I run the executable with the same arguments in CMD, %WINDIR% is correctly interpreted.  However, when run from AIR, it appears that %WINDIR% is never translated.

Thanks for any info...even if it turns out it's just not supported.

Aaron

This topic has been closed for replies.

1 reply

February 23, 2011

I'd like to echo this one: even running cmd.exe requires WINDIR - I'd love to know how to access it via envvar or constant or something.

chris.campbell
Community Manager
Community Manager
February 23, 2011

Unfortunately we don't have support for this yet.  There is a feature request for this on our ideas.adobe.com site that I'd like to encourage you guys to vote for.  The only workaround that I know of at this point is to create a separate helper application that can query the environment variables using a native api (e.g. GetEnvironmentVariable()), then pass those back to your AIR app and use them for your target native process.

Chris