public void Run()
        {
            try {
                switch (scriptLanguage)
                {
                case ScriptLanguage.JScript:
                    scriptEngine = new JScript();
                    break;

                case ScriptLanguage.VBScript:
                    scriptEngine = new VBScript();
                    break;

                default:
                    throw new ClrPlusException("Invalid Script Language");
                }
                EXCEPINFO info;
                ActiveScriptParse.InitNew();
                ActiveScript.SetScriptSite(this);

                // add this object in
                GlobalMembers.Add("WScript", this);

                foreach (string key in GlobalMembers.Keys)
                {
                    ActiveScript.AddNamedItem(key, ScriptItem.IsVisible | ScriptItem.GlobalMembers);
                }

                ActiveScriptParse.ParseScriptText(ScriptText, null, IntPtr.Zero, null, 0, 0, 0, IntPtr.Zero, out info);
                ActiveScript.SetScriptState((uint)ScriptState.Connected);
            } catch (Exception e) {
                Console.WriteLine(e.Message);
            }
        }