PSResourceGet icon indicating copy to clipboard operation
PSResourceGet copied to clipboard

Scripts installed using `Save-PSResource -IncludeXml` are not discoverable by `Get-InstalledPSResource -Path`

Open o-l-a-v 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

Scripts installed with Save-PSResource -IncludeXml are not discoverable by Get-InstalledPSResource -Path.

Observed difference in behavior:

  • Save-PSResource -IncludeXml adds <script_name>_InstalledScriptInfo.xml to the same directory as the script itself.
  • Install-PSResource creates a directory InstalledScriptInfos where <script_name>_InstalledScriptInfo.xml is added.

I use Save-PSResource because Install-PSResource installs to OneDrive when known folder move (KFM) is enabled, and Install-PSResource has no override capabilities.

  • https://github.com/PowerShell/PSResourceGet/issues/627

Reproduce:

# Create unique $InstallPath
$InstallPath = [string] '{0}\{1}' -f [System.Environment]::GetFolderPath('Desktop'), [datetime]::Now.ToString('yyyyMMddhhMMss')

# Create path
if (-not [System.IO.Directory]::Exists($InstallPath)) {
    $null = [System.IO.Directory]::CreateDirectory($InstallPath)
}

# Save a module and a script
Save-PSResource -Repository 'PSGallery' -TrustRepository -IncludeXml -Path $InstallPath -Name 'Az.Accounts'
Save-PSResource -Repository 'PSGallery' -TrustRepository -IncludeXml -Path $InstallPath -Name 'Get-WindowsAutoPilotInfo'

# List contents of $InstallPath
Get-ChildItem -Path $InstallPath

# Find installed PSResources
Get-InstalledPSResource -Path $InstallPath

Expected behavior

Modules "installed" using Save-PSResource is discoverable by Get-InstalledPSResource -Path, so should scripts be.

Actual behavior

See expected behavior.

Error details

No error message.

Environment data

  • Windows 11
  • PowerShell v7.3.8
  • Microsoft.PowerShell.PSResourceGet v1.0.0

Visuals

image

o-l-a-v avatar Oct 16 '23 20:10 o-l-a-v

Tested moving the XML files to the InstalledScriptInfos directory myself, but scripts were still not discoverable by Get-InstalledPSResource -Path.

I'll be using [Microsoft.PowerShell.PSResourceGet.UtilClasses.TestHooks]::ReadPSGetResourceInfo('<path_to_xml>') for now.

o-l-a-v avatar Oct 17 '23 08:10 o-l-a-v

Thanks @o-l-a-v we were able to repro this and will fix it in on of the upcoming releases.

alerickson avatar Oct 24 '23 18:10 alerickson