Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Ensure-Package

Ensures that the specified universal package is installed in the specified directory.

Script usage:

ProGet::Ensure-Package(
	[PackageSource: <text>],
	Name: <text>,
	[Version: <text>],
	[To: <text>],
	[ClearTarget: <true/false>],
	[Exists: <true/false>],
	[LocalRegistry: <integer>],
	[LocalCache: <true/false>],
	[FileCompare: <integer>],
	[Ignore: <@(text)>],
	[DirectDownload: <true/false>],
	[Feed: <text>],
	[EndpointUrl: <text>],
	[UserName: <text>],
	[Password: <text>],
	[ApiKey: <text>],
	[FeedUrl: <text>]
);

Arguments:

NameFormatScript UsageUsage Notes
Package source
text
PackageSource
Package name
text
Name
This argument is required.
Package version
text
Version
Default value is "latest".
Target directory
text
To
The directory path on disk of the package contents. Default value is "$WorkingDirectory".
Clear target directory
true/false
ClearTarget
Exists
true/false
Exists
Default value is "True".
Use Local Registry
integer
LocalRegistry
Default value is "Machine".
LocalCache
true/false
LocalCache
Cache Package. Default value is "False".
Compare files
integer
FileCompare
Default value is "FileSize".
Ignore
@(text)
Ignore
See KB#1119 to learn more about masking syntax. Value note: "compare all files".
Direct download
true/false
DirectDownload
Set this to value to false if your remote server doesn't have direct access to the ProGet feed. Default value is "True".
Feed name
text
Feed
Not specifying will "Use Feed from package source".
API endpoint URL
text
EndpointUrl
Not specifying will "Use URL from package source".
ProGet user name
text
UserName
The name of a user in ProGet that can access this feed. Not specifying will "Use user name from package source".
ProGet password
text
Password
The password of a user in ProGet that can access this feed. Not specifying will "Use password from package source".
ProGet API Key
text
ApiKey
An API Key that can access this feed. Not specifying will "Use API Key from package source".
FeedUrl
text
FeedUrl

Note: To determine if a package is installed, the local package registry and package files are both checked. You can control these with LocalRegistry and FileCompare options.

Example:

#Ensure that FooBarApp is Installed
ProGet::Ensure-Package
(
    From: MyPackageSource,
    Name: FooBarApp,
    Version: $FooBarVersion,
    To: D:\WebApps\FooBar.App,
    Ignore: web.config
);