├── .config └── dotnet-tools.json ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── Otor.MsixHero.sln ├── Otor.MsixHero.sln.DotSettings ├── README.md ├── appveyor.yml ├── artifacts ├── redistr │ ├── msixmgr │ │ ├── x64 │ │ │ ├── CreateCIM.dll │ │ │ ├── WVDUtilities.dll │ │ │ ├── applyacls.dll │ │ │ ├── ar-SA │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── bg-BG │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── cs-CZ │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── da-DK │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── de-DE │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── el-GR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── en-US │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── es-ES │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── et-EE │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── fi-FI │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── fr-FR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── he-IL │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── hr-HR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── hu-HU │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── id-ID │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── it-IT │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── ja-JP │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── ko-KR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── lt-LT │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── lv-LV │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── msix.dll │ │ │ ├── msixmgr.exe │ │ │ ├── nb-NO │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── nl-NL │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── pl-PL │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── pt-BR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── pt-PT │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── ro-RO │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── ru-RU │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── sk-SK │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── sl-SI │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── sr-Latn-RS │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── sv-SE │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── th-TH │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── tr-TR │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── uk-UA │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── vi-VN │ │ │ │ └── msixmgr.exe.mui │ │ │ ├── zh-CN │ │ │ │ └── msixmgr.exe.mui │ │ │ └── zh-TW │ │ │ │ └── msixmgr.exe.mui │ │ └── x86 │ │ │ ├── CreateCIM.dll │ │ │ ├── applyacls.dll │ │ │ ├── ar-SA │ │ │ └── msixmgr.exe.mui │ │ │ ├── bg-BG │ │ │ └── msixmgr.exe.mui │ │ │ ├── cs-CZ │ │ │ └── msixmgr.exe.mui │ │ │ ├── da-DK │ │ │ └── msixmgr.exe.mui │ │ │ ├── de-DE │ │ │ └── msixmgr.exe.mui │ │ │ ├── el-GR │ │ │ └── msixmgr.exe.mui │ │ │ ├── en-US │ │ │ └── msixmgr.exe.mui │ │ │ ├── es-ES │ │ │ └── msixmgr.exe.mui │ │ │ ├── et-EE │ │ │ └── msixmgr.exe.mui │ │ │ ├── fi-FI │ │ │ └── msixmgr.exe.mui │ │ │ ├── fr-FR │ │ │ └── msixmgr.exe.mui │ │ │ ├── he-IL │ │ │ └── msixmgr.exe.mui │ │ │ ├── hr-HR │ │ │ └── msixmgr.exe.mui │ │ │ ├── hu-HU │ │ │ └── msixmgr.exe.mui │ │ │ ├── id-ID │ │ │ └── msixmgr.exe.mui │ │ │ ├── it-IT │ │ │ └── msixmgr.exe.mui │ │ │ ├── ja-JP │ │ │ └── msixmgr.exe.mui │ │ │ ├── ko-KR │ │ │ └── msixmgr.exe.mui │ │ │ ├── lt-LT │ │ │ └── msixmgr.exe.mui │ │ │ ├── lv-LV │ │ │ └── msixmgr.exe.mui │ │ │ ├── msix.dll │ │ │ ├── msixmgr.exe │ │ │ ├── nb-NO │ │ │ └── msixmgr.exe.mui │ │ │ ├── nl-NL │ │ │ └── msixmgr.exe.mui │ │ │ ├── pl-PL │ │ │ └── msixmgr.exe.mui │ │ │ ├── pt-BR │ │ │ └── msixmgr.exe.mui │ │ │ ├── pt-PT │ │ │ └── msixmgr.exe.mui │ │ │ ├── ro-RO │ │ │ └── msixmgr.exe.mui │ │ │ ├── ru-RU │ │ │ └── msixmgr.exe.mui │ │ │ ├── sk-SK │ │ │ └── msixmgr.exe.mui │ │ │ ├── sl-SI │ │ │ └── msixmgr.exe.mui │ │ │ ├── sr-Latn-RS │ │ │ └── msixmgr.exe.mui │ │ │ ├── sv-SE │ │ │ └── msixmgr.exe.mui │ │ │ ├── th-TH │ │ │ └── msixmgr.exe.mui │ │ │ ├── tr-TR │ │ │ └── msixmgr.exe.mui │ │ │ ├── uk-UA │ │ │ └── msixmgr.exe.mui │ │ │ ├── vi-VN │ │ │ └── msixmgr.exe.mui │ │ │ ├── zh-CN │ │ │ └── msixmgr.exe.mui │ │ │ └── zh-TW │ │ │ └── msixmgr.exe.mui │ ├── psf │ │ ├── x64 │ │ │ ├── FileRedirectionFixup64.dll │ │ │ ├── PsfLauncher64.exe │ │ │ ├── PsfRunDll64.exe │ │ │ ├── PsfRuntime64.dll │ │ │ ├── TraceFixup64.dll │ │ │ └── WaitForDebuggerFixup64.dll │ │ └── x86 │ │ │ ├── FileRedirectionFixup32.dll │ │ │ ├── PsfLauncher32.exe │ │ │ ├── PsfRunDll32.exe │ │ │ ├── PsfRuntime32.dll │ │ │ ├── TraceFixup32.dll │ │ │ └── WaitForDebuggerFixup32.dll │ └── sdk │ │ ├── x64 │ │ ├── Microsoft.Acs.Dlib.Common.dll │ │ ├── Microsoft.Acs.Dlib.dll │ │ ├── Microsoft.Diagnostics.Tracing.EventSource.dll │ │ ├── Microsoft.Extensions.CommandLineUtils.dll │ │ ├── Microsoft.Identity.Client.Extensions.Msal.dll │ │ ├── Microsoft.Identity.Client.dll │ │ ├── Microsoft.Packaging.SDKUtils.dll │ │ ├── Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest │ │ ├── Microsoft.Windows.Build.Appx.AppxSip.dll.manifest │ │ ├── Microsoft.Windows.Build.Appx.OpcServices.dll.manifest │ │ ├── Microsoft.Windows.Build.Signing.mssign32.dll.manifest │ │ ├── Microsoft.Windows.Build.Signing.wintrust.dll.manifest │ │ ├── Newtonsoft.Json.dll │ │ ├── System.Net.Http.Formatting.dll │ │ ├── appxpackaging.dll │ │ ├── appxsip.dll │ │ ├── en-US │ │ │ └── AppxPackaging.dll.mui │ │ ├── makeappx.exe │ │ ├── makecert.exe │ │ ├── makepri.exe │ │ ├── msisip.dll │ │ ├── mssign32.dll │ │ ├── opcservices.dll │ │ ├── pvk2pfx.exe │ │ ├── resources.pri.xml │ │ ├── signtool.exe │ │ ├── signtool.exe.manifest │ │ ├── wintrust.dll │ │ └── wintrust.dll.ini │ │ └── x86 │ │ ├── Microsoft.Acs.Dlib.Common.dll │ │ ├── Microsoft.Acs.Dlib.dll │ │ ├── Microsoft.Diagnostics.Tracing.EventSource.dll │ │ ├── Microsoft.Extensions.CommandLineUtils.dll │ │ ├── Microsoft.Identity.Client.Extensions.Msal.dll │ │ ├── Microsoft.Identity.Client.dll │ │ ├── Microsoft.Packaging.SDKUtils.dll │ │ ├── Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest │ │ ├── Microsoft.Windows.Build.Appx.AppxSip.dll.manifest │ │ ├── Microsoft.Windows.Build.Appx.OpcServices.dll.manifest │ │ ├── Microsoft.Windows.Build.Signing.mssign32.dll.manifest │ │ ├── Microsoft.Windows.Build.Signing.wintrust.dll.manifest │ │ ├── Newtonsoft.Json.dll │ │ ├── System.Net.Http.Formatting.dll │ │ ├── appxpackaging.dll │ │ ├── appxsip.dll │ │ ├── en-US │ │ └── AppxPackaging.dll.mui │ │ ├── makeappx.exe │ │ ├── makecert.exe │ │ ├── makepri.exe │ │ ├── msisip.dll │ │ ├── mssign32.dll │ │ ├── opcservices.dll │ │ ├── pvk2pfx.exe │ │ ├── signtool.exe │ │ ├── signtool.exe.manifest │ │ ├── wintrust.dll │ │ └── wintrust.dll.ini ├── scripts │ ├── create-certificate.ps1 │ ├── extract-certificate-from-msix.ps1 │ └── install-certificate.ps1 └── templates │ ├── AppAttachDeregister.ps1 │ ├── AppAttachDestage.ps1 │ ├── AppAttachRegister.ps1 │ ├── AppAttachStage.ps1 │ ├── ModificationPackage.AppxManifest.xml │ └── logo.png ├── build-and-sign.ps1 ├── build.cake ├── build.ps1 ├── msix ├── AppxManifest.xml └── Assets │ ├── Logo.png │ ├── Square150x150Logo.png │ ├── Square310x150Logo.png │ ├── Square310x310Logo.png │ ├── Square44x44Logo.png │ └── Square71x71Logo.png ├── screenshot.png ├── src ├── Otor.MsixHero.AdminHelper │ ├── Otor.MsixHero.AdminHelper.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ ├── app.manifest │ └── favicon.ico ├── Otor.MsixHero.App │ ├── App.xaml │ ├── App.xaml.cs │ ├── AssemblyInfo.cs │ ├── Controls │ │ ├── Acrylic │ │ │ └── Background │ │ │ │ ├── AcrylicBackgroundControl.cs │ │ │ │ └── Theme.xaml │ │ ├── AnimatedProgressBar.cs │ │ ├── ButtonRowPanel.cs │ │ ├── Cards │ │ │ ├── Card.cs │ │ │ ├── CardAction.cs │ │ │ ├── CardExpander.cs │ │ │ ├── ILoadingCard.cs │ │ │ └── Theme.xaml │ │ ├── CircularProgress.cs │ │ ├── EmptyControl.cs │ │ ├── Highlighter.cs │ │ ├── LabelWithIcon.cs │ │ ├── LabelWithIconPanel.cs │ │ ├── LearnMore.cs │ │ ├── ProgressOverlay.cs │ │ ├── RequiredAdorner.cs │ │ ├── SidebarIcon.cs │ │ ├── SimpleTextMarkup.cs │ │ ├── SortAdorner.cs │ │ ├── Star │ │ │ ├── StarControl.cs │ │ │ └── Theme.xaml │ │ ├── Switch │ │ │ ├── SwitchControl.cs │ │ │ └── Theme.xaml │ │ ├── Themes.xaml │ │ ├── TransitionContentControl │ │ │ ├── Theme.xaml │ │ │ └── TransitionContentControl.cs │ │ └── TreeListView │ │ │ ├── Theme.xaml │ │ │ ├── TreeListViewControl.cs │ │ │ ├── TreeListViewConverter.cs │ │ │ └── TreeListViewExpander.cs │ ├── Helpers │ │ ├── Behaviors │ │ │ ├── BehaviorCollectionEx.cs │ │ │ ├── HyperlinkClickBehavior.cs │ │ │ ├── InteractionEx.cs │ │ │ ├── LoadedWeakEventListener.cs │ │ │ ├── MvvmSelectedItemBehavior.cs │ │ │ └── UnloadedWeakEventListener.cs │ │ ├── ButtonClosePopup.cs │ │ ├── ComboBoxTemplateSelector.cs │ │ ├── Dialogs │ │ │ ├── DialogFilterBuilder.cs │ │ │ ├── DialogFilterBuilderPackagesExtensions.cs │ │ │ ├── DialogOpener.cs │ │ │ └── DialogOpenerType.cs │ │ ├── DragAndDrop │ │ │ └── DropFileObject.cs │ │ ├── HumanizedDateHelper.cs │ │ ├── ImageExtension.cs │ │ ├── InitialScreen.cs │ │ ├── Interop │ │ │ ├── Shell32.cs │ │ │ ├── Structs │ │ │ │ ├── SHFILEINFO.cs │ │ │ │ └── SHGFI.cs │ │ │ ├── User32.cs │ │ │ └── WindowsIcons.cs │ │ ├── SigningManagerExtensions.cs │ │ ├── Tiers │ │ │ ├── TierBasedStyling.cs │ │ │ ├── TierBasedTemplating.cs │ │ │ ├── TierBasedVisibility.cs │ │ │ └── TierController.cs │ │ ├── TypedParentExtension.cs │ │ ├── Update │ │ │ └── ReleaseNotesHelper.cs │ │ ├── Validation │ │ │ ├── BehaviorBase.cs │ │ │ ├── ValidatedTabItem.cs │ │ │ └── ValidationBehavior.cs │ │ └── WindowsExplorerCertificateHelper.cs │ ├── Hero │ │ ├── Commands │ │ │ ├── Containers │ │ │ │ ├── AddSharedContainerCommand.cs │ │ │ │ ├── GetSharedPackageContainersCommand.cs │ │ │ │ ├── SelectContainerCommand.cs │ │ │ │ ├── SetContainersSortingCommand.cs │ │ │ │ └── SetEventViewerFilterCommand.cs │ │ │ ├── EventViewer │ │ │ │ ├── GetEventsCommand.cs │ │ │ │ ├── OpenEventViewerCommand.cs │ │ │ │ ├── SelectEventCommand.cs │ │ │ │ ├── SetEventViewerFilterCommand.cs │ │ │ │ └── SetEventViewerSortingCommand.cs │ │ │ ├── MsixHeroRoutedUICommands.cs │ │ │ ├── Packages │ │ │ │ ├── CheckForUpdatesCommand.cs │ │ │ │ ├── GetPackagesCommand.cs │ │ │ │ ├── PackageLUID.cs │ │ │ │ ├── SelectPackagesCommand.cs │ │ │ │ ├── SetPackageFilterCommand.cs │ │ │ │ ├── SetPackageGroupingCommand.cs │ │ │ │ ├── SetPackageSidebarVisibilityCommand.cs │ │ │ │ ├── SetPackageSortingCommand.cs │ │ │ │ ├── StarPackageCommand.cs │ │ │ │ ├── StopPackageCommand.cs │ │ │ │ └── UnstarPackageCommand.cs │ │ │ ├── SetCurrentModeCommand.cs │ │ │ ├── Tools │ │ │ │ └── SetToolFilterCommand.cs │ │ │ └── Volumes │ │ │ │ ├── GetVolumesCommand.cs │ │ │ │ ├── SelectVolumesCommand.cs │ │ │ │ └── SetVolumeFilterCommand.cs │ │ ├── Events │ │ │ ├── Base │ │ │ │ ├── UiCancelledEvent.cs │ │ │ │ ├── UiCancelledPayload.cs │ │ │ │ ├── UiExecutedEvent.cs │ │ │ │ ├── UiExecutedPayload.cs │ │ │ │ ├── UiExecutingEvent.cs │ │ │ │ ├── UiExecutingPayload.cs │ │ │ │ ├── UiFailedEvent.cs │ │ │ │ ├── UiFailedPayload.cs │ │ │ │ ├── UiPayload.cs │ │ │ │ ├── UiStartedEvent.cs │ │ │ │ └── UiStartedPayload.cs │ │ │ ├── CommandHandler.cs │ │ │ ├── CustomPackageDirectoriesChangedEvent.cs │ │ │ └── ToolsChangedEvent.cs │ │ ├── Executor │ │ │ ├── BaseMsixHeroCommandExecutor.cs │ │ │ ├── IMsixHeroCommandExecutor.cs │ │ │ ├── MsixHeroCommandExecutor.cs │ │ │ └── MsixHeroCommandExecutorExtensions.cs │ │ ├── Handlers │ │ │ ├── AddSharedContainerCommandHandler.cs │ │ │ ├── CheckForUpdatesHandler.cs │ │ │ ├── GetEventsHandler.cs │ │ │ ├── GetPackagesHandler.cs │ │ │ ├── GetSharedPackageContainersHandler.cs │ │ │ ├── GetVolumesHandler.cs │ │ │ ├── OpenEventViewerHandler.cs │ │ │ ├── SelectEventHandler.cs │ │ │ ├── SelectPackagesHandler.cs │ │ │ ├── SelectSharedPackageContainerHandler.cs │ │ │ ├── SelectVolumesHandler.cs │ │ │ ├── SetContainersFilterHandler.cs │ │ │ ├── SetContainersSortingHandler.cs │ │ │ ├── SetCurrentModeHandler.cs │ │ │ ├── SetEventViewerFilterHandler.cs │ │ │ ├── SetEventViewerSortingHandler.cs │ │ │ ├── SetPackageFilterHandler.cs │ │ │ ├── SetPackageGroupingHandler.cs │ │ │ ├── SetPackageSortingHandler.cs │ │ │ ├── SetSidebarVisibilityHandler.cs │ │ │ ├── SetToolFilterHandler.cs │ │ │ ├── SetVolumeFilterHandler.cs │ │ │ ├── StarPackageHandler.cs │ │ │ ├── StopPackageHandler.cs │ │ │ └── UnstarPackageHandler.cs │ │ ├── IMsixHeroApplication.cs │ │ ├── MsixHeroApplication.cs │ │ ├── PrismServices.cs │ │ └── State │ │ │ ├── ApplicationMode.cs │ │ │ ├── ContainersState.cs │ │ │ ├── EventViewerState.cs │ │ │ ├── MsixHeroState.cs │ │ │ ├── PackagesState.cs │ │ │ ├── ToolsState.cs │ │ │ └── VolumesState.cs │ ├── Localization │ │ ├── LocExtension.cs │ │ └── Translation.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Modules │ │ ├── Common │ │ │ ├── CertificateSelector │ │ │ │ ├── Images │ │ │ │ │ └── microsoftlogo.png │ │ │ │ ├── View │ │ │ │ │ ├── CertificateSelectorView.xaml │ │ │ │ │ └── CertificateSelectorView.xaml.cs │ │ │ │ └── ViewModel │ │ │ │ │ ├── CertificateSelectorViewModel.cs │ │ │ │ │ └── CertificateViewModel.cs │ │ │ ├── PackageHeader │ │ │ │ ├── PackageHeader.xaml │ │ │ │ └── PackageHeader.xaml.cs │ │ │ ├── PackageSelector │ │ │ │ ├── View │ │ │ │ │ ├── PackageSelectorView.xaml │ │ │ │ │ └── PackageSelectorView.xaml.cs │ │ │ │ └── ViewModel │ │ │ │ │ ├── PackageSelectorDisplayMode.cs │ │ │ │ │ └── PackageSelectorViewModel.cs │ │ │ ├── Themes.xaml │ │ │ ├── Volume │ │ │ │ ├── Converters │ │ │ │ │ └── VolumCaptionConverter.cs │ │ │ │ ├── Theme.xaml │ │ │ │ └── VolumeControl.cs │ │ │ └── WindowsVersion │ │ │ │ ├── Images │ │ │ │ ├── windows10.png │ │ │ │ ├── windows11.png │ │ │ │ ├── windows7.png │ │ │ │ └── windows8.png │ │ │ │ ├── Theme.xaml │ │ │ │ └── WindowsVersionControl.cs │ │ ├── Containers │ │ │ ├── Commands │ │ │ │ └── ContainersCommandHandler.cs │ │ │ ├── ContainersModule.cs │ │ │ ├── ContainersRegionNames.cs │ │ │ ├── Details │ │ │ │ ├── ViewModels │ │ │ │ │ ├── ContainersDetailsViewModel.cs │ │ │ │ │ └── Items │ │ │ │ │ │ ├── ContainerContentViewModel.cs │ │ │ │ │ │ ├── FamilyNameViewModel.cs │ │ │ │ │ │ └── PackageContainerContentViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── ContainersDetailsView.xaml │ │ │ │ │ ├── ContainersDetailsView.xaml.cs │ │ │ │ │ ├── ContainersNoDetailsView.xaml │ │ │ │ │ └── ContainersNoDetailsView.xaml.cs │ │ │ ├── List │ │ │ │ ├── ViewModels │ │ │ │ │ ├── ContainersListViewModel.cs │ │ │ │ │ └── SharedPackageContainerViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── ContainersListView.xaml │ │ │ │ │ └── ContainersListView.xaml.cs │ │ │ ├── Search │ │ │ │ ├── ViewModels │ │ │ │ │ ├── ContainersFilterSortViewModel.cs │ │ │ │ │ └── ContainersSearchViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── ContainersFilterSortView.xaml │ │ │ │ │ ├── ContainersFilterSortView.xaml.cs │ │ │ │ │ ├── ContainersSearchView.xaml │ │ │ │ │ └── ContainersSearchView.xaml.cs │ │ │ ├── ViewModels │ │ │ │ └── ContainersViewModel.cs │ │ │ └── Views │ │ │ │ ├── ContainersView.xaml │ │ │ │ └── ContainersView.xaml.cs │ │ ├── Dialogs │ │ │ ├── About │ │ │ │ ├── AboutModule.cs │ │ │ │ ├── View │ │ │ │ │ ├── AboutView.xaml │ │ │ │ │ ├── AboutView.xaml.cs │ │ │ │ │ └── Images │ │ │ │ │ │ ├── bundle-icon.png │ │ │ │ │ │ └── msix-hero-64.png │ │ │ │ └── ViewModel │ │ │ │ │ └── AboutViewModel.cs │ │ │ ├── AppAttach │ │ │ │ ├── AppAttachModule.cs │ │ │ │ └── Editor │ │ │ │ │ ├── View │ │ │ │ │ ├── AppAttachDialogContent.xaml │ │ │ │ │ ├── AppAttachDialogContent.xaml.cs │ │ │ │ │ ├── AppAttachView.xaml │ │ │ │ │ └── AppAttachView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ ├── AppAttachSizeMode.cs │ │ │ │ │ └── AppAttachViewModel.cs │ │ │ ├── AppInstaller │ │ │ │ ├── AppInstallerModule.cs │ │ │ │ └── Editor │ │ │ │ │ ├── View │ │ │ │ │ ├── AppInstallerDialogContent.xaml │ │ │ │ │ ├── AppInstallerDialogContent.xaml.cs │ │ │ │ │ ├── AppInstallerView.xaml │ │ │ │ │ ├── AppInstallerView.xaml.cs │ │ │ │ │ ├── Dependencies.xaml │ │ │ │ │ ├── Dependencies.xaml.cs │ │ │ │ │ ├── OtherPackages.xaml │ │ │ │ │ ├── OtherPackages.xaml.cs │ │ │ │ │ ├── RelatedPackage.xaml │ │ │ │ │ └── RelatedPackage.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ ├── AppInstallerViewModel.cs │ │ │ │ │ └── Tabs │ │ │ │ │ ├── AppInstallerBasePackageViewModel.cs │ │ │ │ │ ├── AppInstallerBundleViewModel.cs │ │ │ │ │ ├── AppInstallerPackageViewModel.cs │ │ │ │ │ └── AppInstallerPackagesViewModel.cs │ │ │ ├── Dependencies │ │ │ │ ├── DependenciesModule.cs │ │ │ │ └── Graph │ │ │ │ │ ├── View │ │ │ │ │ ├── DependencyViewerDialog.xaml │ │ │ │ │ ├── DependencyViewerDialog.xaml.cs │ │ │ │ │ ├── DependencyViewerView.xaml │ │ │ │ │ └── DependencyViewerView.xaml.cs │ │ │ │ │ ├── ViewModel │ │ │ │ │ └── DependencyViewerViewModel.cs │ │ │ │ │ └── Visuals │ │ │ │ │ ├── DependenciesLogicCoreGenerator.cs │ │ │ │ │ ├── DependencyBidirectionalGraph.cs │ │ │ │ │ ├── DependencyEdge.cs │ │ │ │ │ ├── DependencyGraphArea.cs │ │ │ │ │ ├── DependencyLogicCore.cs │ │ │ │ │ ├── DependencyVertex.cs │ │ │ │ │ ├── InstalledDependencyVertex.cs │ │ │ │ │ ├── RootDependencyVertex.cs │ │ │ │ │ └── SystemDependencyVertex.cs │ │ │ ├── PackageExpert │ │ │ │ ├── ViewModels │ │ │ │ │ ├── PackageExpertCommandHandler.cs │ │ │ │ │ └── PackageExpertDialogViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── PackageExpertDialogView.xaml │ │ │ │ │ └── PackageExpertDialogView.xaml.cs │ │ │ ├── Packaging │ │ │ │ ├── ModificationPackage │ │ │ │ │ ├── View │ │ │ │ │ │ ├── ModificationPackageDialogContent.xaml │ │ │ │ │ │ ├── ModificationPackageDialogContent.xaml.cs │ │ │ │ │ │ ├── ModificationPackageView.xaml │ │ │ │ │ │ └── ModificationPackageView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── ModificationPackageViewModel.cs │ │ │ │ │ │ └── PackageSourceMode.cs │ │ │ │ ├── Names │ │ │ │ │ ├── View │ │ │ │ │ │ ├── NamesDialogView.xaml │ │ │ │ │ │ ├── NamesDialogView.xaml.cs │ │ │ │ │ │ ├── NamesView.xaml │ │ │ │ │ │ └── NamesView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ └── NamesViewModel.cs │ │ │ │ ├── Pack │ │ │ │ │ ├── View │ │ │ │ │ │ ├── PackDialogView.xaml │ │ │ │ │ │ ├── PackDialogView.xaml.cs │ │ │ │ │ │ ├── PackView.xaml │ │ │ │ │ │ └── PackView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── PackViewModel.cs │ │ │ │ │ │ ├── PrePackOptionsViewModel.cs │ │ │ │ │ │ ├── RegistryCandidateViewModel.cs │ │ │ │ │ │ └── SelectableItem.cs │ │ │ │ ├── PackagingModule.cs │ │ │ │ ├── SharedPackageContainer │ │ │ │ │ ├── Navigation │ │ │ │ │ │ └── NavigationRequest.cs │ │ │ │ │ ├── View │ │ │ │ │ │ ├── SharedPackageContainerDialogContent.xaml │ │ │ │ │ │ ├── SharedPackageContainerDialogContent.xaml.cs │ │ │ │ │ │ ├── SharedPackageContainerView.xaml │ │ │ │ │ │ └── SharedPackageContainerView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── InstalledPackages.cs │ │ │ │ │ │ ├── SearchableInstallPackage.cs │ │ │ │ │ │ ├── SharedPackageContainerViewModel.cs │ │ │ │ │ │ ├── SharedPackageItemType.cs │ │ │ │ │ │ └── SharedPackageViewModel.cs │ │ │ │ └── Unpack │ │ │ │ │ ├── View │ │ │ │ │ ├── UnpackView.xaml │ │ │ │ │ └── UnpackView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ └── UnpackViewModel.cs │ │ │ ├── Settings │ │ │ │ ├── Commands │ │ │ │ │ └── SettingsCommands.cs │ │ │ │ ├── SettingsModule.cs │ │ │ │ ├── View │ │ │ │ │ ├── Images │ │ │ │ │ │ ├── no-sidebar.png │ │ │ │ │ │ └── sidebar.png │ │ │ │ │ ├── SearchHelper.cs │ │ │ │ │ ├── SettingsView.xaml │ │ │ │ │ └── SettingsView.xaml.cs │ │ │ │ └── ViewModel │ │ │ │ │ ├── LanguageViewModel.cs │ │ │ │ │ ├── SettingsViewModel.cs │ │ │ │ │ └── Tools │ │ │ │ │ ├── ToolViewModel.cs │ │ │ │ │ └── ToolsConfigurationViewModel.cs │ │ │ ├── Signing │ │ │ │ ├── CertificateExport │ │ │ │ │ ├── View │ │ │ │ │ │ ├── CertificateExportControl.xaml │ │ │ │ │ │ ├── CertificateExportControl.xaml.cs │ │ │ │ │ │ ├── CertificateExportView.xaml │ │ │ │ │ │ └── CertificateExportView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ └── CertificateExportViewModel.cs │ │ │ │ ├── NewSelfSigned │ │ │ │ │ ├── View │ │ │ │ │ │ ├── NewSelfSignedDialog.xaml │ │ │ │ │ │ ├── NewSelfSignedDialog.xaml.cs │ │ │ │ │ │ ├── NewSelfSignedView.xaml │ │ │ │ │ │ └── NewSelfSignedView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ └── NewSelfSignedViewModel.cs │ │ │ │ ├── PackageSigning │ │ │ │ │ ├── View │ │ │ │ │ │ ├── PackageSigningDialogContent.xaml │ │ │ │ │ │ ├── PackageSigningDialogContent.xaml.cs │ │ │ │ │ │ ├── PackageSigningView.xaml │ │ │ │ │ │ └── PackageSigningView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ └── PackageSigningViewModel.cs │ │ │ │ └── SigningModule.cs │ │ │ ├── Updates │ │ │ │ ├── UpdateImpact │ │ │ │ │ ├── Converters │ │ │ │ │ │ ├── FileSizeConverter.cs │ │ │ │ │ │ └── PercentConverter.cs │ │ │ │ │ ├── View │ │ │ │ │ │ ├── Controls │ │ │ │ │ │ │ ├── CustomImpactControl.cs │ │ │ │ │ │ │ ├── PackageBlocksControl.cs │ │ │ │ │ │ │ ├── RelativeIndicator.xaml │ │ │ │ │ │ │ └── RelativeIndicator.xaml.cs │ │ │ │ │ │ ├── DuplicatesView.xaml │ │ │ │ │ │ ├── DuplicatesView.xaml.cs │ │ │ │ │ │ ├── EmptyView.xaml │ │ │ │ │ │ ├── EmptyView.xaml.cs │ │ │ │ │ │ ├── FilesView.xaml │ │ │ │ │ │ ├── FilesView.xaml.cs │ │ │ │ │ │ ├── OverviewView.xaml │ │ │ │ │ │ ├── OverviewView.xaml.cs │ │ │ │ │ │ ├── SizeComparisonView.xaml │ │ │ │ │ │ ├── SizeComparisonView.xaml.cs │ │ │ │ │ │ ├── UpdateImpactDialogContentView.xaml │ │ │ │ │ │ ├── UpdateImpactDialogContentView.xaml.cs │ │ │ │ │ │ ├── UpdateImpactView.xaml │ │ │ │ │ │ └── UpdateImpactView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── ComparisonViewModel.cs │ │ │ │ │ │ ├── DuplicatedElementViewModel.cs │ │ │ │ │ │ ├── FileType.cs │ │ │ │ │ │ ├── FileViewModel.cs │ │ │ │ │ │ └── UpdateImpactViewFilter.cs │ │ │ │ │ │ └── UpdateImpactViewModel.cs │ │ │ │ └── UpdatesModule.cs │ │ │ ├── Volumes │ │ │ │ ├── ChangeVolume │ │ │ │ │ ├── View │ │ │ │ │ │ ├── ChangeVolumeView.xaml │ │ │ │ │ │ └── ChangeVolumeView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── ChangeVolumeViewModel.cs │ │ │ │ │ │ └── Items │ │ │ │ │ │ └── VolumeCandidateViewModel.cs │ │ │ │ ├── NewVolume │ │ │ │ │ ├── View │ │ │ │ │ │ ├── NewVolumeView.xaml │ │ │ │ │ │ └── NewVolumeView.xaml.cs │ │ │ │ │ └── ViewModel │ │ │ │ │ │ ├── Items │ │ │ │ │ │ └── VolumeCandidateViewModel.cs │ │ │ │ │ │ ├── NewVolumePathType.cs │ │ │ │ │ │ └── NewVolumeViewModel.cs │ │ │ │ └── VolumesModule.cs │ │ │ └── Winget │ │ │ │ ├── WingetModule.cs │ │ │ │ └── YamlEditor │ │ │ │ ├── View │ │ │ │ ├── WingetDialogContent.xaml │ │ │ │ ├── WingetDialogContent.xaml.cs │ │ │ │ ├── WingetView.xaml │ │ │ │ └── WingetView.xaml.cs │ │ │ │ └── ViewModel │ │ │ │ ├── WingetDefinitionViewModel.cs │ │ │ │ ├── WingetInstallerViewModel.cs │ │ │ │ └── WingetViewModel.cs │ │ ├── EventViewer │ │ │ ├── Commands │ │ │ │ └── EventViewerCommandHandler.cs │ │ │ ├── Converters │ │ │ │ ├── EventLogBrushConverter.cs │ │ │ │ └── EventLogIconConverter.cs │ │ │ ├── Details │ │ │ │ ├── ViewModels │ │ │ │ │ ├── EventViewModel.cs │ │ │ │ │ └── EventViewerDetailsViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── EventViewerDetailsView.xaml │ │ │ │ │ ├── EventViewerDetailsView.xaml.cs │ │ │ │ │ ├── EventViewerNoDetailsView.xaml │ │ │ │ │ └── EventViewerNoDetailsView.xaml.cs │ │ │ ├── EventViewerModule.cs │ │ │ ├── EventViewerRegionNames.cs │ │ │ ├── List │ │ │ │ ├── ViewModels │ │ │ │ │ └── EventViewerListViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── EventViewerListView.xaml │ │ │ │ │ └── EventViewerListView.xaml.cs │ │ │ ├── Search │ │ │ │ ├── ViewModels │ │ │ │ │ ├── EventViewerFilterSortViewModel.cs │ │ │ │ │ └── EventViewerSearchViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── EventViewerFilterSortView.xaml │ │ │ │ │ ├── EventViewerFilterSortView.xaml.cs │ │ │ │ │ ├── EventViewerSearchView.xaml │ │ │ │ │ └── EventViewerSearchView.xaml.cs │ │ │ ├── ViewModels │ │ │ │ └── EventViewerViewModel.cs │ │ │ └── Views │ │ │ │ ├── EventViewerView.xaml │ │ │ │ └── EventViewerView.xaml.cs │ │ ├── Main │ │ │ ├── Events │ │ │ │ └── TopSearchWidthChangeEventPayLoad.cs │ │ │ ├── MainModule.cs │ │ │ ├── Shell │ │ │ │ ├── ViewModels │ │ │ │ │ └── ShellViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── ShellView.xaml │ │ │ │ │ └── ShellView.xaml.cs │ │ │ ├── Sidebar │ │ │ │ ├── ViewModels │ │ │ │ │ ├── SidebarItemViewModel.cs │ │ │ │ │ └── SidebarViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── SidebarView.xaml │ │ │ │ │ └── SidebarView.xaml.cs │ │ │ └── Toolbar │ │ │ │ ├── ViewModels │ │ │ │ └── ToolbarViewModel.cs │ │ │ │ └── Views │ │ │ │ ├── ToolbarView.xaml │ │ │ │ └── ToolbarView.xaml.cs │ │ ├── ModuleNames.cs │ │ ├── NavigationPaths.cs │ │ ├── PackageManagement │ │ │ ├── Commands │ │ │ │ ├── DialogTarget.cs │ │ │ │ └── PackagesManagementCommandHandler.cs │ │ │ ├── Details │ │ │ │ ├── ViewModels │ │ │ │ │ ├── PackageManyDetailsViewModel.cs │ │ │ │ │ └── PackagesSingleDetailsViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── PackagesManyDetailsView.xaml │ │ │ │ │ ├── PackagesManyDetailsView.xaml.cs │ │ │ │ │ ├── PackagesNoDetailsView.xaml │ │ │ │ │ ├── PackagesNoDetailsView.xaml.cs │ │ │ │ │ ├── PackagesSingleDetailsView.xaml │ │ │ │ │ └── PackagesSingleDetailsView.xaml.cs │ │ │ ├── PackageContent │ │ │ │ ├── Converters │ │ │ │ │ └── CurrentItemToTransitionDirectionConverter.cs │ │ │ │ ├── Enums │ │ │ │ │ └── PackageContentViewType.cs │ │ │ │ ├── PackageContentHost.cs │ │ │ │ ├── Theme.xaml │ │ │ │ ├── View │ │ │ │ │ ├── Applications │ │ │ │ │ │ ├── PackageApplicationsView.xaml │ │ │ │ │ │ └── PackageApplicationsView.xaml.cs │ │ │ │ │ ├── Capabilities │ │ │ │ │ │ ├── PackageCapabilitiesView.xaml │ │ │ │ │ │ └── PackageCapabilitiesView.xaml.cs │ │ │ │ │ ├── Dependencies │ │ │ │ │ │ ├── PackageDependenciesView.xaml │ │ │ │ │ │ └── PackageDependenciesView.xaml.cs │ │ │ │ │ ├── Files │ │ │ │ │ │ ├── PackageFilesView.xaml │ │ │ │ │ │ └── PackageFilesView.xaml.cs │ │ │ │ │ ├── HeaderView.xaml │ │ │ │ │ ├── HeaderView.xaml.cs │ │ │ │ │ ├── Installation │ │ │ │ │ │ ├── PackageInstallationView.xaml │ │ │ │ │ │ ├── PackageInstallationView.xaml.cs │ │ │ │ │ │ └── Source │ │ │ │ │ │ │ ├── AppInstallerSourceView.xaml │ │ │ │ │ │ │ ├── AppInstallerSourceView.xaml.cs │ │ │ │ │ │ │ ├── StoreSourceView.xaml │ │ │ │ │ │ │ └── StoreSourceView.xaml.cs │ │ │ │ │ ├── Overview │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ ├── ActionsView.xaml │ │ │ │ │ │ │ ├── ActionsView.xaml.cs │ │ │ │ │ │ │ ├── More │ │ │ │ │ │ │ │ ├── MoreView.xaml │ │ │ │ │ │ │ │ └── MoreView.xaml.cs │ │ │ │ │ │ │ ├── Open │ │ │ │ │ │ │ │ ├── OpenView.xaml │ │ │ │ │ │ │ │ └── OpenView.xaml.cs │ │ │ │ │ │ │ └── Start │ │ │ │ │ │ │ │ ├── StartView.xaml │ │ │ │ │ │ │ │ └── StartView.xaml.cs │ │ │ │ │ │ ├── PackageOverviewView.xaml │ │ │ │ │ │ ├── PackageOverviewView.xaml.cs │ │ │ │ │ │ └── Summaries │ │ │ │ │ │ │ ├── SummaryApplicationsView.xaml │ │ │ │ │ │ │ ├── SummaryApplicationsView.xaml.cs │ │ │ │ │ │ │ ├── SummaryCapabilitiesView.xaml │ │ │ │ │ │ │ ├── SummaryCapabilitiesView.xaml.cs │ │ │ │ │ │ │ ├── SummaryDependenciesView.xaml │ │ │ │ │ │ │ ├── SummaryDependenciesView.xaml.cs │ │ │ │ │ │ │ ├── SummaryFilesView.xaml │ │ │ │ │ │ │ ├── SummaryFilesView.xaml.cs │ │ │ │ │ │ │ ├── SummaryInstallationView.xaml │ │ │ │ │ │ │ ├── SummaryInstallationView.xaml.cs │ │ │ │ │ │ │ ├── SummaryPackageNameView.xaml │ │ │ │ │ │ │ ├── SummaryPackageNameView.xaml.cs │ │ │ │ │ │ │ ├── SummaryPackagingInformation.xaml │ │ │ │ │ │ │ ├── SummaryPackagingInformation.xaml.cs │ │ │ │ │ │ │ ├── SummaryPsfView.xaml │ │ │ │ │ │ │ ├── SummaryPsfView.xaml.cs │ │ │ │ │ │ │ ├── SummaryRegistryView.xaml │ │ │ │ │ │ │ ├── SummaryRegistryView.xaml.cs │ │ │ │ │ │ │ ├── SummarySignatureView.xaml │ │ │ │ │ │ │ └── SummarySignatureView.xaml.cs │ │ │ │ │ ├── PackageContentView.xaml │ │ │ │ │ ├── PackageContentView.xaml.cs │ │ │ │ │ ├── Psf │ │ │ │ │ │ ├── InterpretedRegexCollectionConverter.cs │ │ │ │ │ │ ├── PackagePsfView.xaml │ │ │ │ │ │ ├── PackagePsfView.xaml.cs │ │ │ │ │ │ ├── PsfControl.xaml │ │ │ │ │ │ ├── PsfControl.xaml.cs │ │ │ │ │ │ └── TraceLevelConverter.cs │ │ │ │ │ └── Registry │ │ │ │ │ │ ├── PackageRegistryView.xaml │ │ │ │ │ │ └── PackageRegistryView.xaml.cs │ │ │ │ └── ViewModel │ │ │ │ │ ├── Applications │ │ │ │ │ ├── Items │ │ │ │ │ │ └── ApplicationViewModel.cs │ │ │ │ │ └── PackageApplicationsViewModel.cs │ │ │ │ │ ├── Capabilities │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── CapabilityTranslationProvider.cs │ │ │ │ │ │ └── CapabilityViewModel.cs │ │ │ │ │ └── PackageCapabilitiesViewModel.cs │ │ │ │ │ ├── Common │ │ │ │ │ ├── ILoadPackage.cs │ │ │ │ │ ├── IPackageContentItem.cs │ │ │ │ │ ├── IPackageContentItemNavigation.cs │ │ │ │ │ ├── ISelectableItem.cs │ │ │ │ │ ├── PackageLazyLoadingViewModel.cs │ │ │ │ │ ├── TreeFolderViewModel.cs │ │ │ │ │ ├── TreeNodeViewModel.cs │ │ │ │ │ └── TreeViewModel.cs │ │ │ │ │ ├── Dependencies │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── SoftwareDependencyViewModel.cs │ │ │ │ │ │ └── SystemDependencyViewModel.cs │ │ │ │ │ └── PackageDependenciesViewModel.cs │ │ │ │ │ ├── Files │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── DirectoryViewModel.cs │ │ │ │ │ │ ├── FileTreeViewModel.cs │ │ │ │ │ │ └── FileViewModel.cs │ │ │ │ │ └── PackageFilesViewModel.cs │ │ │ │ │ ├── HeaderViewModel.cs │ │ │ │ │ ├── Installation │ │ │ │ │ ├── ElevationStatus.cs │ │ │ │ │ ├── InstalledBy │ │ │ │ │ │ └── UserDetailsViewModel.cs │ │ │ │ │ ├── PackageInstallationViewModel.cs │ │ │ │ │ └── Source │ │ │ │ │ │ ├── AppInstallerSourceViewModel.cs │ │ │ │ │ │ ├── PackageSourceViewModel.cs │ │ │ │ │ │ └── StorePackageSourceViewModel.cs │ │ │ │ │ ├── Items │ │ │ │ │ ├── AppxApplicationViewModel.cs │ │ │ │ │ ├── CapabilitiesViewModel.cs │ │ │ │ │ ├── CapabilityViewModel.cs │ │ │ │ │ ├── OperatingSystemDependencyViewModel.cs │ │ │ │ │ ├── PackageContentDetailsViewModel.cs │ │ │ │ │ ├── PackageDependencyViewModel.cs │ │ │ │ │ └── Psf │ │ │ │ │ │ ├── AdvancedInstallerApplicationProxyViewModel.cs │ │ │ │ │ │ ├── AppxPsfScriptViewModel.cs │ │ │ │ │ │ ├── BaseApplicationProxyViewModel.cs │ │ │ │ │ │ ├── MsixHelperApplicationProxyViewModel.cs │ │ │ │ │ │ ├── PsfApplicationProxyViewModel.cs │ │ │ │ │ │ ├── ServiceViewModel.cs │ │ │ │ │ │ ├── ServicesViewModel.cs │ │ │ │ │ │ └── TracingPsfViewModel.cs │ │ │ │ │ ├── Overview │ │ │ │ │ ├── Actions │ │ │ │ │ │ ├── ActionsViewModel.cs │ │ │ │ │ │ ├── More │ │ │ │ │ │ │ └── MoreViewModel.cs │ │ │ │ │ │ ├── Open │ │ │ │ │ │ │ └── OpenViewModel.cs │ │ │ │ │ │ └── Start │ │ │ │ │ │ │ ├── ApplicationViewModel.cs │ │ │ │ │ │ │ ├── StartViewModel.cs │ │ │ │ │ │ │ └── ToolViewModel.cs │ │ │ │ │ ├── PackageOverviewViewModel.cs │ │ │ │ │ └── Summaries │ │ │ │ │ │ ├── SummaryApplicationsViewModel.cs │ │ │ │ │ │ ├── SummaryCapabilitiesViewModel.cs │ │ │ │ │ │ ├── SummaryDependenciesViewModel.cs │ │ │ │ │ │ ├── SummaryFilesViewModel.cs │ │ │ │ │ │ ├── SummaryInstallationViewModel.cs │ │ │ │ │ │ ├── SummaryPackageNameViewModel.cs │ │ │ │ │ │ ├── SummaryPackagingInformationViewModel.cs │ │ │ │ │ │ ├── SummaryPsfViewModel.cs │ │ │ │ │ │ ├── SummaryRegistryViewModel.cs │ │ │ │ │ │ └── SummarySignatureViewModel.cs │ │ │ │ │ ├── PackageContentViewModel.cs │ │ │ │ │ ├── Psf │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── PsfScriptViewModel.cs │ │ │ │ │ │ ├── ServiceViewModel.cs │ │ │ │ │ │ ├── ServicesViewModel.cs │ │ │ │ │ │ └── TracingPsfViewModel.cs │ │ │ │ │ └── PackagePsfViewModel.cs │ │ │ │ │ └── Registry │ │ │ │ │ ├── Items │ │ │ │ │ ├── RegistryKeyViewModel.cs │ │ │ │ │ ├── RegistryTreeViewModel.cs │ │ │ │ │ └── RegistryValueViewModel.cs │ │ │ │ │ └── PackageRegistryViewModel.cs │ │ │ ├── PackageList │ │ │ │ ├── ViewModels │ │ │ │ │ ├── InstalledPackageViewModel.cs │ │ │ │ │ ├── PackagesListViewModel.cs │ │ │ │ │ ├── SelectableInstalledPackageViewModel.cs │ │ │ │ │ └── StarHelper.cs │ │ │ │ └── Views │ │ │ │ │ ├── PackagesListView.xaml │ │ │ │ │ ├── PackagesListView.xaml.cs │ │ │ │ │ ├── SelectablePackage.xaml │ │ │ │ │ └── SelectablePackage.xaml.cs │ │ │ ├── PackageManagementModule.cs │ │ │ ├── PackageManagementRegionNames.cs │ │ │ ├── Search │ │ │ │ ├── Converters │ │ │ │ │ └── FilterHeaderVisibilityConverter.cs │ │ │ │ ├── ViewModels │ │ │ │ │ ├── CustomDirectoryViewModel.cs │ │ │ │ │ ├── PackageFilterSortViewModel.cs │ │ │ │ │ ├── PackagesSearchViewModel.cs │ │ │ │ │ └── SourceViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── PackageFilterSortView.xaml │ │ │ │ │ ├── PackageFilterSortView.xaml.cs │ │ │ │ │ ├── PackageQuerySourcePopup.xaml │ │ │ │ │ ├── PackageQuerySourcePopup.xaml.cs │ │ │ │ │ ├── PackagesSearchView.xaml │ │ │ │ │ └── PackagesSearchView.xaml.cs │ │ │ ├── ViewModels │ │ │ │ └── PackageManagementViewModel.cs │ │ │ └── Views │ │ │ │ ├── PackageManagementView.xaml │ │ │ │ └── PackageManagementView.xaml.cs │ │ ├── RegionNames.cs │ │ ├── SystemStatus │ │ │ ├── SystemStatusModule.cs │ │ │ ├── View │ │ │ │ ├── Logos │ │ │ │ │ ├── AdvancedInstaller17Square44x44Logo.targetsize-32.png │ │ │ │ │ ├── AppPackage.png │ │ │ │ │ ├── PsfToolingDSquare44x44Logo.targetsize-48.png │ │ │ │ │ ├── Square44x44Logo.png │ │ │ │ │ └── Square44x44Logo.targetsize-48.png │ │ │ │ ├── SystemStatusView.xaml │ │ │ │ └── SystemStatusView.xaml.cs │ │ │ └── ViewModel │ │ │ │ ├── BaseRecommendationViewModel.cs │ │ │ │ ├── DeveloperMode │ │ │ │ ├── DeveloperAndSideloadingRecommendationViewModel.cs │ │ │ │ ├── DeveloperModeRecommendationViewModel.cs │ │ │ │ └── SideloadingRecommendationViewModel.cs │ │ │ │ ├── RecommendationCommands.cs │ │ │ │ ├── RecommendationStatus.cs │ │ │ │ ├── Repackaging │ │ │ │ ├── RepackagingRecommendationViewModel.cs │ │ │ │ └── ServiceRecommendationViewModel.cs │ │ │ │ ├── SystemStatusCommandHandler.cs │ │ │ │ ├── SystemStatusViewModel.cs │ │ │ │ ├── Tooling │ │ │ │ ├── DiscoveredAppViewModel.cs │ │ │ │ ├── DiscoveredAppViewModelStatus.cs │ │ │ │ └── ToolingRecommendationViewModel.cs │ │ │ │ └── WindowsStoreUpdates │ │ │ │ └── AutodownloadRecommendationViewModel.cs │ │ ├── Tools │ │ │ ├── ToolsModule.cs │ │ │ ├── ViewModels │ │ │ │ ├── ToolViewModel.cs │ │ │ │ └── ToolsSearchViewModel.cs │ │ │ └── Views │ │ │ │ ├── ToolsSearchView.xaml │ │ │ │ ├── ToolsSearchView.xaml.cs │ │ │ │ ├── ToolsView.xaml │ │ │ │ └── ToolsView.xaml.cs │ │ ├── VolumeManagement │ │ │ ├── ViewModels │ │ │ │ ├── VolumeManagementViewModel.cs │ │ │ │ ├── VolumeViewModel.cs │ │ │ │ ├── VolumesListViewModel.cs │ │ │ │ ├── VolumesSearchViewModel.cs │ │ │ │ └── VolumesSingleDetailsViewModel.cs │ │ │ ├── Views │ │ │ │ ├── VolumeManagementView.xaml │ │ │ │ ├── VolumeManagementView.xaml.cs │ │ │ │ ├── VolumesListView.xaml │ │ │ │ ├── VolumesListView.xaml.cs │ │ │ │ ├── VolumesManyDetailsView.xaml │ │ │ │ ├── VolumesManyDetailsView.xaml.cs │ │ │ │ ├── VolumesNoDetailsView.xaml │ │ │ │ ├── VolumesNoDetailsView.xaml.cs │ │ │ │ ├── VolumesSearchView.xaml │ │ │ │ ├── VolumesSearchView.xaml.cs │ │ │ │ ├── VolumesSingleDetailsView.xaml │ │ │ │ └── VolumesSingleDetailsView.xaml.cs │ │ │ ├── VolumeManagementModule.cs │ │ │ ├── VolumeManagementRegionNames.cs │ │ │ └── VolumesCommandHandler.cs │ │ └── WhatsNew │ │ │ ├── ViewModels │ │ │ └── WhatsNewViewModel.cs │ │ │ ├── Views │ │ │ ├── MsixHeroLinks.xaml │ │ │ ├── MsixHeroLinks.xaml.cs │ │ │ ├── WhatsNewView.xaml │ │ │ ├── WhatsNewView.xaml.cs │ │ │ └── arrow.png │ │ │ ├── WhatsNewModule.cs │ │ │ └── WhatsNewRegionNames.cs │ ├── Mvvm │ │ ├── AsyncProperty.cs │ │ ├── Changeable │ │ │ ├── ChangeableCollection.cs │ │ │ ├── ChangeableContainer.cs │ │ │ ├── ChangeableFileProperty.cs │ │ │ ├── ChangeableFolderProperty.cs │ │ │ ├── ChangeableProperty.cs │ │ │ ├── ContainerValidationArgs.cs │ │ │ ├── Dialog │ │ │ │ ├── ChangeableDialog.cs │ │ │ │ └── ViewModel │ │ │ │ │ ├── ChangeableAutomatedDialogViewModel.cs │ │ │ │ │ ├── ChangeableDialogViewModel.cs │ │ │ │ │ └── DialogState.cs │ │ │ ├── FlagChangedEventArgs.cs │ │ │ ├── IChangeable.cs │ │ │ ├── IChangeableValue.cs │ │ │ ├── IValidatedChangeable.cs │ │ │ ├── IValidatedContainerChangeable.cs │ │ │ ├── ValidatedChangeableCollection.cs │ │ │ ├── ValidatedChangeableProperty.cs │ │ │ ├── ValidatorFactory.cs │ │ │ ├── ValueChangedEventArgs.cs │ │ │ ├── ValueChangedEventArgsBase.cs │ │ │ ├── ValueChangingEventArgs.cs │ │ │ └── ValueResetType.cs │ │ ├── Commands │ │ │ ├── RoutedCommandHandler.cs │ │ │ └── RoutedCommandHandlers.cs │ │ ├── Converters │ │ │ ├── BooleanToHiddenVisibilityConverter.cs │ │ │ ├── EnumToBooleanConverter.cs │ │ │ ├── EnumToVisibilityConverter.cs │ │ │ ├── GroupDateConverter.cs │ │ │ ├── GroupNameConverter.cs │ │ │ ├── MathConverter.cs │ │ │ ├── MsixPackageTypeConverter.cs │ │ │ ├── NegativeBooleanToVisibilityConverter.cs │ │ │ ├── NegativeConverter.cs │ │ │ ├── NegativeEnumToBooleanConverter.cs │ │ │ ├── NegativeEnumToVisibilityConverter.cs │ │ │ ├── StringConcatConverter.cs │ │ │ ├── StringEmptyToVisibilityConverter.cs │ │ │ ├── StringFormatConverter.cs │ │ │ ├── StringNonEmptyToVisibilityConverter.cs │ │ │ └── UppercaseConverter.cs │ │ ├── CultureAwareBinding.cs │ │ ├── NotifyPropertyChanged.cs │ │ ├── Progress │ │ │ ├── BusyManager.cs │ │ │ ├── BusyStatusChange.cs │ │ │ ├── IBusyContext.cs │ │ │ ├── IBusyManager.cs │ │ │ ├── IBusyStatusChange.cs │ │ │ └── OperationType.cs │ │ └── ProgressProperty.cs │ ├── Otor.MsixHero.App.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Fonts │ │ │ ├── FluentSystemIcons-Regular.ttf │ │ │ ├── SourceSansPro-ExtraLight.ttf │ │ │ ├── SourceSansPro-Light.ttf │ │ │ └── SourceSansPro-Regular.ttf │ │ ├── Icons │ │ │ └── favicon.ico │ │ ├── Images │ │ │ ├── icons8-sugar-cube-48.png │ │ │ └── msix-hero-32.png │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ ├── Services │ │ └── InteractionService.cs │ ├── Themes │ │ ├── Buttons.xaml │ │ ├── Changables.xaml │ │ ├── Colors.xaml │ │ ├── ContextMenu.xaml │ │ ├── Converters.xaml │ │ ├── Extensions │ │ │ └── AdonisUIExtensions.cs │ │ ├── Fonts.xaml │ │ ├── Forms.xaml │ │ ├── Generic.xaml │ │ ├── Icons.xaml │ │ ├── ListBox.xaml │ │ ├── ScrollBar.xaml │ │ ├── ScrollViewer.xaml │ │ ├── Tabs.xaml │ │ ├── Text.xaml │ │ ├── TreeView.xaml │ │ └── Window.xaml │ └── app.manifest ├── Otor.MsixHero.AppInstaller │ ├── AppInstallerBuilder.cs │ ├── AppInstallerFeatureSupportHelper.cs │ ├── AppInstallerSizeInfo.cs │ ├── Entities │ │ ├── AppInstallerBaseEntry.cs │ │ ├── AppInstallerBundleEntry.cs │ │ ├── AppInstallerConfig.cs │ │ ├── AppInstallerConfig2017.cs │ │ ├── AppInstallerConfig20172.cs │ │ ├── AppInstallerConfig2018.cs │ │ ├── AppInstallerPackageArchitecture.cs │ │ ├── AppInstallerPackageEntry.cs │ │ ├── AppInstallerUpdateCheckingMethod.cs │ │ ├── AutomaticBackgroundTaskSettings.cs │ │ ├── OnLaunchSettings.cs │ │ └── UpdateSettings.cs │ ├── Otor.MsixHero.AppInstaller.csproj │ └── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx ├── Otor.MsixHero.Appx.Common │ ├── AppxFileConstants.cs │ ├── Enums │ │ ├── AppxPackageArchitecture.cs │ │ ├── MsixApplicationType.cs │ │ ├── PackageInstallationContext.cs │ │ └── PackageType.cs │ ├── Identity │ │ ├── AppxPackagingNameHelper.cs │ │ └── PackageIdentity.cs │ ├── Otor.MsixHero.Appx.Common.csproj │ ├── PackageTypeConverter.cs │ ├── Resources │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ └── WindowsVersioning │ │ ├── AppxTargetOperatingSystem.cs │ │ ├── AppxTargetOperatingSystemType.cs │ │ ├── VersionRange.cs │ │ ├── WindowsNames.cs │ │ ├── WindowsVersion.cs │ │ └── WindowsVersionHandler.cs ├── Otor.MsixHero.Appx.Editor │ ├── AppxDirectoryEditor.cs │ ├── AppxManifestEditor.cs │ ├── AppxValidatorFactory.cs │ ├── Commands │ │ ├── Concrete │ │ │ ├── Files │ │ │ │ ├── AddFile.cs │ │ │ │ └── DeleteFile.cs │ │ │ ├── Manifest │ │ │ │ ├── AddCapability.cs │ │ │ │ ├── SetBuildMetaData.cs │ │ │ │ ├── SetPackageIdentity.cs │ │ │ │ └── SetPackageProperties.cs │ │ │ └── Registry │ │ │ │ ├── DeleteRegistryKey.cs │ │ │ │ ├── DeleteRegistryValue.cs │ │ │ │ ├── IRegistryKeyCommand.cs │ │ │ │ ├── ImportLocalRegistryKey.cs │ │ │ │ ├── ImportRegistryFile.cs │ │ │ │ ├── SetRegistryKey.cs │ │ │ │ └── SetRegistryValue.cs │ │ └── IAppxEditCommand.cs │ ├── Executors │ │ ├── AppxManifestEditExecutor.cs │ │ ├── Concrete │ │ │ ├── CommandValueChanged.cs │ │ │ ├── Files │ │ │ │ ├── AddFileExecutor.cs │ │ │ │ ├── DeleteFileExecutor.cs │ │ │ │ └── Helpers │ │ │ │ │ └── MsixRegistryFileWriter.cs │ │ │ ├── IAppxEditCommandExecutor.cs │ │ │ ├── Manifest │ │ │ │ ├── AddCapabilityExecutor.cs │ │ │ │ ├── SetBuildMetaDataExecutor.cs │ │ │ │ ├── SetPackageIdentityExecutor.cs │ │ │ │ ├── SetPackagePropertiesExecutor.cs │ │ │ │ └── VersionStringOperations.cs │ │ │ └── Registry │ │ │ │ ├── DeleteRegistryKeyExecutor.cs │ │ │ │ ├── DeleteRegistryValueExecutor.cs │ │ │ │ ├── Helpers │ │ │ │ ├── MsixRegistryDispatcher.cs │ │ │ │ └── MsixRegistryFileKeyDeleter.cs │ │ │ │ ├── ImportLocalRegistryKeyExecutor.cs │ │ │ │ ├── ImportRegistryFileExecutor.cs │ │ │ │ ├── SetRegistryKeyExecutor.cs │ │ │ │ └── SetRegistryValueExecutor.cs │ │ ├── ExtractedAppxExecutor.cs │ │ └── IValueChangedExecutor.cs │ ├── Facades │ │ └── MsixHeroBrandingInjector.cs │ ├── Helpers │ │ └── AppxDocumentWriter.cs │ ├── IAppxEditor.cs │ ├── Otor.MsixHero.Appx.Editor.csproj │ └── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx ├── Otor.MsixHero.Appx.Reader │ ├── File │ │ ├── Adapters │ │ │ ├── DirectoryInfoFileReaderAdapter.cs │ │ │ ├── FileInfoFileReaderAdapter.cs │ │ │ ├── PackageIdentityFileReaderAdapter.cs │ │ │ └── ZipArchiveFileReaderAdapter.cs │ │ ├── AppxFileViewer.cs │ │ ├── Entities │ │ │ └── AppxFileInfo.cs │ │ ├── FileReaderFactory.cs │ │ ├── IAppxDiskFileReader.cs │ │ ├── IAppxFileReader.cs │ │ └── IAppxFileViewer.cs │ ├── Helpers │ │ └── ZipFileChecker.cs │ ├── Manifest │ │ ├── AppxManifestReader.cs │ │ ├── Entities │ │ │ ├── AppxApplication.cs │ │ │ ├── AppxBundle.cs │ │ │ ├── AppxCapability.cs │ │ │ ├── AppxExtension.cs │ │ │ ├── AppxMainPackageDependency.cs │ │ │ ├── AppxOperatingSystemDependency.cs │ │ │ ├── AppxPackage.cs │ │ │ ├── AppxPackageDependency.cs │ │ │ ├── AppxService.cs │ │ │ ├── AppxSource.cs │ │ │ ├── Build │ │ │ │ └── BuildInfo.cs │ │ │ ├── CapabilityType.cs │ │ │ └── Summary │ │ │ │ ├── AppxIdentity.cs │ │ │ │ ├── AppxIdentityReader.cs │ │ │ │ ├── AppxManifestSummary.cs │ │ │ │ ├── AppxManifestSummaryReader.cs │ │ │ │ └── IAppxIdentityReader.cs │ │ ├── Helpers │ │ │ └── AuthoringAppDetector.cs │ │ ├── IAppxManifestReader.cs │ │ └── ResourceTranslator.cs │ ├── Otor.MsixHero.Appx.Reader.csproj │ ├── Psf │ │ ├── AdvancedInstallerProxyReader.cs │ │ ├── ApplicationProxyReader.cs │ │ ├── Entities │ │ │ ├── CustomPsfFixupConfig.cs │ │ │ ├── Descriptor │ │ │ │ ├── AdvancedInstallerApplicationProxy.cs │ │ │ │ ├── ApplicationProxyType.cs │ │ │ │ ├── ApplicationServicesDescriptor.cs │ │ │ │ ├── BaseApplicationProxy.cs │ │ │ │ ├── MsixHelperApplicationProxy.cs │ │ │ │ ├── PsfApplicationProxy.cs │ │ │ │ ├── PsfElectronDescriptor.cs │ │ │ │ ├── PsfFileRedirectionDescriptor.cs │ │ │ │ ├── PsfFolderRedirectionDescriptor.cs │ │ │ │ ├── PsfScriptDescriptor.cs │ │ │ │ ├── PsfScriptDescriptorTiming.cs │ │ │ │ ├── PsfTracingRedirectionDescriptor.cs │ │ │ │ └── TracingType.cs │ │ │ ├── Interpreter │ │ │ │ ├── Custom │ │ │ │ │ └── PsfCustomFixup.cs │ │ │ │ ├── Electron │ │ │ │ │ └── PsfElectronFixup.cs │ │ │ │ ├── InterpretedPsf.cs │ │ │ │ ├── InterpretedPsfBitness.cs │ │ │ │ ├── InterpretedRegex.cs │ │ │ │ ├── PsfProcessMatch.cs │ │ │ │ ├── Redirection │ │ │ │ │ ├── PsfRedirectionBase.cs │ │ │ │ │ ├── PsfRedirectionFixup.cs │ │ │ │ │ ├── PsfRedirectionRoot.cs │ │ │ │ │ ├── PsfRedirectionRule.cs │ │ │ │ │ └── RegexInterpretationResult.cs │ │ │ │ └── Trace │ │ │ │ │ └── PsfTraceFixup.cs │ │ │ ├── JsonElement.cs │ │ │ ├── PsfApplication.cs │ │ │ ├── PsfBitness.cs │ │ │ ├── PsfConfig.cs │ │ │ ├── PsfConfigSerializer.cs │ │ │ ├── PsfElectronFixupConfig.cs │ │ │ ├── PsfFixup.cs │ │ │ ├── PsfFixupConfig.cs │ │ │ ├── PsfProcess.cs │ │ │ ├── PsfRedirectedPathConfig.cs │ │ │ ├── PsfRedirectedPathEntryConfig.cs │ │ │ ├── PsfRedirectedPathKnownFolderEntryConfig.cs │ │ │ ├── PsfRedirectionFixupConfig.cs │ │ │ ├── PsfScript.cs │ │ │ ├── PsfTraceFixupConfig.cs │ │ │ ├── PsfTraceFixupLevels.cs │ │ │ └── TraceLevel.cs │ │ ├── MsixHelperProxyReader.cs │ │ └── PackageSupportFrameworkProxyReader.cs │ └── Resources │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx ├── Otor.MsixHero.Appx │ ├── Diagnostic │ │ ├── Developer │ │ │ ├── BaseWindowsSideloadingConfigurator.cs │ │ │ ├── Enums │ │ │ │ ├── SideloadingStatus.cs │ │ │ │ └── WindowsStoreAutoDownload.cs │ │ │ ├── ISideloadingConfigurator.cs │ │ │ ├── SideloadingConfigurator.cs │ │ │ ├── SideloadingFlavor.cs │ │ │ ├── Windows10Below2004SideloadingConfigurator.cs │ │ │ ├── Windows10From2004SideloadingConfigurator.cs │ │ │ └── Windows11SideloadingConfigurator.cs │ │ ├── Events │ │ │ ├── AppxEventService.cs │ │ │ ├── Entities │ │ │ │ ├── AppxEvent.cs │ │ │ │ └── AppxEventSource.cs │ │ │ ├── Enums │ │ │ │ └── EventCategory.cs │ │ │ ├── ErrorCodes.cs │ │ │ ├── EventCriteria.cs │ │ │ └── IAppxEventService.cs │ │ ├── Recommendations │ │ │ ├── Entities │ │ │ │ ├── IMsixCreator.cs │ │ │ │ ├── IServiceRecommendation.cs │ │ │ │ ├── IStoreApp.cs │ │ │ │ ├── IThirdPartyApp.cs │ │ │ │ ├── IThirdPartyAvailableApp.cs │ │ │ │ ├── IThirdPartyDetectedApp.cs │ │ │ │ ├── ServiceRecommendation.cs │ │ │ │ ├── ThirdPartyApp.cs │ │ │ │ ├── ThirdPartyDetectedApp.cs │ │ │ │ ├── ThirdPartyDetectedStoreApp.cs │ │ │ │ └── ThirdPartyStoreApp.cs │ │ │ ├── Enums │ │ │ │ ├── AdvisorMode.cs │ │ │ │ └── ServiceRecommendationType.cs │ │ │ ├── IServiceRecommendationAdvisor.cs │ │ │ ├── ServiceRecommendationAdvisor.cs │ │ │ └── ThirdParty │ │ │ │ ├── AdvancedInstallerExpressAppProvider.cs │ │ │ │ ├── IThirdPartyAppProvider.cs │ │ │ │ ├── MsixHeroAppProvider.cs │ │ │ │ ├── MsixPackagingToolAppProvider.cs │ │ │ │ ├── PsfToolingAppProvider.cs │ │ │ │ ├── RayPackAppProvider.cs │ │ │ │ └── ThirdPartyAppProvider.cs │ │ ├── Registry │ │ │ ├── Enums │ │ │ │ └── RegistryMountState.cs │ │ │ ├── IRegistryManager.cs │ │ │ └── RegistryManager.cs │ │ ├── RunningDetector │ │ │ ├── ActivePackageFullNames.cs │ │ │ ├── IRunningAppsDetector.cs │ │ │ └── RunningAppsDetector.cs │ │ └── Store │ │ │ ├── IWindowsStoreAutoDownloadConfigurator.cs │ │ │ └── WindowsStoreAutoDownloadConfigurator.cs │ ├── Exceptions │ │ ├── AdminRightsRequiredException.cs │ │ ├── DeveloperModeException.cs │ │ ├── DowngradeException.cs │ │ └── MsixHeroException.cs │ ├── Otor.MsixHero.Appx.csproj │ ├── Packaging │ │ ├── FileExtensions.cs │ │ ├── Installation │ │ │ └── Entities │ │ │ │ ├── AddPackageOptions.cs │ │ │ │ ├── AppInstallerUpdateAvailabilityResult.cs │ │ │ │ └── PackageEntryExtensions.cs │ │ ├── Interop │ │ │ └── AsyncOperationHelper.cs │ │ ├── ManifestCreator │ │ │ ├── AppxManifestCreator.cs │ │ │ ├── AppxManifestCreatorAdviser.cs │ │ │ ├── AppxManifestCreatorOptions.cs │ │ │ ├── CreatedItem.cs │ │ │ └── IAppxManifestCreator.cs │ │ ├── ModificationPackages │ │ │ ├── Entities │ │ │ │ ├── ModificationPackageBuilderAction.cs │ │ │ │ └── ModificationPackageConfig.cs │ │ │ ├── IModificationPackageBuilder.cs │ │ │ └── ModificationPackageBuilder.cs │ │ ├── PackageEntry.cs │ │ ├── PackageManagerSingleton.cs │ │ ├── Packer │ │ │ ├── AppxPacker.cs │ │ │ ├── Enums │ │ │ │ └── AppxPackerOptions.cs │ │ │ └── IAppxPacker.cs │ │ ├── Registry │ │ │ ├── AppxRegistryKey.cs │ │ │ ├── AppxRegistryReader.cs │ │ │ ├── AppxRegistryRoots.cs │ │ │ ├── AppxRegistryValue.cs │ │ │ └── IAppxRegistryReader.cs │ │ ├── Services │ │ │ ├── AppxManifestReaderWithDependencyResolving.cs │ │ │ ├── AppxPackageInstallationService.cs │ │ │ ├── AppxPackageManagerService.cs │ │ │ ├── AppxPackageQueryService.cs │ │ │ ├── AppxPackageRunService.cs │ │ │ ├── IAppxPackageInstallationService.cs │ │ │ ├── IAppxPackageManagerService.cs │ │ │ ├── IAppxPackageQueryService.cs │ │ │ ├── IAppxPackageRunService.cs │ │ │ ├── PackageQuerySource.cs │ │ │ └── PackageQuerySourceType.cs │ │ ├── SharedPackageContainer │ │ │ ├── AppxSharedPackageContainerService.cs │ │ │ ├── AppxSharedPackageContainerWin10MockService.cs │ │ │ ├── Builder │ │ │ │ ├── SharedPackage.cs │ │ │ │ ├── SharedPackageContainerBuilder.cs │ │ │ │ ├── SharedPackageFamilyName.cs │ │ │ │ ├── SharedPackageFullName.cs │ │ │ │ └── SharedPackageManifest.cs │ │ │ ├── ContainerConflictResolution.cs │ │ │ ├── Entities │ │ │ │ ├── SharedPackageContainer.cs │ │ │ │ └── SharedPackageFamily.cs │ │ │ ├── Exceptions │ │ │ │ └── AlreadyInAnotherContainerException.cs │ │ │ └── IAppxSharedPackageContainerService.cs │ │ └── SignatureKind.cs │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ ├── Signing │ │ ├── DeviceGuard │ │ │ ├── DeviceGuardConfig.cs │ │ │ ├── DeviceGuardHelper.cs │ │ │ ├── DgssTokenCreator.cs │ │ │ └── MSIXHeroTest.cat │ │ ├── Entities │ │ │ ├── CertificateStoreType.cs │ │ │ ├── PersonalCertificate.cs │ │ │ └── TrustStatus.cs │ │ ├── ISigningManager.cs │ │ ├── IncreaseVersionMethod.cs │ │ ├── SigningManager.cs │ │ ├── Testing │ │ │ ├── ISigningTestService.cs │ │ │ ├── SignTestResult.cs │ │ │ ├── SignTestResultType.cs │ │ │ └── SigningTestService.cs │ │ └── TimeStamping │ │ │ ├── CachedTimeStampFeed.cs │ │ │ ├── ITimeStampFeed.cs │ │ │ ├── MsixHeroGistTimeStampFeed.cs │ │ │ ├── StreamTimeStampFeed.cs │ │ │ ├── TimeStampFeedEntries.cs │ │ │ └── TimeStampServerEntry.cs │ ├── Updates │ │ ├── AppxBlockMapUpdateImpactAnalyzer.cs │ │ ├── AppxUpdateImpactAnalyzer.cs │ │ ├── BundleUpdateImpactAnalyzer.cs │ │ ├── Entities │ │ │ ├── Appx │ │ │ │ ├── AppxBlock.cs │ │ │ │ ├── AppxFile.cs │ │ │ │ ├── AppxLayout.cs │ │ │ │ ├── LayoutBar.cs │ │ │ │ └── PackageLayout.cs │ │ │ ├── Comparison │ │ │ │ ├── AddedFiles.cs │ │ │ │ ├── AppxDuplication.cs │ │ │ │ ├── BaseDuplicateFiles.cs │ │ │ │ ├── BaseFiles.cs │ │ │ │ ├── ChangedFiles.cs │ │ │ │ ├── ComparedDuplicate.cs │ │ │ │ ├── ComparedDuplicateFile.cs │ │ │ │ ├── ComparisonStatus.cs │ │ │ │ ├── DeletedFiles.cs │ │ │ │ ├── ImpactedFiles.cs │ │ │ │ └── UnchangedFiles.cs │ │ │ ├── UpdateImpactException.cs │ │ │ ├── UpdateImpactResults.cs │ │ │ └── UpgradeImpactError.cs │ │ ├── IAppxUpdateImpactAnalyzer.cs │ │ └── MsixUpdateImpactAnalyzer.cs │ ├── Users │ │ └── User.cs │ ├── Volumes │ │ ├── AppxVolumeService.cs │ │ ├── AppxVolumeViaPowerShellService.cs │ │ ├── Entities │ │ │ └── AppxVolume.cs │ │ └── IAppxVolumeService.cs │ └── WindowsVirtualDesktop │ │ └── AppAttach │ │ ├── AppAttachManager.cs │ │ ├── AppAttachNewVolumeOptions.cs │ │ ├── IAppAttachManager.cs │ │ ├── MountVol │ │ └── MountVolumeHelper.cs │ │ ├── SizeCalculator │ │ ├── CimSizeCalculator.cs │ │ ├── ISizeCalculator.cs │ │ └── VhdSizeCalculator.cs │ │ └── Strategy │ │ ├── AppAttachVolumeCreationMsixHeroStrategy.cs │ │ ├── AppAttachVolumeCreationMsixMgrStrategy.cs │ │ ├── IAppAttachVolumeCreationStrategy.cs │ │ └── IAppAttachVolumeCreationStrategyInitialization.cs ├── Otor.MsixHero.Cli.Verbs │ ├── AppAttachVerb.cs │ ├── BaseVerb.cs │ ├── DependenciesVerb.cs │ ├── Edit │ │ ├── BaseEditVerb.cs │ │ ├── Bulk │ │ │ └── ListEditVerb.cs │ │ ├── Files │ │ │ ├── AddFileEditVerb.cs │ │ │ └── DeleteFileEditVerb.cs │ │ ├── Manifest │ │ │ ├── AddCapabilityVerb.cs │ │ │ ├── SetBuildMetaDataVerb.cs │ │ │ ├── SetIdentityEditVerb.cs │ │ │ └── SetPropertiesEditVerb.cs │ │ └── Registry │ │ │ ├── DeleteRegistryKeyEditVerb.cs │ │ │ ├── DeleteRegistryValueEditVerb.cs │ │ │ ├── IBaseEditRegistryVerb.cs │ │ │ ├── ImportRegistryEditVerb.cs │ │ │ ├── SetRegistryKeyEditVerb.cs │ │ │ └── SetRegistryValueEditVerb.cs │ ├── EditVerbPlaceholder.cs │ ├── ExtractCertVerb.cs │ ├── NewCertVerb.cs │ ├── NewModPackVerb.cs │ ├── Otor.MsixHero.Cli.Verbs.csproj │ ├── PackVerb.cs │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ ├── SharedPackageContainerVerb.cs │ ├── SignVerb.cs │ ├── TrustVerb.cs │ ├── UnpackVerb.cs │ └── UpdateImpactVerb.cs ├── Otor.MsixHero.Cli │ ├── ConsoleImpl.cs │ ├── Executors │ │ ├── Edit │ │ │ ├── BaseEditVerbExecutor.cs │ │ │ ├── Bulk │ │ │ │ ├── ListEditVerb.cs │ │ │ │ └── NativeMethods.cs │ │ │ ├── Files │ │ │ │ ├── AddFileEditVerbExecutor.cs │ │ │ │ └── DeleteFileEditVerbExecutor.cs │ │ │ ├── Manifest │ │ │ │ ├── AddCapabilityVerbExecutor.cs │ │ │ │ ├── ManifestEditVerbExecutor.cs │ │ │ │ ├── SetBuildMetaDataVerbExecutor.cs │ │ │ │ ├── SetIdentityVerbExecutor.cs │ │ │ │ └── SetPropertiesVerbExecutor.cs │ │ │ └── Registry │ │ │ │ ├── DeleteRegistryKeyVerbExecutor.cs │ │ │ │ ├── DeleteRegistryValueVerbExecutor.cs │ │ │ │ ├── ImportRegistryEditVerbExecutor.cs │ │ │ │ ├── RawRegistryValueConverter.cs │ │ │ │ ├── SetRegistryKeyVerbExecutor.cs │ │ │ │ └── SetRegistryValueVerbExecutor.cs │ │ ├── Standard │ │ │ ├── AppAttachVerbExecutor.cs │ │ │ ├── DependenciesVerbExecutor.cs │ │ │ ├── ExtractCertVerbExecutor.cs │ │ │ ├── NewCertVerbExecutor.cs │ │ │ ├── NewModPackVerbExecutor.cs │ │ │ ├── PackVerbExecutor.cs │ │ │ ├── SharedPackageContainerVerbExecutor.cs │ │ │ ├── SignVerbExecutor.cs │ │ │ ├── TrustVerbExecutor.cs │ │ │ ├── UnpackVerbExecutor.cs │ │ │ └── UpdateImpactVerbExecutor.cs │ │ ├── StandardExitCodes.cs │ │ ├── VerbExecutor.cs │ │ └── VerbExecutorFactory.cs │ ├── Helpers │ │ ├── ConsoleExtensions.cs │ │ └── DeviceGuardConfigurationExtensions.cs │ ├── IConsole.cs │ ├── LocalizableSentenceBuilder.cs │ ├── Otor.MsixHero.Cli.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ └── favicon.ico ├── Otor.MsixHero.Dependencies │ ├── DependencyMapper.cs │ ├── Domain │ │ ├── BasePackageDependency.cs │ │ ├── Dependency.cs │ │ ├── DependencyGraph.cs │ │ ├── GraphElement.cs │ │ ├── IPackageDependency.cs │ │ ├── IPackageNameDependency.cs │ │ ├── IPackageVersionDependency.cs │ │ ├── IResolvedPackageDependency.cs │ │ ├── MainPackageDependency.cs │ │ ├── MissingPackageGraphElement.cs │ │ ├── OperatingSystemGraphElement.cs │ │ ├── Package.cs │ │ ├── PackageDependency.cs │ │ ├── PackageGraphElement.cs │ │ ├── Relation.cs │ │ ├── ResolvedMainPackageDependency.cs │ │ ├── ResolvedPackageDependency.cs │ │ ├── RootGraphElement.cs │ │ └── SystemDependency.cs │ ├── IDependencyMapper.cs │ ├── Otor.MsixHero.Dependencies.csproj │ └── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx ├── Otor.MsixHero.Elevation │ ├── Handling │ │ ├── ClientHandler.cs │ │ ├── ElevatedProcessClientHandler.cs │ │ └── SameProcessClientHandler.cs │ ├── IUacElevation.cs │ ├── Ipc │ │ ├── Helpers │ │ │ ├── AsyncBinaryReader.cs │ │ │ └── AsyncBinaryWriter.cs │ │ ├── IpcStreamHelper.cs │ │ ├── MsixHeroRemoteInvocationException.cs │ │ ├── Native │ │ │ └── NamedPipeNative.cs │ │ ├── ResponseType.cs │ │ ├── SerializableExceptionData.cs │ │ └── TypeHelper.cs │ ├── JsonSerializer.cs │ ├── Otor.MsixHero.Elevation.csproj │ ├── Progress │ │ └── SimpleProgress.cs │ ├── SimpleElevationBase.cs │ ├── SimpleElevationServer.cs │ └── SimpleUacElevationClient.cs ├── Otor.MsixHero.Infrastructure │ ├── Configuration │ │ ├── AdvancedConfiguration.cs │ │ ├── AppAttachConfiguration.cs │ │ ├── AppInstallerConfiguration.cs │ │ ├── BaseJsonSetting.cs │ │ ├── CertificateSource.cs │ │ ├── Configuration.cs │ │ ├── ContainerSort.cs │ │ ├── ContainersConfiguration.cs │ │ ├── ContainersSortConfiguration.cs │ │ ├── DeviceGuardConfiguration.cs │ │ ├── EditingConfiguration.cs │ │ ├── EditorType.cs │ │ ├── EventFilter.cs │ │ ├── EventSort.cs │ │ ├── EventsConfiguration.cs │ │ ├── EventsFilterConfiguration.cs │ │ ├── EventsSortConfiguration.cs │ │ ├── LogCriteriaTimeSpan.cs │ │ ├── PackageDirectoryConfiguration.cs │ │ ├── PackageFilter.cs │ │ ├── PackageGroup.cs │ │ ├── PackageProperty.cs │ │ ├── PackageSort.cs │ │ ├── PackagesConfiguration.cs │ │ ├── PackagesFilterConfiguration.cs │ │ ├── PackagesGroupConfiguration.cs │ │ ├── PackerConfiguration.cs │ │ ├── ResolvableFolder │ │ │ ├── ResolvablePath.cs │ │ │ └── ResolvablePathConverter.cs │ │ ├── SidebarListConfiguration.cs │ │ ├── SigningConfiguration.cs │ │ ├── SortConfiguration.cs │ │ ├── ToolListConfiguration.cs │ │ ├── UiConfiguration.cs │ │ └── UpdateConfiguration.cs │ ├── Cryptography │ │ ├── AsyncHashing.cs │ │ └── Crypto.cs │ ├── Extensions │ │ └── FileExtensions.cs │ ├── Helpers │ │ ├── CommandLineHelper.cs │ │ ├── ExceptionGuard.cs │ │ ├── ExceptionGuard2.cs │ │ ├── FileInvoker.cs │ │ ├── GenericArgumentResolver.cs │ │ ├── NdDll.cs │ │ ├── RegexBuilder.cs │ │ ├── Streams │ │ │ ├── AsyncBinaryReader.cs │ │ │ ├── AsyncBinaryWriter.cs │ │ │ └── BinaryStreamProcessor.cs │ │ └── UserHelper.cs │ ├── Localization │ │ ├── FileScanTranslationProvider.cs │ │ ├── IMsixHeroTranslationService.cs │ │ ├── ITranslationProvider.cs │ │ ├── MsixHeroTranslation.cs │ │ └── MsixHeroTranslationService.cs │ ├── Logging │ │ ├── ILog.cs │ │ ├── LogManager.cs │ │ ├── MsixHeroLogLevel.cs │ │ └── NLogWrapper.cs │ ├── Otor.MsixHero.Infrastructure.csproj │ ├── Progress │ │ ├── Progress.cs │ │ ├── ProgressData.cs │ │ ├── RangeProgress.cs │ │ └── WrappedProgress.cs │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ └── Localization.resx │ ├── Services │ │ ├── FileDialogSettings.cs │ │ ├── IConfigurationService.cs │ │ ├── IInteractionService.cs │ │ ├── InteractionButton.cs │ │ ├── InteractionResult.cs │ │ ├── InteractionType.cs │ │ └── LocalConfigurationService.cs │ ├── ThirdParty │ │ ├── Exceptions │ │ │ ├── ProcessWrapperException.cs │ │ │ └── SdkException.cs │ │ ├── PowerShell │ │ │ └── PowerShellSession.cs │ │ └── Sdk │ │ │ ├── BundleHelper.cs │ │ │ ├── DiskPartWrapper.cs │ │ │ ├── ExeWrapper.cs │ │ │ ├── MakeAppxOptions.cs │ │ │ ├── MakeAppxPackOptions.cs │ │ │ ├── MakeAppxUnpackOptions.cs │ │ │ ├── MakeAppxWrapper.cs │ │ │ ├── MsixMgrWrapper.cs │ │ │ ├── PackageFileListBuilder.cs │ │ │ ├── SdkPathHelper.cs │ │ │ ├── SignToolWrapper.cs │ │ │ └── TaskListWrapper.cs │ └── Updates │ │ ├── ChangeLogItem.cs │ │ ├── ChangeLogItemType.cs │ │ ├── HttpUpdateChecker.cs │ │ ├── IUpdateChecker.cs │ │ ├── IUpdateConfigurationManager.cs │ │ ├── UpdateCheckResult.cs │ │ ├── UpdateConfigurationManager.cs │ │ └── UpdateDefinition.cs ├── Otor.MsixHero.Registry │ ├── Converter │ │ ├── RegistryPathConverter.cs │ │ └── RegistryValueConverter.cs │ ├── Otor.MsixHero.Registry.csproj │ ├── Parser │ │ ├── Line.cs │ │ ├── RegFileParser.cs │ │ ├── RegistryEntry.cs │ │ ├── RegistryRoot.cs │ │ └── ValueType.cs │ ├── Reader │ │ ├── IRegHive.cs │ │ ├── IRegKey.cs │ │ ├── IRegValue.cs │ │ ├── OffregRegistryHive.cs │ │ ├── OffregRegistryKey.cs │ │ ├── OffregRegistryValue.cs │ │ └── RawReader.cs │ ├── Resources │ │ ├── Constants.cs │ │ ├── Localization.Designer.cs │ │ ├── Localization.de.resx │ │ ├── Localization.pl.resx │ │ ├── Localization.resx │ │ └── empty.dat │ └── Tokenizer │ │ └── RegistryTokenizer.cs ├── Otor.MsixHero.Tests │ ├── AppAttach │ │ └── AppAttachIntegrationTests.cs │ ├── AppInstallerTests.cs │ ├── Appx │ │ ├── AppInstaller │ │ │ ├── AppInstallerBuilderTests.cs │ │ │ └── FeatureSupportTests.cs │ │ ├── Diagnostics │ │ │ └── WindowsNameTests.cs │ │ ├── Editing │ │ │ ├── ManifestEditingTests.cs │ │ │ ├── MsixEditTests.cs │ │ │ ├── RawRegistryConverterTests.cs │ │ │ └── VersionStringOperationsTests.cs │ │ └── Manifest │ │ │ ├── MsixHeroBrandingInjectorTests.cs │ │ │ └── TestAppDetector.cs │ ├── CertificateTests.cs │ ├── ChangablePropertyTest.cs │ ├── FileEnumeratorTests.cs │ ├── IdentityReaderTests.cs │ ├── Otor.MsixHero.Tests.csproj │ ├── Psf │ │ └── MsixHelper │ │ │ ├── AppxManifest.xml │ │ │ ├── MSIXHelper32.exe │ │ │ ├── MSIXHelper32.ini │ │ │ └── MSIXHelperParsingTests.cs │ ├── PsfConfigReaderTests.cs │ ├── Registry │ │ ├── AppxRegistryReaderTests.cs │ │ ├── Registry.dat │ │ ├── TestConversion.cs │ │ └── team.reg │ ├── ResolvableFolderTests.cs │ ├── Resources │ │ ├── AppxBundleManifest.xml │ │ ├── ConEmuPack-O2004-M1220.603-P380-F_19.1.8.0_x64__xwfzvwzp69w2e.msix │ │ ├── SamplePackages │ │ │ └── CreatedByMsixHero.msix │ │ ├── inno.exe │ │ ├── nsis.exe │ │ ├── resources.pri │ │ └── wintrust.dll.ini │ ├── Sdk │ │ └── SignToolSdkTests.cs │ ├── Ui │ │ └── Progress │ │ │ └── ProgressTests.cs │ ├── UpdateImpact │ │ ├── UpdateImpactTests.cs │ │ ├── next.xml │ │ └── previous.xml │ └── Winget │ │ ├── InstallerTypeDetectorTests.cs │ │ ├── TestSerialization.cs │ │ └── TestUtils.cs └── Otor.MsixHero.Winget │ ├── Helpers │ ├── BoyerMoore.cs │ ├── InstallerTypeDetector.cs │ └── Msi.cs │ ├── Otor.MsixHero.Winget.csproj │ ├── Resources │ ├── Constants.cs │ ├── Localization.Designer.cs │ ├── Localization.de.resx │ ├── Localization.pl.resx │ └── Localization.resx │ └── Yaml │ ├── Entities │ ├── BaseYamlInstaller.cs │ ├── YamlArchitecture.cs │ ├── YamlDependencies.cs │ ├── YamlEnumConverter.cs │ ├── YamlInstallMode.cs │ ├── YamlInstaller.cs │ ├── YamlInstallerSwitches.cs │ ├── YamlInstallerType.cs │ ├── YamlManifest.cs │ ├── YamlPlatform.cs │ ├── YamlScope.cs │ └── YamlUpgradeBehavior.cs │ ├── WingetValidateWrapper.cs │ ├── WingetValidators.cs │ ├── YamlReader.cs │ ├── YamlUtils.cs │ └── YamlWriter.cs └── zeta └── MSIX-Hero-Localization.zreproj /.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "isRoot": true, 4 | "tools": { 5 | "cake.tool": { 6 | "version": "0.38.5", 7 | "commands": [ 8 | "dotnet-cake" 9 | ] 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Otor.MsixHero.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True 3 | True 4 | True 5 | True 6 | True -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | branches: 2 | only: 3 | - develop 4 | - master 5 | install: 6 | - pwsh: dotnet tool restore 7 | image: Visual Studio 2022 8 | build_script: 9 | - pwsh: dotnet cake 10 | artifacts: 11 | - path: out/bin 12 | name: MSIX-Hero -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/CreateCIM.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/CreateCIM.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/WVDUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/WVDUtilities.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/applyacls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/applyacls.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/ar-SA/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/ar-SA/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/bg-BG/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/bg-BG/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/cs-CZ/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/cs-CZ/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/da-DK/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/da-DK/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/de-DE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/de-DE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/el-GR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/el-GR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/en-US/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/en-US/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/es-ES/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/es-ES/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/et-EE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/et-EE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/fi-FI/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/fi-FI/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/fr-FR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/fr-FR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/he-IL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/he-IL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/hr-HR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/hr-HR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/hu-HU/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/hu-HU/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/id-ID/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/id-ID/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/it-IT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/it-IT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/ja-JP/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/ja-JP/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/ko-KR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/ko-KR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/lt-LT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/lt-LT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/lv-LV/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/lv-LV/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/msix.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/msix.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/msixmgr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/msixmgr.exe -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/nb-NO/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/nb-NO/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/nl-NL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/nl-NL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/pl-PL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/pl-PL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/pt-BR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/pt-BR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/pt-PT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/pt-PT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/ro-RO/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/ro-RO/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/ru-RU/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/ru-RU/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/sk-SK/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/sk-SK/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/sl-SI/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/sl-SI/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/sr-Latn-RS/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/sr-Latn-RS/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/sv-SE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/sv-SE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/th-TH/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/th-TH/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/tr-TR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/tr-TR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/uk-UA/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/uk-UA/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/vi-VN/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/vi-VN/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/zh-CN/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/zh-CN/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x64/zh-TW/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x64/zh-TW/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/CreateCIM.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/CreateCIM.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/applyacls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/applyacls.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/ar-SA/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/ar-SA/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/bg-BG/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/bg-BG/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/cs-CZ/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/cs-CZ/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/da-DK/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/da-DK/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/de-DE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/de-DE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/el-GR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/el-GR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/en-US/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/en-US/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/es-ES/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/es-ES/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/et-EE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/et-EE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/fi-FI/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/fi-FI/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/fr-FR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/fr-FR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/he-IL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/he-IL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/hr-HR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/hr-HR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/hu-HU/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/hu-HU/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/id-ID/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/id-ID/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/it-IT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/it-IT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/ja-JP/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/ja-JP/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/ko-KR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/ko-KR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/lt-LT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/lt-LT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/lv-LV/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/lv-LV/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/msix.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/msix.dll -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/msixmgr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/msixmgr.exe -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/nb-NO/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/nb-NO/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/nl-NL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/nl-NL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/pl-PL/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/pl-PL/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/pt-BR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/pt-BR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/pt-PT/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/pt-PT/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/ro-RO/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/ro-RO/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/ru-RU/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/ru-RU/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/sk-SK/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/sk-SK/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/sl-SI/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/sl-SI/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/sr-Latn-RS/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/sr-Latn-RS/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/sv-SE/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/sv-SE/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/th-TH/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/th-TH/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/tr-TR/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/tr-TR/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/uk-UA/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/uk-UA/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/vi-VN/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/vi-VN/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/zh-CN/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/zh-CN/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/msixmgr/x86/zh-TW/msixmgr.exe.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/msixmgr/x86/zh-TW/msixmgr.exe.mui -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/FileRedirectionFixup64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/FileRedirectionFixup64.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/PsfLauncher64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/PsfLauncher64.exe -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/PsfRunDll64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/PsfRunDll64.exe -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/PsfRuntime64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/PsfRuntime64.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/TraceFixup64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/TraceFixup64.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x64/WaitForDebuggerFixup64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x64/WaitForDebuggerFixup64.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/FileRedirectionFixup32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/FileRedirectionFixup32.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/PsfLauncher32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/PsfLauncher32.exe -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/PsfRunDll32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/PsfRunDll32.exe -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/PsfRuntime32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/PsfRuntime32.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/TraceFixup32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/TraceFixup32.dll -------------------------------------------------------------------------------- /artifacts/redistr/psf/x86/WaitForDebuggerFixup32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/psf/x86/WaitForDebuggerFixup32.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Acs.Dlib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Acs.Dlib.Common.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Acs.Dlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Acs.Dlib.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Diagnostics.Tracing.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Diagnostics.Tracing.EventSource.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Extensions.CommandLineUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Extensions.CommandLineUtils.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Identity.Client.Extensions.Msal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Identity.Client.Extensions.Msal.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Packaging.SDKUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Microsoft.Packaging.SDKUtils.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Windows.Build.Appx.AppxSip.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Windows.Build.Appx.OpcServices.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Windows.Build.Signing.mssign32.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Microsoft.Windows.Build.Signing.wintrust.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/appxpackaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/appxpackaging.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/appxsip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/appxsip.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/en-US/AppxPackaging.dll.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/en-US/AppxPackaging.dll.mui -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/makeappx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/makeappx.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/makecert.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/makecert.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/makepri.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/makepri.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/msisip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/msisip.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/mssign32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/mssign32.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/opcservices.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/opcservices.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/pvk2pfx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/pvk2pfx.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/signtool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/signtool.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x64/wintrust.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x64/wintrust.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Acs.Dlib.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Acs.Dlib.Common.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Acs.Dlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Acs.Dlib.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Diagnostics.Tracing.EventSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Diagnostics.Tracing.EventSource.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Extensions.CommandLineUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Extensions.CommandLineUtils.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Identity.Client.Extensions.Msal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Identity.Client.Extensions.Msal.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Packaging.SDKUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Microsoft.Packaging.SDKUtils.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Windows.Build.Appx.AppxSip.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Windows.Build.Appx.OpcServices.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Windows.Build.Signing.mssign32.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Microsoft.Windows.Build.Signing.wintrust.dll.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/appxpackaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/appxpackaging.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/appxsip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/appxsip.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/en-US/AppxPackaging.dll.mui: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/en-US/AppxPackaging.dll.mui -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/makeappx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/makeappx.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/makecert.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/makecert.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/makepri.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/makepri.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/msisip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/msisip.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/mssign32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/mssign32.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/opcservices.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/opcservices.dll -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/pvk2pfx.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/pvk2pfx.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/signtool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/signtool.exe -------------------------------------------------------------------------------- /artifacts/redistr/sdk/x86/wintrust.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/redistr/sdk/x86/wintrust.dll -------------------------------------------------------------------------------- /artifacts/scripts/create-certificate.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/scripts/create-certificate.ps1 -------------------------------------------------------------------------------- /artifacts/scripts/extract-certificate-from-msix.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/scripts/extract-certificate-from-msix.ps1 -------------------------------------------------------------------------------- /artifacts/scripts/install-certificate.ps1: -------------------------------------------------------------------------------- 1 | # MSIX Hero 2 | # Copyright (C) 2022 Marcin Otorowski 3 | # 4 | # This program is free software: you can redistribute it and/or modify 5 | # it under the terms of the GNU General Public License as published by 6 | # the Free Software Foundation, either version 3 of the License, or 7 | # (at your option) any later version. 8 | # 9 | # This program is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | # GNU General Public License for more details. 13 | # 14 | # Full notice: 15 | # https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | [CmdletBinding()] 18 | param( 19 | [String]$CerFileName 20 | ) 21 | 22 | Import-Certificate -FilePath $CerFileName -CertStoreLocation cert:\LocalMachine\TrustedPeople; -------------------------------------------------------------------------------- /artifacts/templates/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/artifacts/templates/logo.png -------------------------------------------------------------------------------- /build-and-sign.ps1: -------------------------------------------------------------------------------- 1 | dotnet cake -ScriptArgs '--Sign=True' 2 | Read-Host -------------------------------------------------------------------------------- /build.ps1: -------------------------------------------------------------------------------- 1 | dotnet cake 2 | Read-Host -------------------------------------------------------------------------------- /msix/Assets/Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Logo.png -------------------------------------------------------------------------------- /msix/Assets/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Square150x150Logo.png -------------------------------------------------------------------------------- /msix/Assets/Square310x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Square310x150Logo.png -------------------------------------------------------------------------------- /msix/Assets/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Square310x310Logo.png -------------------------------------------------------------------------------- /msix/Assets/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Square44x44Logo.png -------------------------------------------------------------------------------- /msix/Assets/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/msix/Assets/Square71x71Logo.png -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/screenshot.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.AdminHelper/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "otor.msixhero.adminhelper": { 4 | "commandName": "Project", 5 | "commandLineArgs": "--selfElevate" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.AdminHelper/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.AdminHelper.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.AdminHelper/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.AdminHelper/favicon.ico -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Controls/Cards/ILoadingCard.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Windows; 18 | 19 | namespace Otor.MsixHero.App.Controls.Cards; 20 | 21 | public interface ILoadingCard 22 | { 23 | bool IsLoading { get; set; } 24 | 25 | DataTemplate LoadingContentTemplate { get; set; } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Controls/Switch/SwitchControl.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Controls.Switch 2 | { 3 | public class SwitchControl : System.Windows.Controls.Primitives.ToggleButton 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Events/Base/UiCancelledEvent.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using MediatR; 18 | using Prism.Events; 19 | 20 | namespace Otor.MsixHero.App.Hero.Events.Base 21 | { 22 | public class UiCancelledEvent : PubSubEvent> where TCommand : IBaseRequest 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Events/Base/UiExecutingEvent.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using MediatR; 18 | using Prism.Events; 19 | 20 | namespace Otor.MsixHero.App.Hero.Events.Base 21 | { 22 | public class UiExecutingEvent : PubSubEvent> where TCommand : IBaseRequest 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Events/Base/UiFailedEvent.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using MediatR; 18 | using Prism.Events; 19 | 20 | namespace Otor.MsixHero.App.Hero.Events.Base 21 | { 22 | public class UiFailedEvent : PubSubEvent> where TCommand : IBaseRequest 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Events/Base/UiStartedEvent.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using MediatR; 18 | using Prism.Events; 19 | 20 | namespace Otor.MsixHero.App.Hero.Events.Base 21 | { 22 | public class UiStartedEvent : PubSubEvent> where TCommand : IBaseRequest 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Events/CommandHandler.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Hero.Events 18 | { 19 | public class CommandHandler 20 | { 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Handlers/SelectEventHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using MediatR; 3 | using Otor.MsixHero.App.Hero.Commands.EventViewer; 4 | using Otor.MsixHero.App.Hero.Executor; 5 | using System.Threading.Tasks; 6 | 7 | namespace Otor.MsixHero.App.Hero.Handlers 8 | { 9 | public class SelectEventHandler : IRequestHandler 10 | { 11 | private readonly IMsixHeroCommandExecutor _commandExecutor; 12 | 13 | public SelectEventHandler(IMsixHeroCommandExecutor commandExecutor) 14 | { 15 | this._commandExecutor = commandExecutor; 16 | } 17 | 18 | Task IRequestHandler.Handle(SelectEventCommand request, CancellationToken cancellationToken) 19 | { 20 | this._commandExecutor.ApplicationState.EventViewer.SelectedAppxEvent = request.SelectedAppxEvent; 21 | return Task.CompletedTask; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Handlers/SetContainersFilterHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using MediatR; 3 | using Otor.MsixHero.App.Hero.Commands.Containers; 4 | using Otor.MsixHero.App.Hero.Executor; 5 | using System.Threading.Tasks; 6 | 7 | namespace Otor.MsixHero.App.Hero.Handlers 8 | { 9 | public class SetContainersFilterHandler : IRequestHandler 10 | { 11 | private readonly IMsixHeroCommandExecutor _commandExecutor; 12 | 13 | public SetContainersFilterHandler(IMsixHeroCommandExecutor commandExecutor) 14 | { 15 | this._commandExecutor = commandExecutor; 16 | } 17 | 18 | Task IRequestHandler.Handle(SetSharedPackageContainersFilterCommand request, CancellationToken cancellationToken) 19 | { 20 | this._commandExecutor.ApplicationState.Containers.SearchKey = request.SearchKey; 21 | return Task.CompletedTask; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Handlers/SetToolFilterHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using MediatR; 3 | using Otor.MsixHero.App.Hero.Commands.Tools; 4 | using Otor.MsixHero.App.Hero.Executor; 5 | using System.Threading.Tasks; 6 | 7 | namespace Otor.MsixHero.App.Hero.Handlers 8 | { 9 | public class SetToolFilterHandler : IRequestHandler 10 | { 11 | private readonly IMsixHeroCommandExecutor _commandExecutor; 12 | 13 | public SetToolFilterHandler(IMsixHeroCommandExecutor commandExecutor) 14 | { 15 | this._commandExecutor = commandExecutor; 16 | } 17 | 18 | Task IRequestHandler.Handle(SetToolFilterCommand request, CancellationToken cancellationToken) 19 | { 20 | this._commandExecutor.ApplicationState.Tools.SearchKey = request.SearchKey; 21 | return Task.CompletedTask; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Handlers/SetVolumeFilterHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using MediatR; 3 | using Otor.MsixHero.App.Hero.Commands.Volumes; 4 | using Otor.MsixHero.App.Hero.Executor; 5 | using System.Threading.Tasks; 6 | 7 | namespace Otor.MsixHero.App.Hero.Handlers 8 | { 9 | public class SetVolumeFilterHandler : IRequestHandler 10 | { 11 | private readonly IMsixHeroCommandExecutor _commandExecutor; 12 | 13 | public SetVolumeFilterHandler(IMsixHeroCommandExecutor commandExecutor) 14 | { 15 | this._commandExecutor = commandExecutor; 16 | } 17 | 18 | Task IRequestHandler.Handle(SetVolumeFilterCommand request, CancellationToken cancellationToken) 19 | { 20 | this._commandExecutor.ApplicationState.Volumes.SearchKey = request.SearchKey; 21 | return Task.CompletedTask; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/Handlers/StopPackageHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | using System.Threading.Tasks; 3 | using MediatR; 4 | using Otor.MsixHero.App.Hero.Commands.Packages; 5 | using Otor.MsixHero.Appx.Packaging.Services; 6 | using Otor.MsixHero.Elevation; 7 | 8 | namespace Otor.MsixHero.App.Hero.Handlers 9 | { 10 | public class StopPackageHandler : IRequestHandler 11 | { 12 | private readonly IUacElevation _uacElevation; 13 | 14 | public StopPackageHandler(IUacElevation uacElevation) 15 | { 16 | this._uacElevation = uacElevation; 17 | } 18 | 19 | Task IRequestHandler.Handle(StopPackageCommand request, CancellationToken cancellationToken) 20 | { 21 | return this._uacElevation.AsHighestAvailable().Stop(request.PackageEntry.PackageFullName, cancellationToken); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Hero/State/ToolsState.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Hero.State 18 | { 19 | public class ToolsState 20 | { 21 | public string SearchKey { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/CertificateSelector/Images/microsoftlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Common/CertificateSelector/Images/microsoftlogo.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/Themes.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows10.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows11.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows7.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Common/WindowsVersion/Images/windows8.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Containers/List/ViewModels/SharedPackageContainerViewModel.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.App.Mvvm; 2 | using Otor.MsixHero.Appx.Packaging.SharedPackageContainer.Entities; 3 | 4 | namespace Otor.MsixHero.App.Modules.Containers.List.ViewModels 5 | { 6 | public class SharedPackageContainerViewModel : NotifyPropertyChanged 7 | { 8 | private readonly SharedPackageContainer _model; 9 | 10 | public SharedPackageContainerViewModel(SharedPackageContainer model) 11 | { 12 | this._model = model; 13 | } 14 | 15 | public SharedPackageContainer Model => this._model; 16 | 17 | public string Name => this._model.Name; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/About/View/Images/bundle-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Dialogs/About/View/Images/bundle-icon.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/About/View/Images/msix-hero-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Dialogs/About/View/Images/msix-hero-64.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/AppAttach/Editor/ViewModel/AppAttachSizeMode.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.Dialogs.AppAttach.Editor.ViewModel 18 | { 19 | public enum AppAttachSizeMode 20 | { 21 | Auto, 22 | Fixed 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/AppInstaller/Editor/View/RelatedPackage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.Dialogs.AppInstaller.Editor.View 2 | { 3 | public partial class RelatedPackage 4 | { 5 | public RelatedPackage() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Dependencies/Graph/Visuals/DependencyBidirectionalGraph.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using QuickGraph; 18 | 19 | namespace Otor.MsixHero.App.Modules.Dialogs.Dependencies.Graph.Visuals 20 | { 21 | public class DependencyBidirectionalGraph : BidirectionalGraph { } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Packaging/ModificationPackage/ViewModel/PackageSourceMode.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.Dialogs.Packaging.ModificationPackage.ViewModel 18 | { 19 | public enum PackageSourceMode 20 | { 21 | FromFile, 22 | FromProperties 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Packaging/SharedPackageContainer/ViewModel/SharedPackageItemType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.Dialogs.Packaging.SharedPackageContainer.ViewModel; 18 | 19 | public enum SharedPackageItemType 20 | { 21 | New, 22 | FilePath, 23 | FamilyName, 24 | Installed 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Settings/View/Images/no-sidebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Dialogs/Settings/View/Images/no-sidebar.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Settings/View/Images/sidebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/Dialogs/Settings/View/Images/sidebar.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Settings/ViewModel/LanguageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | 3 | namespace Otor.MsixHero.App.Modules.Dialogs.Settings.ViewModel 4 | { 5 | public class LanguageViewModel 6 | { 7 | public LanguageViewModel(string displayName, string languageCode) 8 | { 9 | this.DisplayName = displayName; 10 | this.LanguageCode = languageCode; 11 | } 12 | 13 | public string DisplayName { get; init; } 14 | 15 | public string LanguageCode { get; init; } 16 | 17 | public static LanguageViewModel FromCultureInfo(CultureInfo ci) 18 | { 19 | return new LanguageViewModel(ci.NativeName, ci.Name); 20 | } 21 | 22 | public static LanguageViewModel FromAuto() 23 | { 24 | return new LanguageViewModel(Resources.Localization.Dialogs_Settings_Language_Auto, null); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Updates/UpdateImpact/View/EmptyView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Controls; 2 | 3 | namespace Otor.MsixHero.App.Modules.Dialogs.Updates.UpdateImpact.View 4 | { 5 | /// 6 | /// Interaction logic for EmptyView.xaml 7 | /// 8 | public partial class EmptyView 9 | { 10 | public EmptyView() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Updates/UpdateImpact/View/OverviewView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.Dialogs.Updates.UpdateImpact.View 2 | { 3 | public partial class OverviewView 4 | { 5 | public OverviewView() 6 | { 7 | this.InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Updates/UpdateImpact/View/SizeComparisonView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.Dialogs.Updates.UpdateImpact.View 2 | { 3 | public partial class SizeComparisonView 4 | { 5 | public SizeComparisonView() 6 | { 7 | this.InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Updates/UpdateImpact/ViewModel/Items/FileType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.Dialogs.Updates.UpdateImpact.ViewModel.Items 18 | { 19 | public enum FileType 20 | { 21 | Added, 22 | Changed, 23 | Unchanged, 24 | Deleted 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Dialogs/Volumes/NewVolume/ViewModel/NewVolumePathType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.Dialogs.Volumes.NewVolume.ViewModel 18 | { 19 | public enum NewVolumePathType 20 | { 21 | Default, 22 | Custom 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/Main/Shell/ViewModels/ShellViewModel.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using Otor.MsixHero.App.Mvvm; 18 | 19 | namespace Otor.MsixHero.App.Modules.Main.Shell.ViewModels 20 | { 21 | public class ShellViewModel : NotifyPropertyChanged 22 | { 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/Commands/DialogTarget.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.PackageManagement.Commands 18 | { 19 | public enum DialogTarget 20 | { 21 | Empty, 22 | Ask, 23 | Selection 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/Enums/PackageContentViewType.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.Enums 2 | { 3 | public enum PackageContentViewType 4 | { 5 | Overview, 6 | Capabilities, 7 | Dependencies, 8 | Installation, 9 | Files, 10 | Registry, 11 | Applications, 12 | Psf 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Applications/PackageApplicationsView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Applications 2 | { 3 | public partial class PackageApplicationsView 4 | { 5 | public PackageApplicationsView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Capabilities/PackageCapabilitiesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Capabilities 2 | { 3 | public partial class PackageCapabilitiesView 4 | { 5 | public PackageCapabilitiesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Dependencies/PackageDependenciesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Dependencies 2 | { 3 | public partial class PackageDependenciesView 4 | { 5 | public PackageDependenciesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Files/PackageFilesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Files 2 | { 3 | public partial class PackageFilesView 4 | { 5 | public PackageFilesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Actions/ActionsView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls.Primitives; 3 | 4 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Actions 5 | { 6 | public partial class ActionsView 7 | { 8 | public ActionsView() 9 | { 10 | InitializeComponent(); 11 | this.PopupMore.CustomPopupPlacementCallback = this.CustomPopupPlacementCallback; 12 | } 13 | 14 | private CustomPopupPlacement[] CustomPopupPlacementCallback(Size popupSize, Size targetSize, Point offset) 15 | { 16 | return new[] 17 | { 18 | new CustomPopupPlacement(new Point(offset.X - popupSize.Width + targetSize.Width, offset.Y + targetSize.Height), PopupPrimaryAxis.Vertical) 19 | }; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/PackageOverviewView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview 2 | { 3 | public partial class PackageOverviewView 4 | { 5 | public PackageOverviewView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryApplicationsView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryApplicationsView 4 | { 5 | public SummaryApplicationsView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryCapabilitiesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryCapabilitiesView 4 | { 5 | public SummaryCapabilitiesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryDependenciesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryDependenciesView 4 | { 5 | public SummaryDependenciesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryFilesView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryFilesView 4 | { 5 | public SummaryFilesView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryInstallationView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryInstallationView 4 | { 5 | public SummaryInstallationView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryPackageNameView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryPackageNameView 4 | { 5 | public SummaryPackageNameView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryPackagingInformation.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 17 | { 18 | /// 19 | /// Interaction logic for SummaryPackagingInformation.xaml 20 | /// 21 | public partial class SummaryPackagingInformation : UserControl 22 | { 23 | public SummaryPackagingInformation() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryPsfView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryPsfView 4 | { 5 | public SummaryPsfView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummaryRegistryView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummaryRegistryView 4 | { 5 | public SummaryRegistryView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Overview/Summaries/SummarySignatureView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Overview.Summaries 2 | { 3 | public partial class SummarySignatureView 4 | { 5 | public SummarySignatureView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/PackageContentView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View 2 | { 3 | /// 4 | /// Interaction logic for PackageContentView.xaml 5 | /// 6 | public partial class PackageContentView 7 | { 8 | public PackageContentView() 9 | { 10 | InitializeComponent(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Psf/PackagePsfView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Psf 2 | { 3 | public partial class PackagePsfView 4 | { 5 | public PackagePsfView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/View/Registry/PackageRegistryView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.View.Registry 2 | { 3 | public partial class PackageRegistryView 4 | { 5 | public PackageRegistryView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Common/IPackageContentItem.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.App.Modules.PackageManagement.PackageContent.Enums; 2 | 3 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Common 4 | { 5 | public interface IPackageContentItem 6 | { 7 | public PackageContentViewType Type { get; } 8 | 9 | public bool IsActive { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Common/IPackageContentItemNavigation.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.App.Modules.PackageManagement.PackageContent.Enums; 2 | 3 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Common 4 | { 5 | public interface IPackageContentItemNavigation 6 | { 7 | void SetCurrentItem(PackageContentViewType type); 8 | 9 | IPackageContentItem CurrentItem { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Common/ISelectableItem.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Common 18 | { 19 | public interface ISelectableItem 20 | { 21 | bool IsSelected { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Files/Items/FileViewModel.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Common; 2 | using Otor.MsixHero.Appx.Reader.File.Entities; 3 | 4 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Files.Items 5 | { 6 | public class AppxFileViewModel : TreeNodeViewModel 7 | { 8 | public AppxFileViewModel(AppxFileInfo fileInfo) 9 | { 10 | this.Path = fileInfo.FullPath; 11 | this.Name = fileInfo.Name; 12 | this.Size = fileInfo.Size; 13 | } 14 | 15 | public long Size { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Installation/ElevationStatus.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Installation 18 | { 19 | public enum ElevationStatus 20 | { 21 | Ok, 22 | 23 | ElevationRequired 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Installation/InstalledBy/UserDetailsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Otor.MsixHero.App.Mvvm; 3 | using Otor.MsixHero.Appx.Users; 4 | 5 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Installation.InstalledBy 6 | { 7 | public class UserDetailsViewModel : NotifyPropertyChanged 8 | { 9 | 10 | public UserDetailsViewModel(List listOfInstalls, ElevationStatus status) 11 | { 12 | this.InstalledBy = listOfInstalls; 13 | this.IsElevated = status == ElevationStatus.Ok; 14 | } 15 | 16 | public bool IsElevated { get; } 17 | 18 | public List InstalledBy { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Installation/Source/AppInstallerSourceViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Installation.Source 4 | { 5 | public class AppInstallerSourceViewModel : PackageSourceViewModel 6 | { 7 | public AppInstallerSourceViewModel(string src) 8 | { 9 | this.AppInstallerUri = src; 10 | } 11 | 12 | public AppInstallerSourceViewModel(Uri src) : this(src.ToString()) 13 | { 14 | } 15 | 16 | public string AppInstallerUri { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Items/Psf/MsixHelperApplicationProxyViewModel.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor; 2 | 3 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Items.Psf; 4 | 5 | public class MsixHelperApplicationProxyViewModel(MsixHelperApplicationProxy definition) : BaseApplicationProxyViewModel(definition); -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/PackageContent/ViewModel/Registry/Items/RegistryValueViewModel.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Common; 2 | using Otor.MsixHero.Appx.Packaging.Registry; 3 | 4 | namespace Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Registry.Items 5 | { 6 | public class RegistryValueViewModel : TreeNodeViewModel 7 | { 8 | public RegistryValueViewModel(AppxRegistryValue value) 9 | { 10 | this.Name = value.Name; 11 | this.Path = value.Path; 12 | 13 | if (value.Type != "RegNone") 14 | { 15 | Type = value.Type; 16 | Data = value.Data; 17 | } 18 | } 19 | 20 | public string Type { get; } 21 | 22 | public string Data { get; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/Search/ViewModels/CustomDirectoryViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Otor.MsixHero.App.Mvvm; 3 | using Otor.MsixHero.Infrastructure.Configuration; 4 | 5 | namespace Otor.MsixHero.App.Modules.PackageManagement.Search.ViewModels 6 | { 7 | public class CustomDirectoryViewModel(PackageDirectoryConfiguration configEntry) : NotifyPropertyChanged 8 | { 9 | public string DisplayName { get; } = Path.GetFileName(configEntry.Path); 10 | 11 | public string FullPath { get; } = configEntry.Path; 12 | 13 | public bool IsRecurse { get; } = configEntry.IsRecurse; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/PackageManagement/Search/Views/PackageQuerySourcePopup.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | using System.Windows.Data; 5 | using System.Windows.Threading; 6 | using Otor.MsixHero.App.Modules.PackageManagement.PackageContent.ViewModel.Installation.Source; 7 | namespace Otor.MsixHero.App.Modules.PackageManagement.Search.Views; 8 | 9 | public partial class PackageQuerySourcePopup 10 | { 11 | public PackageQuerySourcePopup() 12 | { 13 | InitializeComponent(); 14 | } 15 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/AdvancedInstaller17Square44x44Logo.targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/AdvancedInstaller17Square44x44Logo.targetsize-32.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/AppPackage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/AppPackage.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/PsfToolingDSquare44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/PsfToolingDSquare44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/Square44x44Logo.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/Square44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/SystemStatus/View/Logos/Square44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/SystemStatus/ViewModel/RecommendationStatus.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.SystemStatus.ViewModel 18 | { 19 | public enum RecommendationStatus 20 | { 21 | Loading, 22 | Success, 23 | Warning, 24 | Error 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/WhatsNew/Views/MsixHeroLinks.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.App.Modules.WhatsNew.Views 2 | { 3 | /// 4 | /// Interaction logic for MsixHeroLinks.xaml 5 | /// 6 | public partial class MsixHeroLinks 7 | { 8 | public MsixHeroLinks() 9 | { 10 | InitializeComponent(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/WhatsNew/Views/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Modules/WhatsNew/Views/arrow.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Modules/WhatsNew/WhatsNewRegionNames.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Modules.WhatsNew 18 | { 19 | public static class WhatsNewRegionNames 20 | { 21 | public const string Master = "msix-hero-whatsnew"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Mvvm/Changeable/IValidatedContainerChangeable.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.App.Mvvm.Changeable 18 | { 19 | public interface IValidatedContainerChangeable : IValidatedChangeable 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Otor.MsixHero.App": { 4 | "commandName": "Project" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Fonts/FluentSystemIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Fonts/FluentSystemIcons-Regular.ttf -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-ExtraLight.ttf -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-Light.ttf -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Icons/favicon.ico -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Images/icons8-sugar-cube-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Images/icons8-sugar-cube-48.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Resources/Images/msix-hero-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.App/Resources/Images/msix-hero-32.png -------------------------------------------------------------------------------- /src/Otor.MsixHero.App/Themes/Fonts.xaml: -------------------------------------------------------------------------------- 1 |  3 | pack://application:,,,/Resources/Fonts/#Source Sans Pro 4 | pack://application:,,,/Resources/Fonts/#FluentSystemIcons-Regular 5 | 6 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.AppInstaller/Entities/AppInstallerBundleEntry.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.AppInstaller.Entities 20 | { 21 | [Serializable] 22 | public class AppInstallerBundleEntry : AppInstallerBaseEntry 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.AppInstaller/Entities/AppInstallerPackageArchitecture.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.AppInstaller.Entities 18 | { 19 | public enum AppInstallerPackageArchitecture 20 | { 21 | x86, 22 | x64, 23 | arm, 24 | arm64, 25 | neutral, 26 | } 27 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.AppInstaller/Entities/AppInstallerUpdateCheckingMethod.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.AppInstaller.Entities 18 | { 19 | public enum AppInstallerUpdateCheckingMethod 20 | { 21 | Never, 22 | Launch, 23 | LaunchAndBackground, 24 | Background 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.AppInstaller/Entities/AutomaticBackgroundTaskSettings.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.AppInstaller.Entities 20 | { 21 | [Serializable] 22 | public class AutomaticBackgroundTaskSettings 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.AppInstaller/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.AppInstaller.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/AppxFileConstants.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace Otor.MsixHero.Appx.Common 4 | { 5 | [SuppressMessage("ReSharper", "IdentifierTypo")] 6 | public static class AppxFileConstants 7 | { 8 | public const string AppxManifestFile = "appxmanifest.xml"; 9 | public const string AppxBundleManifestFile = "appxbundlemanifest.xml"; 10 | public const string AppxBundleManifestFilePath = "appxmetadata/" + AppxBundleManifestFile; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/Enums/PackageInstallationContext.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Common.Enums 18 | { 19 | public enum PackageInstallationContext 20 | { 21 | NotInstalled = 0, 22 | CurrentUser = 1, 23 | AllUsers = 2 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/Enums/PackageType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Common.Enums 18 | { 19 | public enum PackageType 20 | { 21 | Package, 22 | Bundle, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/WindowsVersioning/AppxTargetOperatingSystemType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Common.WindowsVersioning 18 | { 19 | public enum AppxTargetOperatingSystemType 20 | { 21 | MsixNativeSupported, 22 | MsixCore, 23 | Other 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/WindowsVersioning/WindowsVersion.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Common.WindowsVersioning; 18 | 19 | public enum WindowsVersion : ushort 20 | { 21 | Unspecified = 0, 22 | Win7 = 70, 23 | Win8 = 80, 24 | Win81 = 81, 25 | Win10 = 100, 26 | Win11 = 110 27 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Common/WindowsVersioning/WindowsVersionHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Common.WindowsVersioning; 4 | 5 | public record WindowsVersionHandler(VersionRange VersionRange, Func NameGenerator) : IComparable 6 | { 7 | public int CompareTo(WindowsVersionHandler other) 8 | { 9 | if (other == null) 10 | { 11 | return 1; 12 | } 13 | 14 | return this.VersionRange.CompareTo(other.VersionRange); 15 | } 16 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Files/DeleteFile.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Files 18 | { 19 | public class DeleteFile : IAppxEditCommand 20 | { 21 | public string FilePath { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Manifest/AddCapability.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Manifest 2 | { 3 | public class AddCapability : IAppxEditCommand 4 | { 5 | public AddCapability() 6 | { 7 | } 8 | 9 | public AddCapability(string name) 10 | { 11 | this.Name = name; 12 | } 13 | 14 | public string Name { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Manifest/SetPackageIdentity.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Manifest 2 | { 3 | public class SetPackageIdentity : IAppxEditCommand 4 | { 5 | public string Publisher { get; set; } 6 | 7 | public string Version { get; set; } 8 | 9 | public string Name { get; set; } 10 | 11 | public string ProcessorArchitecture { get; set; } 12 | 13 | public string ResourceId { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/DeleteRegistryKey.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 3 | { 4 | public class DeleteRegistryKey : IRegistryKeyCommand 5 | { 6 | public string RegistryKey { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/DeleteRegistryValue.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 2 | { 3 | public class DeleteRegistryValue : IAppxEditCommand, IRegistryKeyCommand 4 | { 5 | public string RegistryKey { get; set; } 6 | 7 | public string RegistryValueName { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/IRegistryKeyCommand.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 18 | { 19 | public interface IRegistryKeyCommand : IAppxEditCommand 20 | { 21 | string RegistryKey { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/ImportLocalRegistryKey.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 18 | { 19 | public class ImportLocalRegistryKey : IRegistryKeyCommand 20 | { 21 | public string RegistryKey { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/ImportRegistryFile.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 18 | { 19 | public class ImportRegistryFile : IAppxEditCommand 20 | { 21 | public string FilePath { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/SetRegistryKey.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 2 | { 3 | public class SetRegistryKey : IRegistryKeyCommand 4 | { 5 | public string RegistryKey { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/Concrete/Registry/SetRegistryValue.cs: -------------------------------------------------------------------------------- 1 | using Otor.MsixHero.Registry.Parser; 2 | 3 | namespace Otor.MsixHero.Appx.Editor.Commands.Concrete.Registry 4 | { 5 | public class SetRegistryValue : IRegistryKeyCommand 6 | { 7 | public string RegistryKey { get; set; } 8 | 9 | public string RegistryValueName { get; set; } 10 | 11 | public ValueType ValueType { get; set; } 12 | 13 | public object Value { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Commands/IAppxEditCommand.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Editor.Commands 18 | { 19 | public interface IAppxEditCommand 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Executors/IValueChangedExecutor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Otor.MsixHero.Appx.Editor.Executors.Concrete; 3 | 4 | namespace Otor.MsixHero.Appx.Editor.Executors 5 | { 6 | public interface IValueChangedExecutor 7 | { 8 | event EventHandler ValueChanged; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Editor/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Editor.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/File/Entities/AppxFileInfo.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace Otor.MsixHero.Appx.Reader.File.Entities 4 | { 5 | public readonly struct AppxFileInfo 6 | { 7 | public AppxFileInfo(string fullPath, long size) 8 | { 9 | FullPath = fullPath; 10 | Size = size; 11 | Name = Path.GetFileName(fullPath); 12 | } 13 | 14 | public AppxFileInfo(FileInfo fileInfo) 15 | { 16 | FullPath = fileInfo.FullName; 17 | Size = fileInfo.Length; 18 | Name = fileInfo.Name; 19 | } 20 | 21 | public string Name { get; } 22 | 23 | public string FullPath { get; } 24 | 25 | public long Size { get; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/File/IAppxDiskFileReader.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.File 18 | { 19 | public interface IAppxDiskFileReader : IAppxFileReader 20 | { 21 | string RootDirectory { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/File/IAppxFileViewer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace Otor.MsixHero.Appx.Reader.File 5 | { 6 | public interface IAppxFileViewer : IDisposable 7 | { 8 | Task GetDiskPath(IAppxFileReader fileReader, string filePath); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Manifest/Entities/AppxCapability.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Manifest.Entities 18 | { 19 | public class AppxCapability 20 | { 21 | public CapabilityType Type { get; set; } 22 | 23 | public string Name { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Manifest/Entities/AppxExtension.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Manifest.Entities 18 | { 19 | public abstract class AppxExtension 20 | { 21 | public string Category { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Manifest/Entities/AppxMainPackageDependency.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Appx.Reader.Manifest.Entities 20 | { 21 | [Serializable] 22 | public class AppxMainPackageDependency 23 | { 24 | public string Name { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Manifest/Entities/CapabilityType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Manifest.Entities 18 | { 19 | public enum CapabilityType 20 | { 21 | General, 22 | Restricted, 23 | Device, 24 | Custom 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/ApplicationProxyType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor; 18 | 19 | public enum ApplicationProxyType 20 | { 21 | PackageSupportFramework, 22 | AdvancedInstallerStub, 23 | MsixHelper 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/ApplicationServicesDescriptor.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor 20 | { 21 | [Serializable] 22 | public class ApplicationServicesDescriptor 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/MsixHelperApplicationProxy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor; 4 | 5 | [Serializable] 6 | public class MsixHelperApplicationProxy : BaseApplicationProxy 7 | { 8 | public override ApplicationProxyType Type => ApplicationProxyType.MsixHelper; 9 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/PsfElectronDescriptor.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor 18 | { 19 | public class PsfElectronDescriptor 20 | { 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/PsfScriptDescriptorTiming.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor 18 | { 19 | public enum PsfScriptDescriptorTiming 20 | { 21 | Start, 22 | Finish 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Descriptor/TracingType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Descriptor 18 | { 19 | public enum TracingType 20 | { 21 | Console, 22 | EventLog, 23 | Default 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Interpreter/Electron/PsfElectronFixup.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Interpreter.Electron 2 | { 3 | public class PsfElectronFixup : PsfProcessMatch 4 | { 5 | public PsfElectronFixup(string processRegularExpression, string fixupName) : base(processRegularExpression, fixupName) 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/Interpreter/Redirection/PsfRedirectionRoot.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities.Interpreter.Redirection; 18 | 19 | public enum PsfRedirectionRoot 20 | { 21 | PackageRoot, 22 | Drive, 23 | KnownFolder 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/PsfBitness.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities 20 | { 21 | [Flags] 22 | [Serializable] 23 | public enum PsfBitness 24 | { 25 | Neutral = 1, 26 | x86 = 2, 27 | x64 = 4 28 | } 29 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx.Reader/Psf/Entities/PsfFixupConfig.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Reader.Psf.Entities 18 | { 19 | public abstract class PsfFixupConfig : JsonElement 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Developer/Enums/SideloadingStatus.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Developer.Enums 18 | { 19 | public enum SideloadingStatus 20 | { 21 | NotAllowed = 1, 22 | 23 | Sideloading = 2, 24 | 25 | DeveloperMode = 3 26 | } 27 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Developer/Enums/WindowsStoreAutoDownload.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Developer.Enums 18 | { 19 | public enum WindowsStoreAutoDownload 20 | { 21 | Default = 0, 22 | 23 | Never = 2, 24 | 25 | Always = 4 26 | } 27 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Developer/SideloadingFlavor.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Developer; 18 | 19 | public enum SideloadingFlavor 20 | { 21 | Windows10Below2004, 22 | Windows10From2004, 23 | Windows11 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Events/Enums/EventCategory.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Events.Enums 18 | { 19 | public enum EventCategory 20 | { 21 | AppXDeploymentOperational, 22 | AppXDeploymentServerOperational, 23 | AppXDeploymentServerRestricted 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Recommendations/Entities/IStoreApp.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Recommendations.Entities 18 | { 19 | public interface IStoreApp 20 | { 21 | string PackageFamily { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Recommendations/Entities/IThirdPartyAvailableApp.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Recommendations.Entities 18 | { 19 | public interface IThirdPartyAvailableApp : IThirdPartyApp 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Recommendations/Entities/IThirdPartyDetectedApp.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Recommendations.Entities 18 | { 19 | public interface IThirdPartyDetectedApp : IThirdPartyApp 20 | { 21 | string Version { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Recommendations/Enums/AdvisorMode.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Recommendations.Enums 18 | { 19 | public enum AdvisorMode 20 | { 21 | ForPackaging, 22 | ForUsing 23 | } 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Recommendations/Enums/ServiceRecommendationType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Recommendations.Enums 18 | { 19 | public enum ServiceRecommendationType 20 | { 21 | OneTime, 22 | Service, 23 | WindowsDefender 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Diagnostic/Registry/Enums/RegistryMountState.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Diagnostic.Registry.Enums 18 | { 19 | public enum RegistryMountState 20 | { 21 | NotApplicable, 22 | Mounted, 23 | NotMounted 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Exceptions/MsixHeroException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Exceptions 4 | { 5 | public class MsixHeroException : ApplicationException 6 | { 7 | public MsixHeroException() 8 | { 9 | } 10 | 11 | public MsixHeroException(string message) : base(message) 12 | { 13 | } 14 | 15 | public MsixHeroException(string message, Exception innerException) : base(message, innerException) 16 | { 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/FileExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics.CodeAnalysis; 2 | 3 | namespace Otor.MsixHero.Appx.Packaging; 4 | 5 | [SuppressMessage("ReSharper", "IdentifierTypo")] 6 | public class FileExtensions 7 | { 8 | public const string Reg = ".reg"; 9 | public const string Pfx = ".pfx"; 10 | public const string Cer = ".cer"; 11 | public const string Exe = ".exe"; 12 | public const string Msi = ".msi"; 13 | public const string Winget = ".yaml"; 14 | public const string MsixBundle = ".msixbundle"; 15 | public const string AppxBundle = ".appxbundle"; 16 | public const string Msix = ".msix"; 17 | public const string Appx = ".appx"; 18 | public const string AppInstaller = ".appinstaller"; 19 | public const string Vhd = ".vhd"; 20 | public const string Vhdx = ".vhdx"; 21 | public const string Cim = ".cim"; 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/ManifestCreator/IAppxManifestCreator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Threading; 5 | using System.Threading.Tasks; 6 | using Otor.MsixHero.Infrastructure.Progress; 7 | 8 | namespace Otor.MsixHero.Appx.Packaging.ManifestCreator 9 | { 10 | public interface IAppxManifestCreator 11 | { 12 | IAsyncEnumerable CreateManifestForDirectory( 13 | DirectoryInfo sourceDirectory, 14 | AppxManifestCreatorOptions options = default, 15 | CancellationToken cancellationToken = default, 16 | IProgress progress = null); 17 | 18 | Task AnalyzeDirectory(DirectoryInfo directoryInfo, CancellationToken cancellationToken = default); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Packer/Enums/AppxPackerOptions.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Appx.Packaging.Packer.Enums 20 | { 21 | [Flags] 22 | public enum AppxPackerOptions 23 | { 24 | NoCompress = 1, 25 | NoValidation = 1 << 1 26 | } 27 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Registry/AppxRegistryKey.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Packaging.Registry 2 | { 3 | public struct AppxRegistryKey 4 | { 5 | public string Path; 6 | 7 | public bool HasSubKeys; 8 | 9 | public bool HasSubValues; 10 | 11 | public override string ToString() 12 | { 13 | return this.Path; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Registry/AppxRegistryRoots.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Packaging.Registry 2 | { 3 | public static class AppxRegistryRoots 4 | { 5 | public const string Root = @"Root\Registry\"; 6 | 7 | // ReSharper disable once IdentifierTypo 8 | // ReSharper disable once InconsistentNaming 9 | public const string HKLM = Root + @"Machine\"; 10 | 11 | // ReSharper disable once IdentifierTypo 12 | // ReSharper disable once InconsistentNaming 13 | public const string HKCU = Root + @"User\"; 14 | } 15 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Registry/AppxRegistryValue.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Packaging.Registry 2 | { 3 | public struct AppxRegistryValue 4 | { 5 | public string Name; 6 | 7 | public string Type; 8 | 9 | public string Data; 10 | 11 | public string Path; 12 | 13 | public override string ToString() 14 | { 15 | return $"{this.Name} = [{this.Type}] {this.Data}"; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Services/PackageQuerySource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Packaging.Services; 4 | 5 | [Serializable] 6 | public struct PackageQuerySource 7 | { 8 | public PackageQuerySourceType Type { get; set; } 9 | 10 | public string Path { get; set; } 11 | 12 | public static PackageQuerySource InstalledForCurrentUser() => new() { Type = PackageQuerySourceType.InstalledForCurrentUser }; 13 | 14 | public static PackageQuerySource InstalledForAllUsers() => new() { Type = PackageQuerySourceType.InstalledForAllUsers }; 15 | 16 | public static PackageQuerySource Installed() => new() { Type = PackageQuerySourceType.Installed }; 17 | 18 | public static PackageQuerySource FromFolder(string folderPath, bool recurse = false) => new() 19 | { 20 | Type = PackageQuerySourceType.Directory, Path = recurse ? System.IO.Path.Combine(folderPath, "*") : folderPath 21 | }; 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/Services/PackageQuerySourceType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Packaging.Services 18 | { 19 | public enum PackageQuerySourceType 20 | { 21 | Installed, 22 | InstalledForCurrentUser, 23 | InstalledForAllUsers, 24 | Directory 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/SharedPackageContainer/Builder/SharedPackage.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Packaging.SharedPackageContainer.Builder; 18 | 19 | public abstract class SharedPackage 20 | { 21 | public abstract string FamilyName { get; } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/SharedPackageContainer/ContainerConflictResolution.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Packaging.SharedPackageContainer; 18 | 19 | public enum ContainerConflictResolution 20 | { 21 | Merge, 22 | Replace, 23 | Default 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/SharedPackageContainer/Entities/SharedPackageContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml.Serialization; 3 | 4 | namespace Otor.MsixHero.Appx.Packaging.SharedPackageContainer.Entities 5 | { 6 | [XmlRoot("AppSharedPackageContainer")] 7 | public class SharedPackageContainer 8 | { 9 | /* 10 | * 11 | 12 | 13 | 14 | 15 | 16 | 17 | */ 18 | 19 | [XmlAttribute("Name")] 20 | public string Name { get; set; } 21 | 22 | [XmlElement("PackageFamily")] 23 | public List PackageFamilies { get; set; } 24 | 25 | [XmlAttribute("Id")] 26 | public string Id { get; set; } 27 | } 28 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/SharedPackageContainer/Exceptions/AlreadyInAnotherContainerException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Packaging.SharedPackageContainer.Exceptions 4 | { 5 | public class AlreadyInAnotherContainerException : Exception 6 | { 7 | public AlreadyInAnotherContainerException(string containerName, string familyName) : base(string.Format("Package {0} is already in container {1}.", familyName, containerName)) 8 | { 9 | this.FamilyName = familyName; 10 | this.ContainerName = containerName; 11 | } 12 | 13 | public string FamilyName { get; } 14 | 15 | public string ContainerName { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Packaging/SignatureKind.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Packaging 18 | { 19 | public enum SignatureKind 20 | { 21 | Store, 22 | Unsigned, 23 | System, 24 | Enterprise, 25 | Developer, 26 | Unknown 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Appx.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Signing/DeviceGuard/MSIXHeroTest.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Appx/Signing/DeviceGuard/MSIXHeroTest.cat -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Signing/Entities/CertificateStoreType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Signing.Entities 18 | { 19 | public enum CertificateStoreType 20 | { 21 | User, 22 | Machine, 23 | MachineUser, 24 | File 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Signing/IncreaseVersionMethod.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Signing 18 | { 19 | public enum IncreaseVersionMethod 20 | { 21 | None, 22 | // major.minor[.build[.revision]] 23 | Major, 24 | Minor, 25 | Build, 26 | Revision 27 | } 28 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Signing/Testing/ISigningTestService.cs: -------------------------------------------------------------------------------- 1 | using System.Security; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | using Otor.MsixHero.Infrastructure.Configuration; 5 | 6 | namespace Otor.MsixHero.Appx.Signing.Testing 7 | { 8 | public interface ISigningTestService 9 | { 10 | Task VerifyPfx(string pfxPath, SecureString password = default, string timeStampServer = default, CancellationToken cancellation = default); 11 | 12 | Task VerifyInstalled(string thumbprint, string timeStampServer = default, CancellationToken cancellation = default); 13 | 14 | Task VerifyDeviceGuardSettings(DeviceGuardConfiguration config, string timeStampServer = default, CancellationToken cancellation = default); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Signing/Testing/SignTestResultType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Signing.Testing; 18 | 19 | public enum SignTestResultType 20 | { 21 | Ok, 22 | Warn, 23 | Error 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Appx/LayoutBar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml.Serialization; 3 | using Otor.MsixHero.Appx.Updates.Entities.Comparison; 4 | 5 | namespace Otor.MsixHero.Appx.Updates.Entities.Appx 6 | { 7 | [Serializable] 8 | public class LayoutBar 9 | { 10 | [XmlAttribute("position")] 11 | public long Position { get; set; } 12 | 13 | [XmlAttribute("size")] 14 | public long Size { get; set; } 15 | 16 | [XmlAttribute("type")] 17 | public ComparisonStatus Status { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Appx/PackageLayout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace Otor.MsixHero.Appx.Updates.Entities.Appx 6 | { 7 | [Serializable] 8 | public class PackageLayout 9 | { 10 | [XmlArray("files")] 11 | [XmlArrayItem("file")] 12 | public List Files { get; set; } 13 | 14 | [XmlArray("blocks")] 15 | [XmlArrayItem("block")] 16 | public List Blocks { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/AddedFiles.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Xml.Serialization; 18 | 19 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 20 | { 21 | [XmlRoot("added")] 22 | public class AddedFiles : ImpactedFiles 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/AppxDuplication.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 6 | { 7 | [Serializable] 8 | public class AppxDuplication : BaseDuplicateFiles 9 | { 10 | [XmlArray("duplicates")] 11 | [XmlArrayItem("duplicate")] 12 | public List Duplicates { get; set; } 13 | 14 | [XmlAttribute("fileSize")] 15 | public long FileSize { get; set; } 16 | 17 | [XmlAttribute("fileCount")] 18 | public long FileCount { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/BaseDuplicateFiles.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 4 | { 5 | public abstract class BaseDuplicateFiles 6 | { 7 | [XmlAttribute("possibleSizeReduction")] 8 | public long PossibleSizeReduction { get; set; } 9 | 10 | [XmlAttribute("possibleImpactReduction")] 11 | public long PossibleImpactReduction { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/ComparedDuplicate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Xml.Serialization; 4 | 5 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 6 | { 7 | [Serializable] 8 | public class ComparedDuplicate : BaseDuplicateFiles 9 | { 10 | [XmlElement("file")] 11 | public List Files { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/ComparedDuplicateFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Xml.Serialization; 3 | 4 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 5 | { 6 | [Serializable] 7 | public class ComparedDuplicateFile : BaseDuplicateFiles 8 | { 9 | [XmlAttribute("name")] 10 | public string Name { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/ComparisonStatus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 4 | { 5 | [Serializable] 6 | public enum ComparisonStatus 7 | { 8 | Unknown, 9 | New, 10 | Old, 11 | Changed, 12 | Unchanged, 13 | Duplicate 14 | } 15 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/DeletedFiles.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Xml.Serialization; 18 | 19 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 20 | { 21 | [XmlRoot("deleted")] 22 | public class DeletedFiles : ImpactedFiles 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/Comparison/UnchangedFiles.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Xml.Serialization; 18 | 19 | namespace Otor.MsixHero.Appx.Updates.Entities.Comparison 20 | { 21 | [XmlRoot("unchanged")] 22 | public class UnchangedFiles : BaseFiles 23 | { 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/Updates/Entities/UpgradeImpactError.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.Updates.Entities 18 | { 19 | public enum UpgradeImpactError 20 | { 21 | Unknown, 22 | WrongPackageFormat, 23 | WrongFamilyName, 24 | WrongPackageVersion 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Appx/WindowsVirtualDesktop/AppAttach/Strategy/IAppAttachVolumeCreationStrategyInitialization.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Appx.WindowsVirtualDesktop.AppAttach.Strategy 18 | { 19 | public interface IAppAttachVolumeCreationStrategyInitialization 20 | { 21 | } 22 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Edit/Bulk/ListEditVerb.cs: -------------------------------------------------------------------------------- 1 | using CommandLine; 2 | using Otor.MsixHero.Cli.Verbs.Resources; 3 | 4 | namespace Otor.MsixHero.Cli.Verbs.Edit.Bulk 5 | { 6 | [Verb("list", HelpText = "CLI_Verbs_Edit_List_VerbName", ResourceType = typeof(Localization))] 7 | public class ListEditVerb : BaseEditVerb 8 | { 9 | [Value(0, HelpText = "CLI_Verbs_Edit_List_Prop_File", ResourceType = typeof(Localization))] 10 | public string File { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Edit/Registry/DeleteRegistryKeyEditVerb.cs: -------------------------------------------------------------------------------- 1 | using CommandLine; 2 | using Otor.MsixHero.Cli.Verbs.Resources; 3 | 4 | namespace Otor.MsixHero.Cli.Verbs.Edit.Registry 5 | { 6 | [Verb("deleteRegistryKey", HelpText = "CLI_Verbs_Edit_DeleteRegistryKey_VerbName", ResourceType = typeof(Localization))] 7 | public class DeleteRegistryKeyEditVerb : BaseEditVerb, IBaseEditRegistryVerb 8 | { 9 | [Option('k', "key", HelpText = "CLI_Verbs_Edit_DeleteRegistryKey_Prop_RegistryKey", Required = true, ResourceType = typeof(Localization))] 10 | public string RegistryKey { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Edit/Registry/DeleteRegistryValueEditVerb.cs: -------------------------------------------------------------------------------- 1 | using CommandLine; 2 | using Otor.MsixHero.Cli.Verbs.Resources; 3 | 4 | namespace Otor.MsixHero.Cli.Verbs.Edit.Registry 5 | { 6 | [Verb("deleteRegistryValue", HelpText = "CLI_Verbs_Edit_DeleteRegistryValue_VerbName", ResourceType = typeof(Localization))] 7 | public class DeleteRegistryValueEditVerb : BaseEditVerb, IBaseEditRegistryVerb 8 | { 9 | [Option('k', "key", HelpText = "CLI_Verbs_Edit_DeleteRegistryValue_Prop_RegistryKey", Required = true, ResourceType = typeof(Localization))] 10 | public string RegistryKey { get; set; } 11 | 12 | [Option('n', "valueName", HelpText = "CLI_Verbs_Edit_DeleteRegistryValue_Prop_RegistryValueName", Required = true, ResourceType = typeof(Localization))] 13 | public string RegistryValueName { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Edit/Registry/IBaseEditRegistryVerb.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Cli.Verbs.Edit.Registry 18 | { 19 | public interface IBaseEditRegistryVerb 20 | { 21 | string RegistryKey { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Edit/Registry/SetRegistryKeyEditVerb.cs: -------------------------------------------------------------------------------- 1 | using CommandLine; 2 | using Otor.MsixHero.Cli.Verbs.Resources; 3 | 4 | namespace Otor.MsixHero.Cli.Verbs.Edit.Registry 5 | { 6 | [Verb("setRegistryKey", HelpText = "CLI_Verbs_Edit_SetRegistryKey_VerbName", ResourceType = typeof(Localization))] 7 | public class SetRegistryKeyEditVerb : BaseEditVerb, IBaseEditRegistryVerb 8 | { 9 | [Option('k', "key", HelpText = "CLI_Verbs_Edit_SetRegistryKey_Prop_RegistryKey", Required = true, ResourceType = typeof(Localization))] 10 | public string RegistryKey { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli.Verbs/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Cli.Verbs.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli/Executors/StandardExitCodes.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Cli.Executors 2 | { 3 | public static class StandardExitCodes 4 | { 5 | public static int ErrorSuccess = 0; 6 | 7 | public static int ErrorGeneric = 1; 8 | 9 | public static int ErrorParameter = 2; 10 | 11 | public static int ErrorFormat = 3; 12 | 13 | public static int ErrorSettings = 10; 14 | 15 | public static int ErrorMustBeAdministrator = 11; 16 | 17 | public static int ErrorResourceExists = 12; 18 | 19 | public static int ErrorNotSupported = 13; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Otor.MsixHero.Cli": { 4 | "commandName": "Project" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Cli.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Cli/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Cli/favicon.ico -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Domain/Dependency.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Dependencies.Domain 18 | { 19 | public abstract class Dependency 20 | { 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Domain/IPackageDependency.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Dependencies.Domain 18 | { 19 | public interface IPackageDependency : IPackageNameDependency 20 | { 21 | public string Publisher { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Domain/IPackageNameDependency.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Dependencies.Domain 18 | { 19 | public interface IPackageNameDependency 20 | { 21 | string PackageName { get; } 22 | } 23 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Domain/IPackageVersionDependency.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Dependencies.Domain 20 | { 21 | public interface IPackageVersionDependency : IPackageDependency 22 | { 23 | public Version MinVersion { get; } 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Domain/Package.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Collections.Generic; 18 | 19 | namespace Otor.MsixHero.Dependencies.Domain 20 | { 21 | public class Package 22 | { 23 | 24 | public IList Dependencies { get; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Dependencies/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Dependencies.Resources 2 | { 3 | internal static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Elevation/IUacElevation.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Elevation; 18 | 19 | public interface IUacElevation 20 | { 21 | T AsAdministrator(bool keepElevation = true) where T : class; 22 | 23 | T AsCurrentUser() where T : class; 24 | 25 | T AsHighestAvailable() where T : class; 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Elevation/Otor.MsixHero.Elevation.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Library 5 | net8.0-windows 6 | enable 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Configuration/CertificateSource.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Configuration 18 | { 19 | public enum CertificateSource 20 | { 21 | Unknown, 22 | Personal, 23 | Pfx, 24 | DeviceGuard 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Configuration/ContainerSort.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Configuration 18 | { 19 | public enum ContainerSort 20 | { 21 | Name 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Configuration/EditorType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Configuration 18 | { 19 | public enum EditorType 20 | { 21 | Default = 0, 22 | Custom = 1, 23 | Ask = 2 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Configuration/EventSort.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Configuration 18 | { 19 | public enum EventSort 20 | { 21 | Date, 22 | Type, 23 | PackageName 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Configuration/LogCriteriaTimeSpan.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Configuration; 18 | 19 | public enum LogCriteriaTimeSpan 20 | { 21 | LastDay = 0, 22 | LastHour = 1, 23 | LastWeek = 2, 24 | All = 3 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Localization/IMsixHeroTranslationService.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System.Globalization; 18 | 19 | namespace Otor.MsixHero.Infrastructure.Localization; 20 | 21 | public interface IMsixHeroTranslationService 22 | { 23 | void ChangeCulture(CultureInfo cultureInfo); 24 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Localization/ITranslationProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Globalization; 3 | 4 | namespace Otor.MsixHero.Infrastructure.Localization 5 | { 6 | public interface ITranslationProvider 7 | { 8 | IEnumerable GetAvailableTranslations(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Progress/Progress.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | using System; 18 | 19 | namespace Otor.MsixHero.Infrastructure.Progress 20 | { 21 | public class Progress : Progress, IProgress 22 | { 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Infrastructure.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Services/FileDialogSettings.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Infrastructure.Services 2 | { 3 | public struct FileDialogSettings 4 | { 5 | public FileDialogSettings(string filter, string dialogTitle = null, string initialSelection = null) 6 | { 7 | Filter = filter; 8 | DialogTitle = dialogTitle; 9 | InitialSelection = initialSelection; 10 | } 11 | 12 | public string Filter { get; set; } 13 | 14 | public string DialogTitle { get; set; } 15 | 16 | public string InitialSelection { get; set; } 17 | 18 | public static FileDialogSettings FromFilterString(string filter) 19 | { 20 | return new FileDialogSettings(filter); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Services/InteractionButton.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Services 18 | { 19 | public enum InteractionButton 20 | { 21 | OK = 0, 22 | OKCancel = 1, 23 | YesNo = 4, 24 | YesNoCancel = 3 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Updates/ChangeLogItem.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Updates 18 | { 19 | public class ChangeLogItem 20 | { 21 | public ChangeLogItemType Type { get; set; } 22 | 23 | public string Text { get; set; } 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Infrastructure/Updates/ChangeLogItemType.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Infrastructure.Updates 18 | { 19 | public enum ChangeLogItemType 20 | { 21 | Feature, 22 | Improvement, 23 | Bug 24 | } 25 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Registry/Parser/RegistryRoot.cs: -------------------------------------------------------------------------------- 1 | // MSIX Hero 2 | // Copyright (C) 2024 Marcin Otorowski 3 | // 4 | // This program is free software: you can redistribute it and/or modify 5 | // it under the terms of the GNU General Public License as published by 6 | // the Free Software Foundation, either version 3 of the License, or 7 | // (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // Full notice: 15 | // https://github.com/marcinotorowski/msix-hero/blob/develop/LICENSE.md 16 | 17 | namespace Otor.MsixHero.Registry.Parser 18 | { 19 | public enum RegistryRoot 20 | { 21 | HKEY_LOCAL_MACHINE, 22 | HKEY_CLASSES_ROOT, 23 | HKEY_CURRENT_USER, 24 | HKEY_USERS, 25 | } 26 | } -------------------------------------------------------------------------------- /src/Otor.MsixHero.Registry/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Registry.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Registry/Resources/empty.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Registry/Resources/empty.dat -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Psf/MsixHelper/AppxManifest.xml: -------------------------------------------------------------------------------- 1 | [ApplicationOne] 2 | Target=%ProgramFiles(x86)%\MyApp\MyApplication1.exe 3 | Options= 4 | WorkingDir=%ProgramFiles(x86)%\MyApp 5 | SetEnv=Environment 6 | PreLaunch=PreLaunchScript 7 | Param1=/test 8 | Param2=/secondParam 9 | Param3=/noError 10 | 11 | [PreLaunchScript] 12 | FolderCreate, %LOCALAPPDATA%\MyApp 13 | StringReplace,%WorkingDir%\conf.cfg,,%APPDATA%,%LOCALAPPDATA%\MyApp\conf.cfg,1 14 | RegWrite, REG_SZ, HKEY_CURRENT_USER\Software\MyApp, WorkingDir, %WorkingDir% -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Psf/MsixHelper/MSIXHelper32.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Psf/MsixHelper/MSIXHelper32.exe -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Psf/MsixHelper/MSIXHelper32.ini: -------------------------------------------------------------------------------- 1 | [ApplicationOne] 2 | Target=%ProgramFiles(x86)%\MyApp\MyApplication1.exe 3 | Options= 4 | WorkingDir=%ProgramFiles(x86)%\MyApp 5 | SetEnv=Environment 6 | PreLaunch=PreLaunchScript 7 | Param1=/test 8 | Param2=/secondParam 9 | Param3=/noError 10 | 11 | [PreLaunchScript] 12 | FolderCreate, %LOCALAPPDATA%\MyApp 13 | StringReplace,%WorkingDir%\conf.cfg,,%APPDATA%,%LOCALAPPDATA%\MyApp\conf.cfg,1 14 | RegWrite, REG_SZ, HKEY_CURRENT_USER\Software\MyApp, WorkingDir, %WorkingDir% -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Registry/AppxRegistryReaderTests.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using NUnit.Framework; 4 | using Otor.MsixHero.Appx.Packaging.Registry; 5 | 6 | namespace Otor.MsixHero.Tests.Registry 7 | { 8 | public class AppxRegistryReaderTests 9 | { 10 | private AppxRegistryReader appxReader; 11 | 12 | [SetUp] 13 | public void Initialize() 14 | { 15 | this.appxReader = new AppxRegistryReader("Registry\\Registry.dat"); 16 | } 17 | 18 | [Test] 19 | public async Task TestReadingFromDatFile() 20 | { 21 | var roots = new List(); 22 | await foreach (var root in this.appxReader.EnumerateKeys(AppxRegistryRoots.HKLM)) 23 | { 24 | roots.Add(root); 25 | } 26 | 27 | Assert.That(roots.Count, Is.EqualTo(1)); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Registry/Registry.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Registry/Registry.dat -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Registry/team.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Registry/team.reg -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Resources/ConEmuPack-O2004-M1220.603-P380-F_19.1.8.0_x64__xwfzvwzp69w2e.msix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Resources/ConEmuPack-O2004-M1220.603-P380-F_19.1.8.0_x64__xwfzvwzp69w2e.msix -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Resources/SamplePackages/CreatedByMsixHero.msix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Resources/SamplePackages/CreatedByMsixHero.msix -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Resources/inno.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Resources/inno.exe -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Resources/nsis.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Resources/nsis.exe -------------------------------------------------------------------------------- /src/Otor.MsixHero.Tests/Resources/resources.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcinotorowski/MSIX-Hero/aa5ef843325fceb3abaa960d4c4f7d4c2bee666e/src/Otor.MsixHero.Tests/Resources/resources.pri -------------------------------------------------------------------------------- /src/Otor.MsixHero.Winget/Resources/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Otor.MsixHero.Winget.Resources 2 | { 3 | public static class Constants 4 | { 5 | public static readonly string LocalizationPrefix = typeof(Localization).Namespace + "."; 6 | } 7 | } 8 | --------------------------------------------------------------------------------