Skip to content

[Bug]: Expand-CabArchive Fails on Server Core #898

@ch0nx

Description

@ch0nx

What happened?

The Expand-CabArchive function used in the MicrosoftPowerAutomateDesktop app relies on shell-specific methods that are not included on Server Core, resulting in the errors attached.

Since Server Core does not come with GUI packages, the potential fix for this would be to just use expand instead.

Version

2511.2826.0

What PowerShell edition/s are you running Evergreen on?

PowerShell Core

Which operating system/s are you running Evergreen on?

Windows Server 2016+

Have you reviewed the documentation?

Verbose output

Verbose output:

VERBOSE: Function path: 
C:\Users\ContainerAdministrator\AppData\Local\Evergreen\Apps\Get-MicrosoftPowerAutomateDesktop.ps1
VERBOSE: Function exists: 
C:\Users\ContainerAdministrator\AppData\Local\Evergreen\Apps\Get-MicrosoftPowerAutomateDesktop.ps1.
VERBOSE: Dot sourcing: 
C:\Users\ContainerAdministrator\AppData\Local\Evergreen\Apps\Get-MicrosoftPowerAutomateDesktop.ps1.
VERBOSE: Get-FunctionResource: read application resource strings from 
[C:\Users\ContainerAdministrator\AppData\Local\Evergreen\Manifests\MicrosoftPowerAutomateDesktop.json]
VERBOSE: Calling: Get-MicrosoftPowerAutomateDesktop.
VERBOSE: Resolve-SystemNetWebRequest: Attempting to resolve: https://go.microsoft.com/fwlink/?linkid=2166902.
VERBOSE: Resolve-SystemNetWebRequest: Resolved to: 
[https://download.microsoft.com/download/7cafa178-38d4-419b-8827-1b122c5fbaf4/PADUpdate.json.cab].
VERBOSE: Get-Architecture: Architecture not found in 
https://download.microsoft.com/download/7cafa178-38d4-419b-8827-1b122c5fbaf4/PADUpdate.json.cab, defaulting to x86.
VERBOSE: Get-FileType: found extension: [cab]
VERBOSE: Get-MicrosoftPowerAutomateDesktop: Resolved update URL: 
https://download.microsoft.com/download/7cafa178-38d4-419b-8827-1b122c5fbaf4/PADUpdate.json.cab.
VERBOSE: Save-File: Using save path: <REMOVED>.
VERBOSE: GET https://download.microsoft.com/download/7cafa178-38d4-419b-8827-1b122c5fbaf4/PADUpdate.json.cab with 
0-byte payload
VERBOSE: received 10686-byte response of content type application/octet-stream
WARNING: Run 'Get-EvergreenApp -Name "MicrosoftPowerAutomateDesktop" -Verbose' to review additional details for 
troubleshooting.



Error output:

PSMessageDetails      : 
Exception             : System.Management.Automation.RuntimeException: Failed to expand CAB file. Error HRESULT E_FAIL 
                        has been returned from a call to a COM component.
TargetObject          : Failed to expand CAB file. Error HRESULT E_FAIL has been returned from a call to a COM 
                        component.
CategoryInfo          : OperationStopped: (Failed to expan... COM component.:String) [], RuntimeException
FullyQualifiedErrorId : Failed to expand CAB file. Error HRESULT E_FAIL has been returned from a call to a COM 
                        component.
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Expand-CabArchive, C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Modules\Everg
                        reen\2511.2826.0\Private\Expand-CabArchive.ps1: line 27
                        at Get-MicrosoftPowerAutomateDesktop, C:\Users\ContainerAdministrator\AppData\Local\Evergreen\A
                        pps\Get-MicrosoftPowerAutomateDesktop.ps1: line 28
                        at Get-EvergreenApp<Process>, C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Modul
                        es\Evergreen\2511.2826.0\Public\Get-EvergreenApp.ps1: line 94
                        at <ScriptBlock>, <REMOVED FROM LOG>: 
                        line 98
                        at <ScriptBlock>, <REMOVED FROM LOG>: line 4
                        at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}

PSMessageDetails      : 
Exception             : System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been 
                        returned from a call to a COM component.
                           at System.Management.Automation.ComInterop.ComRuntimeHelpers.CheckThrowException(Int32 
                        hresult, ExcepInfo& excepInfo, ComMethodDesc method, Object[] args, UInt32 argErr)
                           at CallSite.Target(Closure , CallSite , ComObject , Object )
                           at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 
                        arg1)
                           at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 
                        arg1)
                           at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 
                        arg1)
                           at System.Management.Automation.Interpreter.DynamicInstruction`3.Run(InterpretedFrame frame)
                           at 
                        System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame 
                        frame)
TargetObject          : 
CategoryInfo          : OperationStopped: (:) [], COMException
FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Expand-CabArchive, C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Modules\Everg
                        reen\2511.2826.0\Private\Expand-CabArchive.ps1: line 18
                        at Get-MicrosoftPowerAutomateDesktop, C:\Users\ContainerAdministrator\AppData\Local\Evergreen\A
                        pps\Get-MicrosoftPowerAutomateDesktop.ps1: line 28
                        at Get-EvergreenApp<Process>, C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Modul
                        es\Evergreen\2511.2826.0\Public\Get-EvergreenApp.ps1: line 94
                        at <ScriptBlock>, <REMOVED FROM LOG>: 
                        line 98
                        at <ScriptBlock>, <REMOVED FROM LOG>: line 4
                        at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}

PSMessageDetails      : 
Exception             : System.Management.Automation.RuntimeException: Cannot index into a null array.
                           at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext 
                        funcContext, Exception exception)
                           at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame 
                        frame)
                           at 
                        System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame 
                        frame)
                           at 
                        System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame 
                        frame)
TargetObject          : 
CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : NullArray
ErrorDetails          : 
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Resolve-MicrosoftFwLink<Process>, C:\Users\ContainerAdministrator\Documents\WindowsPowerShel
                        l\Modules\Evergreen\2511.2826.0\Shared\Resolve-MicrosoftFwLink.ps1: line 38
                        at Get-MicrosoftPowerAutomateDesktop, C:\Users\ContainerAdministrator\AppData\Local\Evergreen\A
                        pps\Get-MicrosoftPowerAutomateDesktop.ps1: line 20
                        at Get-EvergreenApp<Process>, C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Modul
                        es\Evergreen\2511.2826.0\Public\Get-EvergreenApp.ps1: line 94
                        at <ScriptBlock>, <REMOVED FROM LOG>: 
                        line 98
                        at <ScriptBlock>, <REMOVED FROM LOG>: line 4
                        at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions