diff --git a/Wox.Core/Plugin/PluginConfig.cs b/Wox.Core/Plugin/PluginConfig.cs index 6d2cba1488..9cc9952cf1 100644 --- a/Wox.Core/Plugin/PluginConfig.cs +++ b/Wox.Core/Plugin/PluginConfig.cs @@ -58,6 +58,7 @@ namespace Wox.Core.Plugin private static void ParseUserPlugins(string pluginDirectory) { + if (!Directory.Exists(pluginDirectory)) return; string[] directories = Directory.GetDirectories(pluginDirectory); foreach (string directory in directories) @@ -138,4 +139,4 @@ namespace Wox.Core.Plugin return metadata; } } -} +} \ No newline at end of file diff --git a/Wox.Core/Plugin/PluginManager.cs b/Wox.Core/Plugin/PluginManager.cs index 70d2918e26..cdf22a2181 100644 --- a/Wox.Core/Plugin/PluginManager.cs +++ b/Wox.Core/Plugin/PluginManager.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Reflection; using System.Threading; using Wox.Infrastructure.Http; +using Wox.Infrastructure.Logger; using Wox.Plugin; namespace Wox.Core.Plugin @@ -46,6 +47,9 @@ namespace Wox.Core.Plugin static PluginManager() { pluginDirectories.Add(DefaultPluginDirectory); + pluginDirectories.Add( + Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Plugins")); + MakesurePluginDirectoriesExist(); } @@ -55,7 +59,14 @@ namespace Wox.Core.Plugin { if (!Directory.Exists(pluginDirectory)) { - Directory.CreateDirectory(pluginDirectory); + try + { + Directory.CreateDirectory(pluginDirectory); + } + catch (System.Exception e) + { + Log.Error(e.Message); + } } } } diff --git a/Wox/ThemeManager.cs b/Wox/ThemeManager.cs index f4844bb009..270bb4aeeb 100644 --- a/Wox/ThemeManager.cs +++ b/Wox/ThemeManager.cs @@ -8,6 +8,7 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Media; using Wox.Helper; +using Wox.Infrastructure.Logger; using Wox.Infrastructure.Storage.UserSettings; namespace Wox @@ -18,6 +19,8 @@ namespace Wox static ThemeManager() { + themeDirectories.Add(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Themes")); + string userProfilePath = Environment.GetEnvironmentVariable("USERPROFILE"); if (userProfilePath != null) { @@ -33,7 +36,14 @@ namespace Wox { if (!Directory.Exists(pluginDirectory)) { - Directory.CreateDirectory(pluginDirectory); + try + { + Directory.CreateDirectory(pluginDirectory); + } + catch(Exception e) + { + Log.Error(e.Message); + } } } }