PSResourceGet icon indicating copy to clipboard operation
PSResourceGet copied to clipboard

Install-PSResource / Save-PSResource do not process scripts with ExternalModuleDependencies from local path repositories

Open peetrike opened this issue 2 years ago • 2 comments

Prerequisites

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

Steps to reproduce

When trying to install or save script with required module (like ActiveDirectory) which is also included in EXTERNALMODULEDEPENDENCIES metadata field, the cmdlet complains in verbose output about module not available in repository.

At the same time, when the same script ins in PSGallery, there is no problem installing/saving script.

Expected behavior

PS > find-psresource send-passwordnotification -Repository PSGallery | Install-PSResource
# installation succeeds

PS > find-psresource send-passwordnotification -Repository PSGallery | Save-PSResource -Path c:\downloads
# saving succeeds

Actual behavior

PS > find-psresource send-passwordnotification -Repository test | Install-PSResource
Install-PSResource: Package(s) 'Send-PasswordNotification' could not be installed from repository 'test'.

PS > find-psresource send-passwordnotification -Repository test | Save-PSResource -Path c:\downloads
Save-PSResource: Package(s) 'Send-PasswordNotification' could not be installed from repository 'test'.

PS ❯ Get-PSResourceRepository test

Name  Uri                                    Trusted Priority
----  ---                                    ------- --------
test  file:///C:/Projects/Repositories/test/ False   50

Required modules also mentioned in EXTERNALMODULEDEPENDENCIES metadata field should not be searched from local repository.

Error details

Verbose output for both commands has message:

VERBOSE: Package with name ActiveDirectory could not be found in repository 'test'.

Environment data

PSResourceGet: 1.0.0 PowerShell: 7.3.9, 5.1

Visuals

No response

peetrike avatar Nov 01 '23 17:11 peetrike

Also, the error message could mention the actual reason why script was not processed.

peetrike avatar Nov 01 '23 17:11 peetrike

the script used in above tests is available in https://github.com/peetrike/scripts/blob/master/Send-PasswordNotification/Send-PasswordNotification.ps1

peetrike avatar Nov 01 '23 17:11 peetrike