Make PowerShellGet loaded for PackageManagement

This commit is contained in:
quoctruong 2016-06-29 09:33:47 -07:00
parent bd21c84ece
commit eea998b4df
14 changed files with 55 additions and 14721 deletions

View file

@ -76,6 +76,7 @@ namespace Microsoft.PackageManagement.Providers.Internal.Bootstrap {
return Enumerable.Empty<Feed>(); return Enumerable.Empty<Feed>();
} }
/* No bootstrap
if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) { if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) {
Warning(Constants.Messages.NetworkNotAvailable); Warning(Constants.Messages.NetworkNotAvailable);
Warning(string.Format(CultureInfo.CurrentCulture, Resources.Messages.ProviderBootstrapFailed)); Warning(string.Format(CultureInfo.CurrentCulture, Resources.Messages.ProviderBootstrapFailed));
@ -91,6 +92,7 @@ namespace Microsoft.PackageManagement.Providers.Internal.Bootstrap {
Warning(Constants.Messages.ProviderSwidtagUnavailable); Warning(Constants.Messages.ProviderSwidtagUnavailable);
return Enumerable.Empty<Feed>(); return Enumerable.Empty<Feed>();
} }
*/
} }
return _feeds; return _feeds;
} }
@ -441,6 +443,9 @@ namespace Microsoft.PackageManagement.Providers.Internal.Bootstrap {
/// <returns></returns> /// <returns></returns>
internal Package GetProviderFromFile(string filePath, bool copyFileToTemp = false, bool suppressErrorsAndWarnings = false) { internal Package GetProviderFromFile(string filePath, bool copyFileToTemp = false, bool suppressErrorsAndWarnings = false) {
// not supported
return null;
/*
if (string.IsNullOrWhiteSpace(filePath) && !System.IO.File.Exists(filePath)) { if (string.IsNullOrWhiteSpace(filePath) && !System.IO.File.Exists(filePath)) {
Warning(Constants.Messages.FileNotFound, filePath); Warning(Constants.Messages.FileNotFound, filePath);
return null; return null;
@ -501,6 +506,7 @@ namespace Microsoft.PackageManagement.Providers.Internal.Bootstrap {
} }
return null; return null;
*/
} }
/// <summary> /// <summary>
@ -629,4 +635,4 @@ namespace Microsoft.PackageManagement.Providers.Internal.Bootstrap {
} }
} }
} }
} }

View file

@ -134,6 +134,8 @@ namespace Microsoft.PackageManagement.MetaProvider.PowerShell.Internal {
if (_baseFolder == null || !Directory.Exists(_baseFolder)) { if (_baseFolder == null || !Directory.Exists(_baseFolder)) {
throw new Exception(Resources.Messages.CantFindBasePowerShellModuleFolder); throw new Exception(Resources.Messages.CantFindBasePowerShellModuleFolder);
} }
_baseFolder = Path.Combine(_baseFolder, "Modules", "PackageManagement");
} }
return _baseFolder; return _baseFolder;
} }
@ -827,4 +829,4 @@ namespace Microsoft.PackageManagement.MetaProvider.PowerShell.Internal {
} }
} }
} }
} }

View file

