private UAReturn LoadPackage()
{
UAReturn result = new UAReturn() { Success = false };
foreach (string package in RPackages)
{
if (isNewPackage) UnloadPackage(package);
//Load Package
if (!dispatcher.IsLoaded(package))
{
string parentDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).Replace('\\', '/') + "/R Packages";
this.EvaluateNoReturn("library(tools)");
string command = string.Format("write_PACKAGES('{0}')", parentDir);
this.EvaluateNoReturn(command);
this.EvaluateNoReturn(string.Format("install.packages('{0}', repos=NULL, contriburl='file:///{1}')", package, parentDir));
result.Success = true;
this.EvaluateNoReturn(string.Format("library({0})", package));
}
}
return result;
}