Mono.Addins.Setup
An IAddinInstaller implementation which interacts with the user through the console
Initializes a new instance of the class.
Gets or sets whether the installer can ask questions to the user
Log level (0:normal, 1+:verbose);
An add-in package
Creates a package object for an add-in available in an on-line repository
An add-in reference
The package
Creates a package object for a local package file
Package file path
The package
Name of the package
Returns true if the package will be installed in the shared directory,
false if it will be installed in the user directory.
A reference to an add-in available in an on-line repository
Begins downloading a support file
Result of the asynchronous operation, to be used when calling EndDownloadSupportFile to
get the download result.
Name of the file.
Callback to be called when the download operation ends.
Custom state object provided by the caller.
This method can be used to get the contents of a support file of an add-in.
A support file is a file referenced in the custom properties of an add-in.
Gets the result of the asynchronous download of a file
The downloaded file.
The async result object returned by BeginDownloadSupportFile.
Add-in information
Url to the add-in package
The URL of the repository
Name of the repository
An installation exception
Initializes the exception
Error message
Initializes the exception
Error message
Inner exception
A command line add-in manager.
This class can be used to provide an add-in management command line tool to applications.
Creates a new instance
Add-in registry to manage.
Runs the command line tool.
Array that contains the command line arguments
Index of the arguments array that has the first argument for the management tool
0 if it succeeds. != 0 otherwise
Runs the command line tool.
Command line arguments
0 if it succeeds. != 0 otherwise
Adds a custom command to the add-in manager
Category under which the command has to be shown in the help text
Name of the command
Short name of the command (it's an alias of the normal name)
Formal description of the arguments that the command accepts. For example: "[addin-id|addin-file] [--xml] [--all] [--full] [--namespace <namespace>]"
Short description of the command
Long description of the command
Delegate to be invoked to run the command
Prints help about the add-in management tool, or about a specific command
Optional command name and arguments
Display name of the host application
Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace
will be shown in add-in lists.
Enables or disables verbose output
Sets or gets the verbose output level (0: normal output, 1:verbose, 2+:extra verbose)
A command handler
A collection of packages
Initializes a new instance of the class.
Copy constructor
Collection where to copy from
Adds a package
A package
Checks if a package is present in the collection
The package
True if the package is preent
Adds a list of packages to the collection
The list of packages to add
Gets a package
Package index
Basic add-in information
Compares the versions of two add-ins
Another add-in
Result of comparison
Full identifier of the add-in
Display name of the add-in
Namespace of the add-in
Version of the add-in
Version with which this add-in is compatible
Add-in author
Add-in copyright
Web page URL with more information about the add-in
Description of the add-in
Category of the add-in
Dependencies of the add-in
Optional dependencies of the add-in
Custom properties specified in the add-in header
A registry of on-line repositories
This class can be used to manage on-line repository subscriptions.
Subscribes to an on-line repository
Progress monitor where to show progress status and log
URL of the repository
A repository reference
The repository index is not downloaded by default. It can be downloaded
by calling UpdateRepository.
Subscribes to an on-line repository
Progress monitor where to show progress status and log
URL of the repository
When set to True, the repository index will be downloaded.
A repository reference
Removes an on-line repository subscription.
URL of the repository.
Enables or disables a repository
URL of the repository
'true' if the repository has to be enabled.
Disabled repositories are ignored when calling UpdateAllRepositories.
Checks if a repository is already subscribed.
URL of the repository
True if the repository is already subscribed.
Gets a list of subscribed repositories
A list of repositories.
Updates the add-in index of all subscribed repositories.
Progress monitor where to show progress status and log
Updates the add-in index of the provided repository
Progress monitor where to show progress status and log
URL of the repository
Gets a list of available add-in updates.
A list of add-in references.
The list is generated by looking at the add-ins currently installed and checking if there is any
add-in with a newer version number in any of the subscribed repositories. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available add-in updates.
Search flags
A list of add-in references.
The list is generated by looking at the add-ins currently installed and checking if there is any
add-in with a newer version number in any of the subscribed repositories. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available add-in updates in a specific repository.
The repository URL
A list of add-in references.
The list is generated by looking at the add-ins currently installed and checking if there is any
add-in with a newer version number in the provided repository. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available updates for an add-in.
Identifier of the add-in.
List of updates for the specified add-in.
The list is generated by checking if there is any
add-in with a newer version number in any of the subscribed repositories. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available updates for an add-in.
Identifier of the add-in.
Search flags.
List of updates for the specified add-in.
The list is generated by checking if there is any
add-in with a newer version number in any of the subscribed repositories. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available updates for an add-in in a specific repository
Identifier of the add-in.
Identifier of the add-in.
List of updates for the specified add-in.
The list is generated by checking if there is any
add-in with a newer version number in the provided repository. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of available updates for an add-in in a specific repository
Identifier of the add-in.
Identifier of the add-in.
Search flags.
List of updates for the specified add-in.
The list is generated by checking if there is any
add-in with a newer version number in the provided repository. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of all available add-ins
A list of add-ins
This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of all available add-ins
The available addins.
Search flags.
This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of all available add-ins in a repository
A repository URL
A list of add-ins
This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Gets a list of all available add-ins in a repository
A repository URL
Search flags.
A list of add-ins
This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Checks if an add-in is available to be installed
Identifier of the add-in
Version of the add-in (optional, it can be null)
A list of add-ins
List of references to add-ins available in on-line repositories. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Checks if an add-in is available to be installed from a repository
A repository URL
Identifier of the add-in
Version of the add-in (optional, it can be null)
A list of add-ins
List of references to add-ins available in the repository. This method uses cached
information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
before using this method to ensure that the latest information is available.
Repository search flags.
No special search options
Only the latest version of every add-in is included in the search
An on-line add-in repository
Path to the cached add-in repository file
Url of the repository
Do not use. Use Title instead.
Title of the repository
Last change timestamp
Gets a value indicating whether this is enabled.
true if enabled; otherwise, false.
Helper for making web requests with support for authenticated proxies.
Sets a custom request handler that can handle requests for authenticated proxy servers.
The custom request handler.
Gets the web response, using the request handler to handle proxy authentication
if necessary.
The response.
Callback for creating the request.
Callback for preparing the request, e.g. writing the request stream.
Cancellation token.
Keeps sending requests until a response code that doesn't require authentication happens or if the request
requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted).
Gets the web response, using the request handler to handle proxy authentication
if necessary.
The response.
Callback for creating the request.
Callback for preparing the request, e.g. writing the request stream.
Cancellation token.
Keeps sending requests until a response code that doesn't require authentication happens or if the request
requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted).
Determines whether an error code is likely to have been caused by internet reachability problems.
Provides tools for managing add-ins
This class can be used to manage the add-ins of an application. It allows installing and uninstalling
add-ins, taking into account add-in dependencies. It provides methods for installing add-ins from on-line
repositories and tools for generating those repositories.
Initializes a new instance
If the add-in manager is initialized (AddinManager.Initialize has been called), then this instance
will manage the add-in registry of the initialized engine.
Initializes a new instance
Add-in registry to manage
Resolves add-in dependencies.
Progress monitor where to show progress status
List of add-ins to check
Packages that need to be installed.
Packages that need to be uninstalled.
Add-in dependencies that could not be resolved.
True if all dependencies could be resolved.
This method can be used to get a list of all packages that have to be installed in order to install
an add-in or set of add-ins. The list of packages to install will include the package that provides the
add-in, and all packages that provide the add-in dependencies. In some cases, packages may need to
be installed (for example, when an installed add-in needs to be upgraded).
Resolves add-in dependencies.
Progress monitor where to show progress status
Packages that need to be installed.
Packages that need to be uninstalled.
Add-in dependencies that could not be resolved.
True if all dependencies could be resolved.
This method can be used to get a list of all packages that have to be installed in order to satisfy
the dependencies of a package or set of packages. The 'packages' argument must have the list of packages
to be resolved. When resolving dependencies, if there is any additional package that needs to be installed,
it will be added to the same 'packages' collection. In some cases, packages may need to
be installed (for example, when an installed add-in needs to be upgraded). Those packages will be added
to the 'toUninstall' collection. Packages that could not be resolved are added to the 'unresolved'
collection.
Installs add-in packages
Progress monitor where to show progress status
Paths to the packages to install
True if the installation succeeded
Installs add-in packages from on-line repositories
Progress monitor where to show progress status
References to the add-ins to be installed
True if the installation succeeded
Installs add-in packages
Progress monitor where to show progress status
Packages to install
True if the installation succeeded
Uninstalls an add-in.
Progress monitor where to show progress status
Full identifier of the add-in to uninstall.
Uninstalls a set of add-ins
Progress monitor where to show progress status
Full identifiers of the add-ins to uninstall.
Gets information about an add-in
The add-in
Add-in header data
Gets a list of add-ins which depend on an add-in
Full identifier of an add-in.
When set to True, dependencies will be gathered recursivelly
List of dependent add-ins.
This methods returns a list of add-ins which have the add-in identified by 'id' as a direct
(or indirect if recursive=True) dependency.
Packages an add-in
Progress monitor where to show progress status
Directory where to generate the package
Paths to the add-ins to be packaged. Paths can be either the main assembly of an add-in, or an add-in
manifest (.addin or .addin.xml).
This method can be used to create a package for an add-in, which can then be pushed to an on-line
repository. The package will include the main assembly or manifest of the add-in and any external
file declared in the add-in metadata.
Generates an on-line repository
Progress monitor where to show progress status
Path to the directory that contains the add-ins and that is going to be published
This method generates the index files required to publish a directory as an online repository
of add-ins.
Gets a reference to an extensible application
Name of the application
The Application object. Null if not found.
Gets a reference to an extensible application
Name of the application
Custom paths where to look for the application.
The Application object. Null if not found.
Gets a lis of all known extensible applications
A list of applications.
Gets a lis of all known extensible applications
Custom paths where to look for applications.
A list of applications.
The add-in registry being managed
Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace
will be shown in add-in lists.
Directory where to install add-ins. If not specified, the 'addins' subdirectory of the
registry location is used.
Returns a RepositoryRegistry which can be used to manage on-line repository references
A registered extensible application
Add-in registry of the application
Description of the application
Name of the application
Path to the add-in registry
Path to the directory that contains the main executable assembly of the application
Command to be used to execute the application in add-in development mode.
Path to the default add-ins directory for the aplpication
Path to the add-in cache for the application