@ -857,6 +857,10 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
Version maximumVersion, Version maximumVersion,
ProviderOption providerOption = ProviderOption.LatestVersion) { ProviderOption providerOption = ProviderOption.LatestVersion) {
return Enumerable.Empty<string>();
/* We don't need to scan provider assemblies on corepowershell.
//if provider is installed in providername\version format //if provider is installed in providername\version format
var providerFolder = ProviderAssembliesLocation.Distinct(new PathEqualityComparer(PathCompareOption.Full)).SelectMany(Directory.EnumerateDirectories); var providerFolder = ProviderAssembliesLocation.Distinct(new PathEqualityComparer(PathCompareOption.Full)).SelectMany(Directory.EnumerateDirectories);
@ -962,16 +966,20 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
} }
} }
} }
*/
} }
//Return all providers under the providerAssemblies folder //Return all providers under the providerAssemblies folder
internal IEnumerable<string> AllProvidersFromProviderAssembliesLocation(IHostApi request) { internal IEnumerable<string> AllProvidersFromProviderAssembliesLocation(IHostApi request) {
/*
don't need this for core powershell
try { try {
return ScanAllProvidersFromProviderAssembliesLocation(request, null, null, null, null, ProviderOption.AllProvider).WhereNotNull().ToArray(); return ScanAllProvidersFromProviderAssembliesLocation(request, null, null, null, null, ProviderOption.AllProvider).WhereNotNull().ToArray();
} catch (Exception ex) { } catch (Exception ex) {
request.Debug(ex.Message); request.Debug(ex.Message);
} }
*/
return Enumerable.Empty<string>(); return Enumerable.Empty<string>();
} }
@ -979,6 +987,9 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
//return the providers with latest version under the providerAssemblies folder //return the providers with latest version under the providerAssemblies folder
//This method only gets called during the initialization, i.e. LoadProviders(). //This method only gets called during the initialization, i.e. LoadProviders().
private IEnumerable<string> ProvidersWithLatestVersionFromProviderAssembliesLocation(IHostApi request) { private IEnumerable<string> ProvidersWithLatestVersionFromProviderAssembliesLocation(IHostApi request) {
return Enumerable.Empty<string>();
/*
don't need this for core powershell
try { try {
var providerPaths = ScanAllProvidersFromProviderAssembliesLocation(request, null, null, null, null, ProviderOption.LatestVersion).WhereNotNull().ToArray(); var providerPaths = ScanAllProvidersFromProviderAssembliesLocation(request, null, null, null, null, ProviderOption.LatestVersion).WhereNotNull().ToArray();
@ -1012,6 +1023,7 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
request.Debug(ex.Message); request.Debug(ex.Message);
} }
return Enumerable.Empty<string>(); return Enumerable.Empty<string>();
*/
} }
/// <summary> /// <summary>
@ -1029,28 +1041,14 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
.Concat(GetProvidersFromRegistry(Registry.LocalMachine, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")) .Concat(GetProvidersFromRegistry(Registry.LocalMachine, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT"))
.Concat(GetProvidersFromRegistry(Registry.CurrentUser, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT")); .Concat(GetProvidersFromRegistry(Registry.CurrentUser, "SOFTWARE\\MICROSOFT\\PACKAGEMANAGEMENT"));
providerAssemblies = providerAssemblies.Concat(ProvidersWithLatestVersionFromProviderAssembliesLocation(request));
#if DEEP_DEBUG
providerAssemblies = providerAssemblies.ToArray();
foreach (var each in providerAssemblies) {
request.Debug("possible assembly: {0}".format(each));
}
#endif
// find modules that have manifests
// todo: expand this out to validate the assembly is ok for this instance of PackageManagement.
providerAssemblies = providerAssemblies.Where(each => Manifest.LoadFrom(each).Any(manifest => Swidtag.IsSwidtag(manifest) && new Swidtag(manifest).IsApplicable(new Hashtable())));
// add inbox assemblies (don't require manifests, because they are versioned with the core)
#if !COMMUNITY_BUILD #if !COMMUNITY_BUILD
// todo: these should just be strong-named references. for now, just load them from the same directory. // todo: these should just be strong-named references. for now, just load them from the same directory.
providerAssemblies = providerAssemblies.Concat(new[] { providerAssemblies = providerAssemblies.Concat(new[] {
Path.Combine(BaseDir, "Microsoft.PackageManagement.MetaProvider.PowerShell.dll"), Path.Combine(BaseDir, "Microsoft.PackageManagement.MetaProvider.PowerShell.dll"),
Path.Combine(BaseDir, "Microsoft.PackageManagement.ArchiverProviders.dll"), Path.Combine(BaseDir, "Microsoft.PackageManagement.ArchiverProviders.dll"),
Path.Combine(BaseDir, "Microsoft.PackageManagement.CoreProviders.dll"), Path.Combine(BaseDir, "Microsoft.PackageManagement.CoreProviders.dll"),
Path.Combine(BaseDir, "Microsoft.PackageManagement.NuGetProvider.dll"),
Path.Combine(BaseDir, "Microsoft.PackageManagement.PackageSourceListProvider.dll"),
#if !CORECLR #if !CORECLR
Path.Combine(BaseDir, "Microsoft.PackageManagement.MsuProvider.dll"), Path.Combine(BaseDir, "Microsoft.PackageManagement.MsuProvider.dll"),
Path.Combine(BaseDir, "Microsoft.PackageManagement.MsiProvider.dll") Path.Combine(BaseDir, "Microsoft.PackageManagement.MsiProvider.dll")
@ -1058,14 +1056,6 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
}); });
#endif #endif
#if DEEP_DEBUG
providerAssemblies = providerAssemblies.ToArray();
foreach (var each in providerAssemblies) {
request.Debug("possible assembly with manifest: {0}".format(each));
}
#endif
providerAssemblies = providerAssemblies.OrderByDescending(each => { providerAssemblies = providerAssemblies.OrderByDescending(each => {
try { try {
// try to get a version from the file first // try to get a version from the file first
@ -1611,4 +1601,4 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
return found; return found;
} }
} }
} }

View file

@ -81,6 +81,7 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
/// <param name="providerPath"></param> /// <param name="providerPath"></param>
public void SetSwidTag(string providerPath) public void SetSwidTag(string providerPath)
{ {
#if !LINUX
if (!string.IsNullOrWhiteSpace(providerPath)) if (!string.IsNullOrWhiteSpace(providerPath))
{ {
// check whether there is swidtag attached to the provider path // check whether there is swidtag attached to the provider path
@ -92,6 +93,7 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
SetSwidTag(new XDocument(new XDeclaration("1.0", "UTF-8", "yes"), swid)); SetSwidTag(new XDocument(new XDeclaration("1.0", "UTF-8", "yes"), swid));
} }
} }
#endif
} }
public IEnumerable<string> SupportedFileExtensions { public IEnumerable<string> SupportedFileExtensions {
@ -207,4 +209,4 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
return new DynamicOptionRequestObject(this, requestObject, request => Provider.GetDynamicOptions(category.ToString(), request), category); return new DynamicOptionRequestObject(this, requestObject, request => Provider.GetDynamicOptions(category.ToString(), request), category);
} }
} }
} }

