Skip to content

Module Manifest/Nuspec Version Mismatch #161

@jyonke

Description

@jyonke

Describe the bug
Installing cChoco outside of the PSGallery results in an invalid module being installed

To Reproduce
Steps to reproduce the behavior:

  1. Download the raw nupkg from the PSGallery.
  2. Upload to internal hosted repository (ex: Sonatype Nexus - Nuget v2).
  3. Register internal PowerShell repository .
  4. Install cChoco Module from internal repository.
  5. Import Module or Get-DSCResource

Expected behavior
The Module imports with the proper version and is recognized as a valid DSCResource

Software (please complete the following information):

  • OS: Microsoft Windows 10 20H2 19042.1237
  • PowerShell Version: 5.1.19041. 1237
  • PowerShellGet Module: 1.0.0.1

Additional context
This seems to be a result of the NuGet standards omitting the 4th version identifier if it is 0. The result is the wrong path being created when installing the module and then when importing the path and module manifest versions are not matched. If the Module Manifest is modified to version 2.5.0 or the path is updated to 2.5.0.0 the module imports as expected. A potential fix would be to limit the module manifest version to major.minor.patch if the revision value is 0, or increment the revision value to major.minor.patch.1 as the minimum version at build time.

https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#normalized-version-numbers

Screenshots

Results From Internal Repository
Internal Install

Results from PSGallery
PSGallery Install

Import with Updated Module Manifest
Import - Updated psd1

Current Module Manifest
2 5 0 0 psd1

Current Nuspec
2 5 0 Nuspec

Metadata

Metadata

Assignees

No one assigned

    Labels

    0 - TriagingIssue is accepted, but a milestone has yet to be added for the issue.BugIssues where something has happened which was not expected or intended.Up For GrabsIssues that are available by the community to work on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions