Interface IZeroInstallClient
Client for invoking Zero Install commands from within other applications.
Namespace: ZeroInstall.Client
Assembly: ZeroInstall.Client.dll
Syntax
public interface IZeroInstallClient
Methods
DownloadAsync(Requirements, Boolean)
Downloads a program and compatible versions of all of its dependencies.
Declaration
Task<Selections> DownloadAsync(Requirements requirements, bool refresh = false)
Parameters
Type | Name | Description |
---|---|---|
Requirements | requirements | The requirements describing the program. |
Boolean | refresh | Fetch fresh copies of all used feeds. |
Returns
Type | Description |
---|---|
Task<Selections> | The downloaded implementations. |
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file, an invalid signature or digest mismatch. |
InvalidOperationException | 0install reported a solver error. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
FetchAsync(Implementation)
Downloads a set of Implementations.
Declaration
Task FetchAsync(Implementation implementation)
Parameters
Type | Name | Description |
---|---|---|
Implementation | implementation | The implementations to download. |
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file, an invalid signature or digest mismatch. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
GetIntegration(FeedUri, Boolean)
Returns the desktop integration categories that are currently applied for a specific feed.
Declaration
ISet<string> GetIntegration(FeedUri uri, bool machineWide = false)
Parameters
Type | Name | Description |
---|---|---|
FeedUri | uri | The feed URI of the application. |
Boolean | machineWide | Get machine-wide desktop integration instead of just for the current user. |
Returns
Type | Description |
---|---|
ISet<String> | The access point categories (e.g., |
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
GetRunStartInfo(Requirements, Boolean, Boolean, String[])
Provides a ProcessStartInfo for running a program via Zero Install. This allows you to wait for the program to exit and/or to capture its output.
Declaration
ProcessStartInfo GetRunStartInfo(Requirements requirements, bool refresh = false, bool needsTerminal = false, params string[] arguments)
Parameters
Type | Name | Description |
---|---|---|
Requirements | requirements | The requirements describing the program. |
Boolean | refresh | Fetch fresh copies of all used feeds. |
Boolean | needsTerminal | Indicates that the program requires a terminal in order to run. |
String[] | arguments | Additional arguments to pass to the program. |
Returns
Type | Description |
---|---|
ProcessStartInfo |
IntegrateAsync(FeedUri, IEnumerable<String>, IEnumerable<String>, Boolean)
Adds an application to the application list (if missing) and integrates it into the desktop environment.
Declaration
Task IntegrateAsync(FeedUri uri, IEnumerable<string> add = null, IEnumerable<string> remove = null, bool machineWide = false)
Parameters
Type | Name | Description |
---|---|---|
FeedUri | uri | The feed URI of the application. |
IEnumerable<String> | add | The access point categories to add (e.g., |
IEnumerable<String> | remove | The access point categories to remove (e.g., |
Boolean | machineWide | Apply the operation machine-wide instead of just for the current user. |
Returns
Type | Description |
---|---|
Task |
Exceptions
Type | Condition |
---|---|
NotAdminException |
|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file or an invalid signature. |
InvalidOperationException | 0install reported a conflict with existing desktop integration. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
Remove(FeedUri, Boolean)
Removes an application from the application list and undoes any desktop environment integration.
Declaration
void Remove(FeedUri uri, bool machineWide = false)
Parameters
Type | Name | Description |
---|---|---|
FeedUri | uri | The feed URI of the application. |
Boolean | machineWide | Apply the operation machine-wide instead of just for the current user. |
Exceptions
Type | Condition |
---|---|
NotAdminException |
|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
Run(Requirements, Boolean, Boolean, String[])
Runs a program via Zero Install. Does not wait for the program to exit.
Declaration
void Run(Requirements requirements, bool refresh = false, bool needsTerminal = false, params string[] arguments)
Parameters
Type | Name | Description |
---|---|---|
Requirements | requirements | The requirements describing the program. |
Boolean | refresh | Fetch fresh copies of all used feeds. |
Boolean | needsTerminal | Indicates that the program requires a terminal in order to run. |
String[] | arguments | Additional arguments to pass to the program. |
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file, an invalid signature or digest mismatch. |
InvalidOperationException | 0install reported a solver or executor error. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install or the target program returned an error. |
SelectAsync(Requirements, Boolean, Boolean)
Selects a program and compatible versions of all of its dependencies.
Declaration
Task<Selections> SelectAsync(Requirements requirements, bool refresh = false, bool offline = false)
Parameters
Type | Name | Description |
---|---|---|
Requirements | requirements | The requirements describing the program. |
Boolean | refresh | Fetch fresh copies of all used feeds. |
Boolean | offline | Do not refresh feeds even if they are out-of-date and don't select newer versions of programs for downloading even if they are already known. |
Returns
Type | Description |
---|---|
Task<Selections> | The selected implementations. |
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file or an invalid signature. |
InvalidOperationException | 0install reported a solver error. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |
TrustKey(String, String)
Trusts feeds from a specific domain when signed with a specific key.
Declaration
void TrustKey(string fingerprint, string domain)
Parameters
Type | Name | Description |
---|---|---|
String | fingerprint | The fingerprint of the key to trust. |
String | domain | The domain the key should be trusted for. |
UpdateAsync(Requirements)
Checks for updates to a program and downloads them if found.
Declaration
Task<bool> UpdateAsync(Requirements requirements)
Parameters
Type | Name | Description |
---|---|---|
Requirements | requirements | The requirements describing the program. |
Returns
Type | Description |
---|---|
Task<Boolean> |
|
Exceptions
Type | Condition |
---|---|
IOException | 0install could not be launched or reported a problem accessing the filesystem. |
UnauthorizedAccessException | 0install reported that access to a resource was denied. |
WebException | 0install reported a problem downloading a file. |
InvalidDataException | 0install reported a problem parsing a file, an invalid signature or digest mismatch. |
InvalidOperationException | 0install reported a solver error. |
OperationCanceledException | The user canceled the operation. |
TemporarilyUnavailableException | 0install is temporarily unavailable. Try again in a few seconds. |
ExitCodeException | 0install returned another error. |