View file

@ -176,9 +176,13 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
Debug(request, "Calling 'ProviderService::IsSignedAndTrusted, '{0}'", filename); Debug(request, "Calling 'ProviderService::IsSignedAndTrusted, '{0}'", filename);
// we are not using this function anywhere
#if !LINUX
var wtd = new WinTrustData(filename); var wtd = new WinTrustData(filename);
var result = NativeMethods.WinVerifyTrust(new IntPtr(-1), new Guid("{00AAC56B-CD44-11d0-8CC2-00C04FC295EE}"), wtd); var result = NativeMethods.WinVerifyTrust(new IntPtr(-1), new Guid("{00AAC56B-CD44-11d0-8CC2-00C04FC295EE}"), wtd);
return result == WinVerifyTrustResult.Success; return result == WinVerifyTrustResult.Success;
#endif
} }
return false; return false;
} }
@ -233,4 +237,4 @@ namespace Microsoft.PackageManagement.Internal.Implementation {
return request.Debug(request.FormatMessageString(messageText, args)); return request.Debug(request.FormatMessageString(messageText, args));
} }
} }
} }

View file

@ -19,9 +19,11 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
internal static class ExceptionExtensions { internal static class ExceptionExtensions {
public static void Dump(this Exception e) { public static void Dump(this Exception e) {
#if !LINUX
var text = string.Format(CultureInfo.CurrentCulture, "{0}/{1}\r\n{2}", e.GetType().Name, e.Message, e.StackTrace); var text = string.Format(CultureInfo.CurrentCulture, "{0}/{1}\r\n{2}", e.GetType().Name, e.Message, e.StackTrace);
// for now, this is the only way we'll see exceptions in the wild. // for now, this is the only way we'll see exceptions in the wild.
NativeMethods.OutputDebugString(text); NativeMethods.OutputDebugString(text);
#endif
} }
#if DETAILED_DEBUG #if DETAILED_DEBUG
@ -35,4 +37,4 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
} }
#endif #endif
} }
} }

