private async void PackageInfoButton_Click()

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();
        }