Install-PSResource / Save-PSResource do not process scripts with ExternalModuleDependencies from local path repositories
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
Also, the error message could mention the actual reason why script was not processed.
the script used in above tests is available in https://github.com/peetrike/scripts/blob/master/Send-PasswordNotification/Send-PasswordNotification.ps1