/// <summary>
        /// Runs the scripting application as a Windows Form application.
        /// </summary>
        /// <param name="file"> The ScriptingApplication or ScriptingApplicationPackage to run.</param>
        public void RunScriptingApplication(string file)
        {
            FileInfo fileInfo = new FileInfo(file);
            _packageFile = file;
            this.Text = "Scripting Application Form - " + fileInfo.Name.Replace(fileInfo.Extension, "");
            string contentType = AppLocation.GetMIMEType(file);

            if ( contentType.IndexOf("xml") == -1 )
            {
                ScriptingApplicationPackage package = new ScriptingApplicationPackage(file);
                _args = package.ScriptingApplicationArguments;
                _scrapp = package.ScriptingApplication;
            }
        }
        /// <summary>
        /// Loads a scripting file.
        /// </summary>
        /// <param name="fileName"> The file name to load.</param>
        public void LoadFile(string fileName)
        {
            string contentType = AppLocation.GetMIMEType(fileName);

            // xml file
            if ( contentType.IndexOf("xml") > -1 )
            {
                _scriptingData.Load(fileName);
            }
            else
            {
                ScriptingApplicationPackage package
                    = new ScriptingApplicationPackage(fileName);
                _scriptingData = package.ScriptingApplication;
                _scriptingArgumentsDef = package.ScriptingApplicationArguments;
            }
        }
        /// <summary>
        /// Exports a scripting application.
        /// </summary>
        private void Export()
        {
            string fileName = CreateScriptingDataFile();

            if ( fileName != string.Empty )
            {
                _selectedApplicationFilePath = GetSelectedApplicationFilePath();

                if ( fileName.ToLower().EndsWith("xml") )
                {
                    ScriptingApplicationPackage package = new ScriptingApplicationPackage(_selectedApplicationFilePath);
                    package.ScriptingApplication.Save(fileName);
                } else {
                    ExportApplication(_selectedApplicationFilePath, fileName);
                }
            }
        }