Skip to content

InstallHelper: ParseModuleManifest writes error for Manifests with Dynamic script blocks #533

@anamnavi

Description

@anamnavi

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest released version
  • Search the existing issues.

Steps to reproduce

Install-PSResource -Name "TestModuleManifestWithIfStatement"
Install-PSResource -Name "ExchangeOnlineManagement"

Both of these will fail because the (Hashtable)data.SafeGetValue() for the ast created from the ModuleManifest fails in Utils.TryParseModuleManifest().

Install-PSResource: Unable to successfully install package 'TestModuleManifestWithIfStatement': 'Cannot generate a PowerShell object for a ScriptBlock evaluating dynamic expressions. Dynamic expression: @{
ModuleVersion = '1.0'
GUID = 'e4da48d8-20df-4d58-bfa6-2e54486fca5b'
Author = 'manikb'
CompanyName = 'Microsoft'
Copyright = '(c) 2015 dagrala. All rights reserved.'
Description = "This is a test module description"
PowerShellVersion = '2.0'
RequiredAssemblies = @()
NestedModules = @()
FunctionsToExport = if($PSEdition -eq 'Desktop') { 'Function1' } else { 'Function2' }
CmdletsToExport = @('Get-Test', 'Set-Test')
VariablesToExport = ''
AliasesToExport = '
'
PrivateData = @{
PSData = @{
Tags = @('tag1')
LicenseUri = 'http://this.is.test.license.com'
ProjectUri = 'http://github.com/TestModule'
ReleaseNotes = 'This is our best release so far.'
}
Test = $true
DoNotTest = $false
}
}.'

Expected behavior

It should install the resources

Actual behavior

It writes an error as shown above.

Error details

No response

Environment data

PSGet: 3.0.11

$PSVersionTable:
Name                           Value
----                           -----
PSVersion                      7.1.4
PSEdition                      Core
GitCommitId                    7.1.4
OS                             Microsoft Windows 10.0.22000
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Visuals

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions