public ScriptEngine(string language)
{
if (language == null)
throw new ArgumentNullException("language");
Type engine = Type.GetTypeFromProgID(language, true);
_engine = Activator.CreateInstance(engine) as IActiveScript;
if (_engine == null)
throw new ArgumentException(language + " is not an Windows Script Engine", "language");
_site = new ScriptSite();
_engine.SetScriptSite(_site);
// support 32-bit & 64-bit process
if (IntPtr.Size == 4)
{
_parse32 = _engine as IActiveScriptParse32;
_parse32.InitNew();
}
else
{
_parse64 = _engine as IActiveScriptParse64;
_parse64.InitNew();
}
}