Currently I am building an application that launches crtmpd (a rtmp server written in C++).
Whenever I launch the application from within Flash Builder it works great, if I install a release build from an air file the process.start() returns a generic “could not start process” error.
The crtmpserver.exe is stored in applicationDirectory and the config file is kept in applicationStorageDirectoy.
So I’ve moved it to the native storage directory. But the problem persists. I’ve found the following though:
startupInfo = new NativeProcessStartupInfo();
startupInfo.executable = binFile;
processArgs = new Vector.<String>();
processArgs.push(luaFile.nativePath);
startupInfo.arguments = processArgs;
In the IDE after this startupInfo is setup correctly. On client machines all properties of startupInfo are still null.
The problem was I was packaging with an Air installer rather than a native installer.
Once I packaged with the appropriate installer the problem has resolved itself.