public static string[] GetRegisteredStartupFolders (string registryPath)
{
string dbDir = Path.Combine (registryPath, "addin-db-" + AddinDatabase.VersionTag);
dbDir = Path.Combine (dbDir, "hosts");
if (!Directory.Exists (dbDir))
return new string [0];
ArrayList dirs = new ArrayList ();
foreach (string s in Directory.GetFiles (dbDir, "*.addins")) {
try {
using (StreamReader sr = new StreamReader (s)) {
XmlTextReader tr = new XmlTextReader (sr);
tr.MoveToContent ();
string host = tr.GetAttribute ("host-reference");
host = Path.GetDirectoryName (host);
if (!dirs.Contains (host))
dirs.Add (host);
}
}
catch {
// Ignore this file
}
}
return (string[]) dirs.ToArray (typeof(string));
}
#pragma warning restore 1591