View file

@ -74,14 +74,14 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
// move the file to the tmp file // move the file to the tmp file
// and tell the OS to remove it next reboot. // and tell the OS to remove it next reboot.
var tmpFilename = GenerateTemporaryFileOrDirectoryNameInTempDirectory() + ".delete_me"; // generates a unique filename but not a file! var tmpFilename = GenerateTemporaryFileOrDirectoryNameInTempDirectory() + ".delete_me"; // generates a unique filename but not a file!
MoveFileOverwrite(location, tmpFilename); File.Move(location, tmpFilename);
if (File.Exists(location) || Directory.Exists(location)) { if (File.Exists(location) || Directory.Exists(location)) {
// of course, if the tmpFile isn't on the same volume as the location, this doesn't work. // of course, if the tmpFile isn't on the same volume as the location, this doesn't work.
// then, last ditch effort, let's rename it in the current directory // then, last ditch effort, let's rename it in the current directory
// and then we can hide it and mark it for cleanup . // and then we can hide it and mark it for cleanup .
tmpFilename = Path.Combine(Path.GetDirectoryName(location), "tmp." + CounterHex + "." + Path.GetFileName(location) + ".delete_me"); tmpFilename = Path.Combine(Path.GetDirectoryName(location), "tmp." + CounterHex + "." + Path.GetFileName(location) + ".delete_me");
MoveFileOverwrite(location, tmpFilename); File.Move(location, tmpFilename);
if (File.Exists(tmpFilename) || Directory.Exists(location)) { if (File.Exists(tmpFilename) || Directory.Exists(location)) {
// hide the file for convenience. // hide the file for convenience.
File.SetAttributes(tmpFilename, File.GetAttributes(tmpFilename) | FileAttributes.Hidden); File.SetAttributes(tmpFilename, File.GetAttributes(tmpFilename) | FileAttributes.Hidden);
@ -89,7 +89,7 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
} }
// Now we mark the locked file to be deleted upon next reboot (or until another coapp app gets there) // Now we mark the locked file to be deleted upon next reboot (or until another coapp app gets there)
MoveFileOverwrite(File.Exists(tmpFilename) ? tmpFilename : location, null); File.Move(File.Exists(tmpFilename) ? tmpFilename : location, null);
} catch { } catch {
// really. Hmmm. // really. Hmmm.
} }
@ -101,19 +101,6 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
return; return;
} }
/// <summary>
/// File move abstraction that can be implemented to handle non-windows platforms
/// </summary>
/// <param name="sourceFile"></param>
/// <param name="destinationFile"></param>
public static void MoveFileOverwrite(string sourceFile, string destinationFile) {
NativeMethods.MoveFileEx(sourceFile, destinationFile, MoveFileFlags.ReplaceExisting);
}
public static void MoveFileAtNextBoot(string sourceFile, string destinationFile) {
NativeMethods.MoveFileEx(sourceFile, destinationFile, MoveFileFlags.DelayUntilReboot);
}
/// <summary> /// <summary>
/// Create a temporary file name in the temp directory so we can move file that we cannot delete over /// Create a temporary file name in the temp directory so we can move file that we cannot delete over
/// </summary> /// </summary>
@ -199,6 +186,7 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
// is this a unc path? // is this a unc path?
if (string.IsNullOrWhiteSpace(pathUri.Host)) { if (string.IsNullOrWhiteSpace(pathUri.Host)) {
#if !LINUX
// no, this is a drive:\path path // no, this is a drive:\path path
// use API to resolve out the drive letter to see if it is a remote // use API to resolve out the drive letter to see if it is a remote
var drive = pathUri.Segments[1].Replace('/', '\\'); // the zero segment is always just '/' var drive = pathUri.Segments[1].Replace('/', '\\'); // the zero segment is always just '/'
@ -212,6 +200,7 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
return pathUri.Segments.Skip(2).Aggregate(sb.ToString().Trim(), (current, item) => current + item); return pathUri.Segments.Skip(2).Aggregate(sb.ToString().Trim(), (current, item) => current + item);
} }
} }
#endif
} }
// not a remote (or resovably-remote) path or // not a remote (or resovably-remote) path or
// it is already a path that is in it's correct form (via localpath) // it is already a path that is in it's correct form (via localpath)
@ -265,4 +254,4 @@ namespace Microsoft.PackageManagement.Internal.Utility.Extensions {
return new Regex(@"-+").Replace(new Regex(@"[^\d\w\[\]_\-\.\ ]").Replace(input, "-"), "-").Replace(" ", ""); return new Regex(@"-+").Replace(new Regex(@"[^\d\w\[\]_\-\.\ ]").Replace(input, "-"), "-").Replace(" ", "");
} }
} }
} }

