Enable building of msix 8000 package#9289
Conversation
tools/releaseBuild/Images/microsoft_powershell_windowsservercore/Dockerfile
Outdated
Show resolved
Hide resolved
also fixed the search for makeappx when running locally
|
We would probably want to add the following XML elements to the manifest: <Properties>
<desktop6:RegistryWriteVirtualization>disabled</desktop6:RegistryWriteVirtualization>
</Properties>
<!-- other content... -->
<Capabilities>
<rescap:Capability Name="unvirtualizedResources" />
</Capabilities>This will instruct Windows to allow the packaged copy of PowerShell to modify the system Registry directly. Without it, PowerShell's Registry manipulation features will not function properly (the changes will be visible only to PowerShell), vastly impairing the usefulness of the program. Note that users will need to be running 19H1 for this to work. The use of the desktop6 namespace should not impair loading of the package on downlevel versions of Windows 10 (assuming |
|
@wjk Thanks for that snippet! That should resolve the issue I see with using the registry provider from the msix. Will update the manifest. |
|
@wjk With those additions, it doesn't fix some issues with the msix package in that |
fix packaging to create resources.pri so that taskbar icon doesn't have background border fix naming of package to align with msi package
|
@SteveL-MSFT Unfortunately, I'm not running 19H1 yet, so I can’t help debug your HKLM issue. It seems really weird that some of the registry cmdlets would work, but others don’t. Do you see an error message, or do the changes simply silently fail? |
|
@wjk Getting an PSMessageDetails :
Exception : System.Security.SecurityException: Requested registry access is not allowed.
at Microsoft.Win32.ThrowHelper.ThrowSecurityException(String msg)
at Microsoft.Win32.RegistryKey.InternalOpenSubKeyCore(String name, Boolean writable,
Boolean throwOnPermissionFailure)
at Microsoft.PowerShell.Commands.RegistryWrapper.OpenSubKey(String name, Boolean writable)
at Microsoft.PowerShell.Commands.RegistryProvider.GetRegkeyForPath(String path, Boolean
writeAccess)
at Microsoft.PowerShell.Commands.RegistryProvider.CopyRegistryKey(IRegistryWrapper key,
String path, String destination, Boolean recurse, Boolean streamResult, Boolean
streamFirstOnly)
at Microsoft.PowerShell.Commands.RegistryProvider.CopyItem(String path, String destination,
Boolean recurse)
TargetObject : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\test\test
CategoryInfo : PermissionDenied: (HKEY_LOCAL_MACHINE\\u2026erShell\3\test\test:String) [Copy-Item],
SecurityException
FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.CopyItemCommand
ErrorDetails :
InvocationInfo : System.Management.Automation.InvocationInfo
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1} |
| </Properties> | ||
|
|
||
| <Dependencies> | ||
| <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.17763.0" /> |
There was a problem hiding this comment.
I tried the msix on 1803 and it didn't install understand msix, I think it only supports .appx.
There was a problem hiding this comment.
Not quite related, but FYI
https://github.com/Microsoft/msix-packaging/tree/master/preview/Win7Msix
There was a problem hiding this comment.
We can update the version information once we verify it'll work on those versions.
tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1
Outdated
Show resolved
Hide resolved
|
@SteveL-MSFT, your last commit had 1 failures in Expected $null, but got 'Microsoft.PowerShell.Core_00000000-0000-0000-0000-000000000000_en-US_HelpContent.zip'.
at <ScriptBlock>, /Users/vsts/agent/2.149.2/work/1/s/test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1: line 332
332: $expectedCompressedFile | Should -Be $compressedFile |
|
@PoshChan please retry macos |
|
@SteveL-MSFT, successfully started retry of |
Add support in packaging.psm1 to produce a .msix AppX package. Update the docker image to use the new msix package type. Update the associated yml files so AzDevOps performs the build. ## PR Context Enable publishing PSCore6 to Microsoft Store
PR Summary
Add support in packaging.psm1 to produce a .msix AppX package. Update the docker image to use the new msix package type. Update the associated yml files so AzDevOps performs the build.
PR Context
Enable publishing PSCore6 to Microsoft Store
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.