diff --git a/src/SccmTools.Library/Module/Commands/CreateApplication/CreateApplicationFromDefinitionCommandProvider.cs b/src/SccmTools.Library/Module/Commands/CreateApplication/CreateApplicationFromDefinitionCommandProvider.cs index bc18d29..bc8d563 100644 --- a/src/SccmTools.Library/Module/Commands/CreateApplication/CreateApplicationFromDefinitionCommandProvider.cs +++ b/src/SccmTools.Library/Module/Commands/CreateApplication/CreateApplicationFromDefinitionCommandProvider.cs @@ -40,6 +40,14 @@ public CreateApplicationFromDefinitionCommandProvider( public int CreateApplicationFromDefinition(string packageDefinitionFileName) { + var configurationManagerConsoleIsInstalled = F.GetAdminConsoleBinPath().Match(path => true, exception => + { + typeof(CreateApplicationFromDefinitionCommandProvider).Logger().Error(exception.Message); + return false; + }); + if (!configurationManagerConsoleIsInstalled) + return 1; + var packageDefinitionFile = _packageDefinitionFileProvider.GetPackageDefinitionFile(packageDefinitionFileName); _logger.InfoFormat("Creating application from package definition file '{0}'...", packageDefinitionFile.FileName); var packageDefinition = _packageDefinitionProvider.ReadPackageDefinition(packageDefinitionFile.FileName); diff --git a/src/SccmTools/AssemblyResolver.cs b/src/SccmTools/AssemblyResolver.cs index 58bc5eb..da3010c 100644 --- a/src/SccmTools/AssemblyResolver.cs +++ b/src/SccmTools/AssemblyResolver.cs @@ -10,8 +10,9 @@ using System.Collections.Generic; using System.IO; using System.Reflection; -using System.Runtime.CompilerServices; +using LanguageExt; using SccmTools.Library.Module; +using static LanguageExt.Prelude; namespace SccmTools { @@ -163,14 +164,14 @@ private static byte[] GetAssemblyData(this Assembly resourceAssembly, string res return null; } - private static IEnumerable SearchPaths() + private static Func> SearchPaths => fun(() => { var searchPath = F.GetAdminConsoleBinPath().Match(path => path.Value, exception => { typeof(AssemblyResolver).Logger().Error(exception.Message); return string.Empty; }); - return string.IsNullOrWhiteSpace(searchPath) ? new string[] { } : new[] {searchPath}; - } + return string.IsNullOrWhiteSpace(searchPath) ? new string[] { } : new[] {searchPath}; + }).Memo(); } } \ No newline at end of file