static int Main(string[] args)
    {
        //Parse the command line
        CommandLineData commands = ParseCommandLine(args);

        if (commands == null)
        {
            return(1);
        }
        AssemblyRunner runner = null;

        try
        {
            //Create the sandbox
            runner = PTRunnerLib.GetPartialTrustInstance <AssemblyRunner>(commands.permission, commands.fullTrustAssemblies.ToArray());
        }
        catch (InvalidOperationException ex)
        {
            Console.WriteLine("ERROR: {0}", ex.Message);
            return(-1);
        }
        //And we execute the assembly!!!
        return(runner.ExecuteAssembly(commands.programName, commands.arguments));
    }