in AppInstallerFileBuilder/AppInstallerFileBuilder/Views/DependenciesView.xaml.cs [85:131]
private async void PackageInfoButton_Click(object sender, RoutedEventArgs e)
{
FileOpenPicker openPicker = new FileOpenPicker
{
ViewMode = PickerViewMode.Thumbnail,
SuggestedStartLocation = PickerLocationId.Desktop
};
openPicker.FileTypeFilter.Add(".msix");
openPicker.FileTypeFilter.Add(".msixbundle");
openPicker.FileTypeFilter.Add(".appx");
openPicker.FileTypeFilter.Add(".appxbundle");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null && (file.FileType.Equals(".msix", StringComparison.OrdinalIgnoreCase) || file.FileType.Equals(".appx", StringComparison.OrdinalIgnoreCase)))
{
// Application now has read/write access to the picked file
IRandomAccessStream randomAccessStream = await file.OpenReadAsync();
AppxMetadata appPackage = new AppxMetadata(randomAccessStream);
_dependencyPackage.FilePath = file.Path;
_dependencyPackage.Name = appPackage.PackageName;
_dependencyPackage.Publisher = appPackage.Publisher;
_dependencyPackage.Version = appPackage.Version.ToString();
_dependencyPackage.ProcessorArchitecture = appPackage.Architecture;
_dependencyPackage.FullUriPath = file.Path;
_dependencyPackage.PackageType = PackageType.MSIX;
}
else if (file != null && (file.FileType.Equals(".msixbundle", StringComparison.OrdinalIgnoreCase) || file.FileType.Equals(".appxbundle", StringComparison.OrdinalIgnoreCase)))
{
IRandomAccessStream randomAccessStream = await file.OpenReadAsync();
AppxBundleMetadata appBundle = new AppxBundleMetadata(randomAccessStream);
_dependencyPackage.FilePath = file.Path;
_dependencyPackage.Name = appBundle.PackageName;
_dependencyPackage.Publisher = appBundle.Publisher;
_dependencyPackage.Version = appBundle.Version.ToString();
_dependencyPackage.FullUriPath = file.Path;
_dependencyPackage.PackageType = PackageType.MSIXBUNDLE;
}
_reloadViews();
_save();
}