Flash EXE files are what you build when you want to use Flash outside the normal browser experience. Since Flash normally runs in a browser there's no way to interact with the host operating system. So how do you get Flash to do things like open documents or launch applications?

Well, there's an FSCommand for that...

Calling fscommand("exec", "filename"); will launch the application specified by filename.

The EXEC fscommand is the only escape hatch that Flash provides, and it works, but there are a few limiations. You can't provide a path to the file you want to launch, it has to exist in a special sanboxed folder. The application can't have any spaces or special characters in the file name. But the killer limitation is that you can't pass arguments to the application you're launching.

That severely limits the usefulness of EXEC, but over the years people have come up with some clever workarounds. If you've spent any time researching limitations of the EXEC fscommand you've probably run into my FREE proxy utility. While proxy is very useful, it's a bit cumbersome if you have a lot of calls to make.

When you need something easier and more powerful, the next step is a swf2exe application like SWF Studio.

More power usually comes hand-in-hand with more complexity... so to make creating EXE files with SWF Studio as easy as possible, SWF Studio supports the EXEC FSCommand and it works exactly the same is it does in Flash. You don't have to change anything. Just compile your SWF into an EXE using SWF Studio.

But we also decided it would be nice to remove the limitations on EXEC. So EXE files you create with SWF Studio will be able to pass arguments to external applications and you won't have to put the executables you want to run in the fscommand sandbox folder. In addition you can use SWF Studio's powerful file monikers in your EXEC calls.

With SWF Studio you can use EXEC to do things like this...

// open notepad.exe and pass it a file name
fscommand("exec", "windir://notepad.exe file1.txt");
// open test.exe (beside your main EXE)
fscommand("exec", "startdir://test.exe");

When you're ready to take full control over the way you launch applications and open documents from Flash, SWF Studio also adds new commands like ssCore.Shell.execute and ssCore.Shell.open that make the EXEC fscommand obsolete and give you an unprecedented amount of control.