View file

@ -22,6 +22,7 @@ namespace Microsoft.PackageManagement.Internal.Utility.Platform {
internal static class Manifest { internal static class Manifest {
private static readonly byte[] _utf = {0xef, 0xbb, 0xbf}; private static readonly byte[] _utf = {0xef, 0xbb, 0xbf};
#if !LINUX
public static IEnumerable<XElement> LoadFrom(string filename) { public static IEnumerable<XElement> LoadFrom(string filename) {
var manifests = new List<XElement>(); var manifests = new List<XElement>();
@ -68,5 +69,7 @@ namespace Microsoft.PackageManagement.Internal.Utility.Platform {
} }
return manifests; return manifests;
} }
#endif
} }
} }

View file

@ -12,6 +12,7 @@
// limitations under the License. // limitations under the License.
// //
#if !LINUX
namespace Microsoft.PackageManagement.Internal.Utility.Platform { namespace Microsoft.PackageManagement.Internal.Utility.Platform {
using System; using System;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
@ -334,4 +335,6 @@ namespace Microsoft.PackageManagement.Internal.Utility.Platform {
public static extern void OutputDebugString(string debugMessageText); public static extern void OutputDebugString(string debugMessageText);
#endif #endif
} }
} }
#endif

View file

@ -1,190 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
<ViewDefinitions>
<View>
<Name>PSRepositoryItemInfo</Name>
<ViewSelectedBy>
<TypeName>Microsoft.PowerShell.Commands.PSRepositoryItemInfo</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width>10</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>35</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>20</Width>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Version</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Repository</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Description</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
<View>
<Name>PSRepository</Name>
<ViewSelectedBy>
<TypeName>Microsoft.PowerShell.Commands.PSRepository</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width>25</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>20</Width>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>InstallationPolicy</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>SourceLocation</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
<View>
<Name>PSScriptInfo</Name>
<ViewSelectedBy>
<TypeName>Microsoft.PowerShell.Commands.PSScriptInfo</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width>10</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>25</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>20</Width>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Version</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Author</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Description</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
<View>
<Name>PSGetDscResourceInfo</Name>
<ViewSelectedBy>
<TypeName>Microsoft.PowerShell.Commands.PSGetCommandInfo</TypeName>
<TypeName>Microsoft.PowerShell.Commands.PSGetDscResourceInfo</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width>35</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>10</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>35</Width>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Version</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>ModuleName</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Repository</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
<View>
<Name>PSGetRoleCapabilityInfo</Name>
<ViewSelectedBy>
<TypeName>Microsoft.PowerShell.Commands.PSGetRoleCapabilityInfo</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width>35</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>10</Width>
</TableColumnHeader>
<TableColumnHeader>
<Width>35</Width>
</TableColumnHeader>
<TableColumnHeader/>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Version</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>ModuleName</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Repository</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -4,18 +4,18 @@
"monad/miscfiles/modules/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.psd1": "Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.psd1", "monad/miscfiles/modules/Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.psd1": "Microsoft.PowerShell.Management/Microsoft.PowerShell.Management.psd1",
"monad/miscfiles/modules/Microsoft.WSMan.Management/Microsoft.WSMan.Management.psd1": "Microsoft.WSMan.Management/Microsoft.WSMan.Management.psd1", "monad/miscfiles/modules/Microsoft.WSMan.Management/Microsoft.WSMan.Management.psd1": "Microsoft.WSMan.Management/Microsoft.WSMan.Management.psd1",
"monad/miscfiles/modules/PSDiagnostics/PSDiagnostics.psm1": "PSDiagnostics/PSDiagnostics.psm1", "monad/miscfiles/modules/PSDiagnostics/PSDiagnostics.psm1": "PSDiagnostics/PSDiagnostics.psm1",
"monad/miscfiles/modules/PSGet/PSGet.psd1": "PSGet/PSGet.psd1", "monad/miscfiles/modules/PSGet/PSGet.psd1": "PowerShellGet/PowerShellGet.psd1",
"monad/miscfiles/modules/AppxProvider/AppxProvider.psm1": "AppxProvider/AppxProvider.psm1", "monad/miscfiles/modules/AppxProvider/AppxProvider.psm1": "AppxProvider/AppxProvider.psm1",
"monad/miscfiles/modules/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.psd1": "Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.psd1", "monad/miscfiles/modules/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.psd1": "Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.psd1",
"monad/miscfiles/modules/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.psm1": "Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.psm1", "monad/miscfiles/modules/Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.psm1": "Microsoft.PowerShell.Utility/Microsoft.PowerShell.Utility.psm1",
"monad/miscfiles/modules/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1": "Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1", "monad/miscfiles/modules/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1": "Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1",
"monad/miscfiles/modules/Microsoft.PowerShell.Archive/ArchiveResources.psd1": "Microsoft.PowerShell.Archive/ArchiveResources.psd1", "monad/miscfiles/modules/Microsoft.PowerShell.Archive/ArchiveResources.psd1": "Microsoft.PowerShell.Archive/ArchiveResources.psd1",
"monad/miscfiles/modules/PSGet/PSModule.psm1": "PSGet/PSModule.psm1", "monad/miscfiles/modules/PSGet/PSModule.psm1": "PowerShellGet/PSModule.psm1",
"monad/miscfiles/modules/PSGet/PSGet.Format.ps1xml": "PSGet/PSGet.Format.ps1xml", "monad/miscfiles/modules/PSGet/PSGet.Format.ps1xml": "PowerShellGet/PSGet.Format.ps1xml",
"monad/miscfiles/modules/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.psd1": "Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.psd1", "monad/miscfiles/modules/Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.psd1": "Microsoft.PowerShell.Host/Microsoft.PowerShell.Host.psd1",
"monad/miscfiles/modules/AppxProvider/AppxProvider.Resource.psd1": "AppxProvider/AppxProvider.Resource.psd1", "monad/miscfiles/modules/AppxProvider/AppxProvider.Resource.psd1": "AppxProvider/AppxProvider.Resource.psd1",
"monad/miscfiles/modules/AppxProvider/AppxProvider.psd1": "AppxProvider/AppxProvider.psd1", "monad/miscfiles/modules/AppxProvider/AppxProvider.psd1": "AppxProvider/AppxProvider.psd1",
"monad/miscfiles/modules/PSGet/PSGet.Resource.psd1": "PSGet/PSGet.Resource.psd1", "monad/miscfiles/modules/PSGet/PSGet.Resource.psd1": "PowerShellGet/PSGet.Resource.psd1",
"monad/src/LocalAccounts/Microsoft.PowerShell.LocalAccounts.psd1": "Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.psd1", "monad/src/LocalAccounts/Microsoft.PowerShell.LocalAccounts.psd1": "Microsoft.PowerShell.LocalAccounts/Microsoft.PowerShell.LocalAccounts.psd1",
"monad/src/LocalAccounts/LocalAccounts.format.ps1xml": "Microsoft.PowerShell.LocalAccounts/LocalAccounts.format.ps1xml", "monad/src/LocalAccounts/LocalAccounts.format.ps1xml": "Microsoft.PowerShell.LocalAccounts/LocalAccounts.format.ps1xml",
"monad/src/oneget/PowerShell.Module/PackageManagement.psd1": "PackageManagement/PackageManagement.psd1", "monad/src/oneget/PowerShell.Module/PackageManagement.psd1": "PackageManagement/PackageManagement.psd1",