Install-Package (PackageManagement) - PowerShell (2024)

  • Reference
Module:
PackageManagement

Installs one or more software packages.

Syntax

Install-Package [-Name] <String[]> [-RequiredVersion <String>] [-MinimumVersion <String>] [-MaximumVersion <String>] [-Source <String[]>] [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName <String[]>] [<CommonParameters>]
Install-Package [-InputObject] <SoftwareIdentity[]> [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [<CommonParameters>]
Install-Package [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile <String>] [-SkipValidate] [-Headers <String[]>] [-FilterOnTag <String[]>] [-Contains <String>] [-AllowPrereleaseVersions] [-Destination <String>] [-ExcludeVersion] [-Scope <String>] [-SkipDependencies] [<CommonParameters>]
Install-Package [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile <String>] [-SkipValidate] [-Headers <String[]>] [-FilterOnTag <String[]>] [-Contains <String>] [-AllowPrereleaseVersions] [-Destination <String>] [-ExcludeVersion] [-Scope <String>] [-SkipDependencies] [<CommonParameters>]
Install-Package [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-AllowPrereleaseVersions] [-Scope <String>] [-PackageManagementProvider <String>] [-PublishLocation <String>] [-ScriptSourceLocation <String>] [-ScriptPublishLocation <String>] [-Type <String>] [-Filter <String>] [-Tag <String[]>] [-Includes <String[]>] [-DscResource <String[]>] [-RoleCapability <String[]>] [-Command <String[]>] [-AcceptLicense] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [<CommonParameters>]
Install-Package [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-AllowPrereleaseVersions] [-Scope <String>] [-PackageManagementProvider <String>] [-PublishLocation <String>] [-ScriptSourceLocation <String>] [-ScriptPublishLocation <String>] [-Type <String>] [-Filter <String>] [-Tag <String[]>] [-Includes <String[]>] [-DscResource <String[]>] [-RoleCapability <String[]>] [-Command <String[]>] [-AcceptLicense] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [<CommonParameters>]

Description

The Install-Package cmdlet installs one or more software packages on the local computer. If youhave multiple software sources, use Get-PackageProvider and Get-PackageSource to display detailsabout your providers.

Important

The commands contained in the PackageManagement module are different than the commandsprovided by the NuGet module in the Package Manager Console of Visual Studio. Each module hascommands that are not available in the other. Commands with the same name differ in their specificarguments. For more information, see the PowerShell reference documentation for thePackage Manager Console of Visual Studio.

Examples

Example 1: Install a package by package name

The Install-Package cmdlet installs a software package and its dependencies.

PS> Install-Package -Name NuGet.Core -Source MyNuGet -Credential Contoso\TestUser

Install-Package uses parameters to specify the packages Name and Source. TheCredential parameter uses a domain user account with permissions to install packages. Thecommand prompts you for the user account password.

Example 2: Use Find-Package to install a package

In this example, the object returned by Find-Package is sent down the pipeline and installed byInstall-Package.

PS> Find-Package -Name NuGet.Core -Source MyNuGet | Install-Package

Find-Package uses the Name and Source parameters to locate a package. The object is sentdown the pipeline and Install-Package installs the package on the local computer.

Example 3: Install packages by specifying a range of versions

Install-Package uses the MinimumVersion and MaximumVersion parameters to specify a rangeof software versions.

PS> Install-Package -Name NuGet.Core -Source MyNuGet -MinimumVersion 2.8.0 -MaximumVersion 2.9.0

Install-Package uses the Name and Source parameters to find a package. TheMinimumVersion and MaximumVersion parameters specify a range of software versions. Thehighest version in the range is installed.

Parameters

-AcceptLicense

AcceptLicense automatically accepts the license agreement during installation.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowClobber

Overrides warning messages about conflicts with existing commands. Overwrites existing commands thathave the same name as commands being installed.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrereleaseVersions

Allows the installation of packages marked as prerelease.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllVersions

Install-Package installs all available versions of the package. By default, only the newestversion is installed.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Command

Specifies one or more commands that Install-Package searches.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConfigFile

Specifies a path that contains a configuration file.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Contains

Install-Package gets objects if the Contains parameter specifies a value that matches any ofthe object's property values.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifies a user account that has permission to access the computer and run commands. Type a username, such as User01, Domain01\User01, or enter a PSCredential object, generated by theGet-Credential cmdlet. If you type a user name, you're prompted for a password.

When the Credential parameter isn't specified, Install-Package uses the current user.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Destination

Specifies a path to an input object.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DscResource

Specifies one or more Desired State Configuration (DSC) resources that are searched byInstall-Package. Use the Find-DscResource cmdlet to find DSC resources.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExcludeVersion

Switch to exclude the version number in the folder path.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Specifies terms to search for within the Name and Description properties.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilterOnTag

Specifies a tag that filters results and excludes results that don't contain the specified tag.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation. Overrides restrictions that preventInstall-Package from succeeding, with the exception of security.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceBootstrap

Forces PackageManagement to automatically install the package provider for the specifiedpackage.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Headers

Specifies the package headers.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Includes

Specifies whether Install-Package should find all package types. The acceptable values for thisparameter are as follows:

  • Cmdlet
  • DscResource
  • Function
  • RoleCapability
  • Workflow
Type:String[]
Accepted values:Cmdlet, DscResource, Function, RoleCapability, Workflow
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Accepts pipeline input. Specifies a package by using the package's SoftwareIdentity type.Find-Package outputs a SoftwareIdentity object.

Type:Microsoft.PackageManagement.Packaging.SoftwareIdentity[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstallUpdate

Indicates that Install-Package installs updates.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumVersion

Specifies the maximum allowed package version that you want to install. If you don't specify thisparameter, Install-Package installs the package's newest version.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumVersion

Specifies the minimum allowed package version that you want to install. If you don't add thisparameter, Install-Package installs the package's newest version that satisfies any versionspecified by the MaximumVersion parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifies one or more package names. Multiple package names must be separated by commas.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NoPathUpdate

NoPathUpdate only applies to the Install-Script cmdlet. NoPathUpdate is a dynamicparameter added by the provider and isn't supported by Install-Package.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageManagementProvider

Specifies the name of the PackageManagement provider.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProviderName

Specifies one or more package provider names to which to scope your package search. You can getpackage provider names by running the Get-PackageProvider cmdlet.

Type:String[]
Aliases:Provider
Accepted values:Bootstrap, NuGet, PowerShellGet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Proxy

Specifies a proxy server for the request, rather than connecting directly to an internet resource.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyCredential

Specifies a user account that has permission to use the proxy server specified by the Proxyparameter.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublishLocation

Specifies the path to a package's published location.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Specifies the exact allowed version of the package that you want to install. If you don't add thisparameter, Install-Package installs the package's newest version that satisfies any versionspecified by the MaximumVersion parameter.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RoleCapability

Specifies an array of role capabilities.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Specifies the scope for which to install the package. The acceptable values for this parameter areas follows:

  • CurrentUser
  • AllUsers
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptPublishLocation

Specifies the path to a script's published location.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptSourceLocation

Specifies the script source location.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencies

Skips the installation of software dependencies.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Allows you to get a package version that is newer than your installed version. For example, aninstalled package that is digitally signed by a trusted publisher but a new version isn't digitallysigned.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipValidate

Switch that skips validating the credentials of a package.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

Specifies one or more package sources. Multiple package source names must be separated by commas.You can get package source names by running the Get-PackageSource cmdlet.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Tag

Specifies one or more strings to search for in the package metadata.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Type

Specifies whether to search for packages with a module, a script, or both. The acceptable values forthis parameter are as follows:

  • Module
  • Script
  • All
Type:String
Accepted values:Module, Script, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if Install-Package cmdlet is run. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.PackageManagement.Packaging.SoftwareIdentity

You can pipe a SoftwareIdentity object to this cmdlet.

Outputs

Microsoft.PackageManagement.Packaging.SoftwareIdentity

This cmdlet returns a SoftwareIdentity object for each package it installs.

Notes

Including a package provider in a command can make dynamic parameters available to a cmdlet. Dynamicparameters are specific to a package provider. The Get-Help cmdlet lists a cmdlet's parameter setsand includes the provider's parameter set. For example, Install-Package has the PowerShellGetparameter set that includes -NoPathUpdate, AllowClobber, and SkipPublisherCheck.

Important

As of April 2020, the PowerShell Gallery no longer supports Transport Layer Security (TLS)versions 1.0 and 1.1. If you are not using TLS 1.2 or higher, you will receive an error whentrying to access the PowerShell Gallery. Use the following command to ensure you are using TLS1.2:

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

For more information, see theannouncement in thePowerShell blog.

  • about_PackageManagement
  • Find-DscResource
  • Get-Help
  • Get-Package
  • Get-PackageProvider
  • Get-PackageSource
  • Find-Package
  • Save-Package
  • Uninstall-Package
Install-Package (PackageManagement) - PowerShell (2024)
Top Articles
Latest Posts
Article information

Author: Msgr. Refugio Daniel

Last Updated:

Views: 5922

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Msgr. Refugio Daniel

Birthday: 1999-09-15

Address: 8416 Beatty Center, Derekfort, VA 72092-0500

Phone: +6838967160603

Job: Mining Executive

Hobby: Woodworking, Knitting, Fishing, Coffee roasting, Kayaking, Horseback riding, Kite flying

Introduction: My name is Msgr. Refugio Daniel, I am a fine, precious, encouraging, calm, glamorous, vivacious, friendly person who loves writing and wants to share my knowledge and understanding with you.