msix
0.70.0
Minimum PowerShell version
5.1
Installation Options
Owners
Package Details
Author(s)
- Sander de Wit
Tags
MSIX PSF Packaging AppX WindowsApps ContextMenu Investigation ProcMon Accelerator AppData AppAttach VHDX CIM AppIsolation Sandbox TMurgent MFR VcRuntime Compare TMEditX Enterprise CICD Pester PSADT
Functions
Add-MsixAlias Add-MsixAppIsolation Add-MsixCapability Add-MsixComServerExtension Add-MsixDiagnosticTrace Add-MsixFileExplorerContextMenu Add-MsixFileTypeAssociation Add-MsixFirewallRule Add-MsixFontExtension Add-MsixLegacyContextMenu Add-MsixLoaderSearchPathOverride Add-MsixManifestNamespace Add-MsixProtocolHandler Add-MsixPsfV2 Add-MsixShellVerbExtension Add-MsixSplashScreen Add-MsixStandardScript Add-MsixStartMenuFolder Add-MsixStartupTask Add-MsixVcRuntimeBundle Assert-MsixProcessSuccess Compare-MsixPackage ConvertFrom-MsixTraceLine ConvertFrom-MsixTraceToFinding ConvertFrom-MsixYamlAccelerator ConvertTo-MsixReportHtml Copy-MsixHostAppDataIntoPackage Dismount-MsixAppAttachImage Get-MsixAliasCandidate Get-MsixAppRuntimeVersion Get-MsixCapabilityHint Get-MsixCompatibilityReport Get-MsixComServerEntry Get-MsixContainerAppData Get-MsixDebugRecommendation Get-MsixDebugViewVersion Get-MsixDesktopShortcutCandidate Get-MsixFontCandidate Get-MsixHeuristicFinding Get-MsixInfo Get-MsixIsolationCapability Get-MsixKnownCapability Get-MsixLimitation Get-MsixManifest Get-MsixManifestApplication Get-MsixManifestApplications Get-MsixManifestNamespaceUri Get-MsixMfrKnownFolder Get-MsixMgrVersion Get-MsixNestedPackageCandidate Get-MsixOrphanedAppData Get-MsixPackageStorageSummary Get-MsixProcMonFailure Get-MsixPsfBinariesVersion Get-MsixPublisherId Get-MsixRequiredAppRuntimeChannel Get-MsixRunKeyEntry Get-MsixSdkToolsVersion Get-MsixShellContextMenuEntry Get-MsixStandardScript Get-MsixStaticAnalysis Get-MsixToolsRoot Get-MsixTraceFailure Get-MsixTraceOutput Get-MsixUninstallerCandidate Get-MsixUninstallRegistryEntry Get-MsixVcRuntimeReference Import-MsixAccelerator Initialize-MsixToolchain Install-MsixAppRuntime Install-MsixDebugView Install-MsixMgr Install-MsixProcMon Install-MsixPsfBinary Install-MsixSdkTool Invoke-MsixAccelerator Invoke-MsixAutoFix Invoke-MsixAutoFixFromAnalysis Invoke-MsixCommand Invoke-MsixContainerCommand Invoke-MsixInvestigation Invoke-MsixManifestTransform Invoke-MsixPipeline Invoke-MsixProcess Invoke-MsixProcMonCapture Invoke-MsixSelfSignAndDebug Invoke-MsixSigning Mount-MsixAppAttachImage New-MsixAppAttachImage New-MsixManifestDocument New-MsixMfrLocalRule New-MsixMfrTraditionalRule New-MsixPsfArgument New-MsixPsfConfig New-MsixPsfDynamicLibraryConfig New-MsixPsfEnvVarConfig New-MsixPsfFileRedirectionConfig New-MsixPsfJson New-MsixPsfMfrConfig New-MsixPsfRegLegacyConfig New-MsixPsfStartScriptConfig New-MsixPsfTraceConfig New-MsixPsfWaitForDebuggerConfig New-MsixSandboxConfig New-MsixSelfSignedCertificate New-MsixStandardScript New-MsixWorkspace Remove-MsixAppIsolation Remove-MsixDesktopShortcut Remove-MsixStartMenuEntry Remove-MsixUninstallerArtifact Resolve-MsixDebugViewPath Resolve-MsixMgrPath Resolve-MsixProcMonPath Save-MsixManifest Select-MsixManifestNode Select-MsixManifestNodes Set-MsixBrandMetadata Set-MsixFileSystemWriteVirtualization Set-MsixInstalledLocationVirtualization Set-MsixLogFile Set-MsixLogLevel Set-MsixManifestIdentity Set-MsixManifestMaxVersionTested Set-MsixManifestPublisher Set-MsixRegistryWriteVirtualization Set-MsixScriptSignature Set-MsixToolsRoot Start-MsixDebugSession Start-MsixSandbox Test-MsixAgainstLimitation Test-MsixAppAttachImage Test-MsixManifest Test-MsixPsfConfig Test-MsixSignature Update-MsixAppRuntime Update-MsixDebugView Update-MsixMgr Update-MsixPackageVersion Update-MsixProcMon Update-MsixPsfBinary Update-MsixSdkTool Update-MsixSigner Write-MsixLog
Dependencies
This module has no dependencies.
Release Notes
## v0.70.0
### Security hardening
- Authenticode verification for every downloaded toolchain binary
(PSF, Procmon, msixmgr, SDK tools) before use.
- SecureString for all signing/PFX secrets end-to-end. ConvertTo-SecureString
-AsPlainText -Force is banned; tests use ConvertTo-TestSecureString instead.
- Secret non-leakage: Get-MsixDebugRecommendation emits a Read-Host
-AsSecureString placeholder, never the real value. SignTool with -Pfx
now emits a -WarningVariable-capturable warning about cmdline exposure.
- XML hardening: all manifest loading via _MsixLoadXmlSecure
(DtdProcessing=Prohibit, MaxCharactersFromEntities=1MB). XXE and
billion-laughs payloads are rejected.
- powershell-yaml dependency removed; accelerator parser is a restricted
scalar-only implementation that cannot instantiate .NET objects from
untrusted YAML.
### Reliability & architecture
- Atomic pack-sign-move: Invoke-MsixPipeline packs to a scratch path,
signs at the scratch, then Move-Item to the target only on success.
UnsignedOutputPath preserves the scratch when signing fails.
- Consistent -WhatIf semantics across every mutating cmdlet.
- Pure manifest transforms: Invoke-MsixManifestTransform,
Set-MsixManifestPublisher, Set-MsixManifestIdentity (in-memory XML
only, no pack/sign).
- Three signing backends: SignTool (default), TrustedSigning,
AzureSignTool. PFX password is a SecureString throughout.
- offreg.dll integration: Get-MsixUninstallRegistryEntry,
Get-MsixShellContextMenuEntry, Get-MsixComServerEntry, and the
Remove-MsixUninstallerArtifact registry-cleanup path no longer
require elevation. reg.exe load (admin-only) replaced with the
Offline Registry API.
- Shell-extension context menus generated via the TMEditX-verified
desktop4 + desktop5 schema. New AppExecutionAlias autofix stage.
Alias inheritance from parent Application Executable.
### Documentation & testing
- EXAMPLES.md: 19 copy-paste recipes covering all major use cases.
- TEST-PLAN.md: 13 integration scenarios + release checklist.
- CONTRIBUTING.md: coding standards (SecureString hygiene, XML loading,
WhatIf semantics, Authenticode requirements).
- 230+ Pester tests; CI runs PSScriptAnalyzer (Error+Warning) and Pester
on every push/PR. All tests import via .psd1 (not .psm1).
Full release history: see CHANGELOG.md in the project repository.
FileList
- msix.nuspec
- .github\workflows\ci.yml
- .github\workflows\publish.yml
- CHANGELOG.md
- CONTRIBUTING.md
- EXAMPLES.md
- MSIX.Accelerator.ps1
- MSIX.AppAttach.ps1
- MSIX.AppData.ps1
- MSIX.AppIsolation.ps1
- MSIX.Compare.ps1
- MSIX.ContextMenu.ps1
- MSIX.Core.ps1
- MSIX.Debug.ps1
- MSIX.Detection.ps1
- MSIX.Functions.ps1
- MSIX.Heuristics.ps1
- MSIX.Investigation.ps1
- MSIX.Limitations.ps1
- MSIX.Logging.ps1
- MSIX.MFR.ps1
- MSIX.Manifest.ps1
- MSIX.ManifestExtensions.ps1
- MSIX.OfflineRegistry.ps1
- MSIX.PSF.ps1
- MSIX.Pipeline.ps1
- MSIX.PsfBinaries.ps1
- MSIX.Scripts.ps1
- MSIX.Signing.ps1
- MSIX.Tests\Invoke-MsixTests.ps1
- MSIX.Tests\MSIX.Accelerator.Tests.ps1
- MSIX.Tests\MSIX.AliasAutoFix.Tests.ps1
- MSIX.Tests\MSIX.AppIsolation.Tests.ps1
- MSIX.Tests\MSIX.Builders.Tests.ps1
- MSIX.Tests\MSIX.ContextMenuPlacement.Tests.ps1
- MSIX.Tests\MSIX.EdgeCases.Tests.ps1
- MSIX.Tests\MSIX.Heuristics.Tests.ps1
- MSIX.Tests\MSIX.Idempotency.Tests.ps1
- MSIX.Tests\MSIX.InputValidation.Tests.ps1
- MSIX.Tests\MSIX.InvokeProcess.Tests.ps1
- MSIX.Tests\MSIX.Limitations.Tests.ps1
- MSIX.Tests\MSIX.MFR.Tests.ps1
- MSIX.Tests\MSIX.Manifest.Tests.ps1
- MSIX.Tests\MSIX.ManifestExtensions.Tests.ps1
- MSIX.Tests\MSIX.ManifestTransform.Tests.ps1
- MSIX.Tests\MSIX.ModuleContract.Tests.ps1
- MSIX.Tests\MSIX.OfflineRegistry.Tests.ps1
- MSIX.Tests\MSIX.PsfAliasSync.Tests.ps1
- MSIX.Tests\MSIX.PureTransforms.Tests.ps1
- MSIX.Tests\MSIX.Recommendations.Tests.ps1
- MSIX.Tests\MSIX.RegLegacy.Tests.ps1
- MSIX.Tests\MSIX.Scripts.Tests.ps1
- MSIX.Tests\MSIX.SecretLeakage.Tests.ps1
- MSIX.Tests\MSIX.Toolchain.Tests.ps1
- MSIX.Tests\MSIX.Trace.Tests.ps1
- MSIX.Tests\MSIX.Validation.Tests.ps1
- MSIX.Tests\MSIX.WhatIf.Tests.ps1
- MSIX.Tests\MSIX.XmlSecurity.Tests.ps1
- MSIX.Tests\MSIX.v0_11.Tests.ps1
- MSIX.Tests\TestResults.xml
- MSIX.Trace.ps1
- MSIX.Validation.ps1
- MSIX.VcRuntime.ps1
- README.md
- TEST-PLAN.md
- docs\fixup-EnvVar.md
- docs\fixup-FileRedirection.md
- docs\fixup-RegLegacy.md
- docs\fixup-Trace.md
- docs\fixup-WorkingDirectory.md
- docs\know-your-installer.md
- docs\limitations.md
- msix.psd1
- msix.psm1
- templates\CleanupOldUserData.ps1.tmpl
- templates\CopyIconToAppData.ps1.tmpl
- templates\CreateShortcut.ps1.tmpl
- templates\CustomerSettingsBootstrap.ps1.tmpl
- templates\RegisterFileAssociation.ps1.tmpl
- todo.md