Introduction
The CAST Extension Downloader is a software application used in Graphical User Interface (GUI) mode bundled with CAST AIP. As its name suggests, it provides a convenient method for downloading extensions.
Where can I find the Extension Downloader?
The CAST Extension Downloader (ExtensionDownloader.exe) is part of CAST AIP Core and is installed by its setup. You can find it at the root of the CAST AIP Core installation folder.
GUI
Installed / Available / Updates
The options Installed / Available / Updates function as follows - clicking an option will refresh the content list (i.e. list of extensions):
Option | Description |
---|---|
Installed | This option displays all the extensions that have already been downloaded on to the local machine. Extensions are downloaded to: %PROGRAMDATA%\CAST\CAST\Extensions You can modify the download location as described in Download an extension. |
Available | This option displays all the extensions that are available on the CAST Extend server that have not already been downloaded to the local machine. |
Updates | This option displays all extensions that are available on the CAST Extend server that are a more recent version of an extension that has already been downloaded to the local machine. |
Preferences button
The Preferences button enables you to configure a new remote download server:
By default, various remote download servers will already be pre-programmed into the CAST Extension Downloader (as shown above). A tick in the check box next to the remote download server indicates that the server is being used (you can tick multiple remote download servers if necessary).
Adding a new remote download server
If you need to use an alternative CAST Extend server (such as CAST Extend Offline), then you can use this option to add it. Click New to add a new blank server - a new line will appear:
Select the blank server, and then enter the details for the new remote download server in the Name and Address fields:
The new server will be displayed in the list and will be ticked to indicate that it will be contacted.
Deleting an existing remote download server
To remove an existing remote download server:
- Select the server and click the Delete button to remove it:
Toolbar options
The two check boxes provide the following display filtering options:
Option | Description |
---|---|
Latest versions only | Displays only the latest version of a given extension - in other words an extension will only appear once in the list and this will be the most recent version of it. For example: if versions 1.0, 1.1 and 2.0 have been published on the server, only version 2.0 will be displayed. |
Long term support only | Displays only versions that have been released with Long Term Support. For example: if long term support versions 1.0, 1.1 and 2.0 have been published on the server as well as beta release 2.5, only 1.0, 1.1 and 2.0 will be displayed. See Release types for more information about the Long Term Support releases status. |
Search
Use the Search box to filter extensions by name in the display list. Any extensions containing the search string will be displayed.
Authentication
Note that you will require an account on the remote server to authenticate when using CAST Extend. You can find out about registering for an account in CAST Extend website.
Extension information
When an extension is selected in the display list, information about the extension is shown as in the example above:
- Author
- Dependencies (any extensions which will be downloaded at the same time)
- A brief description and a link to the documentation where applicable
- Tags to aid search
Troubleshooting
Unable to resolve dependency
In some situations you may not be able to download an extension (an error will state "Error Downloading <extension> <version>"). Typically this occurs when the extension you are attempting to download has a dependency to another extension, which must be downloaded first. If this is the case, the command window (which opens up in the background when using Extension Downloader) will indicate which dependent extension needs to be downloaded to resolve the issue:CLI
The CAST Extension Downloader (ExtensionDownloader.exe) can also function in command line mode as follows:
Command | Sub-command | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
[--server <uri>] | - | This option is used to specify either the server you want to connect to or a folder on disk which contains a .nupkg file. If you do not use this command (it is not mandatory), then the default CAST Extend server will always be used Remote Server For example https://extend.castsoftware.com:443/api Folder - note that this option is to be used if you have a raw .nupkg file that requires unpacking D:\USER_DATA\Downloads | ||||||||||
[--username <username>] | - | When connecting to a server that requires authentication (for example https://extend.castsoftware.com:443/api) to download an extension (with the install option), use these two options to specify your credentials. Note that you will require an account on the remote server to authenticate when using CAST Extend. You can find out about registering for an account in CAST Extend website. | ||||||||||
[--password <password>] | - | |||||||||||
list | available|installed|upgradable|all | Use this option to produce a list of the extensions as follows:
| ||||||||||
install | <extensionId> [--version <version>] [--ignore-dependencies] | Use this option to specify an extension that you want to download on to your machine. Note that you may also need to specify the --username and --password options if the remote server requires authentication
| ||||||||||
uninstall | extensionId [--version <version>] | Use this option to specify an extension that you have downloaded to your machine and that you now want to remove from your machine:
Note that:
Extension com.castsoftware.test version : 1.2.0-funcrel is not present on this machine, |
CLI examples
List all extensions that are available on the remote servers defined in the %programdata%\CAST\CAST\Extensions\ServerList.xml file that have not already been downloaded to the local machine:
ExtensionDownloader.exe list available
List all extensions that are available on a specific remote server that are a more recent version of an extension that has already been downloaded to the local machine:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/api list upgradable
Download the most recent version of a specific extension on a specific remote server with authentication:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/api --username JHU --password xxxxxx install com.castsoftware.test
Download a specific version of a specific extension on a specific remote server with authentication:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/api --username JHU --password xxxxxx install com.castsoftware.test --version 1.2.0-funcrel
Download a specific version of a specific extension on a specific remote server with authentication and do not download any dependencies:
ExtensionDownloader.exe --server https://extend.castsoftware.com:443/api --username JHU --password xxxxxx install com.castsoftware.test --version 1.2.0-funcrel --ignore-dependencies
Remove the most recent version of a specific extension from the local machine:
ExtensionDownloader.exe uninstall com.castsoftware.test
Remove a specific version of a specific extension from the local machine:
ExtensionDownloader.exe uninstall com.castsoftware.test --version 1.2.0-funcrel
Unpack a .nupkg file on disk
ExtensionDownloader.exe --server D:\USER_DATA\Downloads install com.castsoftware.test
CAST Extension Downloader local cache
The CAST Extension Downloader automatically creates a local cache of downloaded extensions in the following location on the local hard drive:
%LOCALAPPDATA%\NuGet\Cache
As a result, if you attempt to use the CAST Extension Downloader without credentials (in CLI mode), or with incorrect credentials (CLI or GUI mode) and the requested extension has already been downloaded and is present in the cache, the extension will be copied from the local cache to the extension download location (%PROGRAMDATA%\CAST\CAST\Extensions).