lipkau / PsIni

Work with INI files in PowerShell using hashtables
http://lipkau.github.io/PsIni
MIT License
151 stars 49 forks source link

Installation of v3.1.2 fails #53

Open monemihir opened 4 years ago

monemihir commented 4 years ago

The installation of the latest version fails for me. See error below:

C:\Temp\> Install-Module PsIni -Force
WARNING: Source Location 'https://www.powershellgallery.com/api/v2/package/PsIni/3.1.2' is not valid.
PackageManagement\Install-Package : Package 'PsIni' failed to download.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (C:\Users\mihirm...Ini\PsIni.nupkg:String) [Install-Package], Excep
   tion
    + FullyQualifiedErrorId : PackageFailedInstallOrDownload,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPac
   kage

Has anyone seen this before and/or know how to fix this?

EliaSaSe commented 4 years ago

Hello moneihir,

You may want to execute the command with the -Verbose argument to get more details. I'm able to install this version. Shown bellow to compare:

PS C:\WINDOWS\system32> Install-Module PsIni -Verbose -Repository PSGallery -Force
VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted =
'True'; IsRegistered = 'True'.
VERBOSE: Using the provider 'PowerShellGet' for searching packages.
VERBOSE: Using the specified source names : 'PSGallery'.
VERBOSE: Getting the provider object for the PackageManagement Provider 'NuGet'.
VERBOSE: The specified Location is 'https://www.powershellgallery.com/api/v2/' and PackageManagementProvider is
'NuGet'.
VERBOSE: Searching repository 'https://www.powershellgallery.com/api/v2/FindPackagesById()?id='PsIni'' for ''.
VERBOSE: Total package yield:'1' for the specified package 'PsIni'.
VERBOSE: Performing the operation "Install-Module" on target "Version '3.1.2' of module 'PsIni'".
VERBOSE: The installation scope is specified to be 'AllUsers'.
VERBOSE: The specified module will be installed in 'C:\Program Files\WindowsPowerShell\Modules'.
VERBOSE: The specified Location is 'NuGet' and PackageManagementProvider is 'NuGet'.
VERBOSE: Downloading module 'PsIni' with version '3.1.2' from the repository
'https://www.powershellgallery.com/api/v2/'.
VERBOSE: Searching repository 'https://www.powershellgallery.com/api/v2/FindPackagesById()?id='PsIni'' for ''.
VERBOSE: InstallPackage' - name='PsIni', version='3.1.2',destination='C:\Users\ese\AppData\Local\Temp\48258912'
VERBOSE: DownloadPackage' - name='PsIni',
version='3.1.2',destination='C:\Users\...\AppData\Local\Temp\48258912\PsIni\PsIni.nupkg',
uri='https://www.powershellgallery.com/api/v2/package/PsIni/3.1.2'
VERBOSE: Downloading 'https://www.powershellgallery.com/api/v2/package/PsIni/3.1.2'.
VERBOSE: Completed downloading 'https://www.powershellgallery.com/api/v2/package/PsIni/3.1.2'.
VERBOSE: Completed downloading 'PsIni'.
VERBOSE: Hash for package 'PsIni' does not match hash provided from the server.
VERBOSE: InstallPackageLocal' - name='PsIni', version='3.1.2',destination='C:\Users\ese\AppData\Local\Temp\48258912'
VERBOSE: Catalog file 'PsIni.cat' is not found in the contents of the module 'PsIni' being installed.
VERBOSE: For publisher validation, current module 'PsIni' with version '3.1.2' with publisher name ''. Is this module
signed by Microsoft: 'False'.
VERBOSE: For publisher validation, using the previously-installed module 'PsIni' with version '3.1.2' under 'C:\Program
 Files\WindowsPowerShell\Modules\PsIni\3.1.2' with publisher name ''. Is this module signed by Microsoft: 'False'.
VERBOSE: Module 'PsIni' was installed successfully to path 'C:\Program Files\WindowsPowerShell\Modules\PsIni\3.1.2'.
monemihir commented 4 years ago

Thanks, I've resolved the issue. Turns out that TLS1.2 needs to now be used for installing powershell modules after a recent update.

Added this line above the Install-Module command it worked.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12