Interface IZeroInstallClient
- Namespace
- ZeroInstall.Client
- Assembly
- ZeroInstall.Client.dll
Client for invoking Zero Install commands from within other applications.
public interface IZeroInstallClient
Methods
AuditAsync()
Checks that all implementations in the cache are undamaged.
Task AuditAsync()
Returns
Exceptions
- 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.
DownloadAsync(Requirements, bool)
Downloads a program and compatible versions of all of its dependencies.
Task<Selections> DownloadAsync(Requirements requirements, bool refresh = false)
Parameters
requirements
RequirementsThe requirements describing the program.
refresh
boolFetch fresh copies of all used feeds.
Returns
- Task<Selections>
The downloaded implementations.
Exceptions
- 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.
Task FetchAsync(Implementation implementation)
Parameters
implementation
ImplementationThe implementations to download.
Returns
Exceptions
- 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, bool)
Returns the desktop integration categories that are currently applied for a specific feed.
ISet<string> GetIntegration(FeedUri uri, bool machineWide = false)
Parameters
uri
FeedUriThe feed URI of the application.
machineWide
boolGet machine-wide desktop integration instead of just for the current user.
Returns
Exceptions
- 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, bool, bool, params 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.
ProcessStartInfo GetRunStartInfo(Requirements requirements, bool refresh = false, bool needsTerminal = false, params string[] arguments)
Parameters
requirements
RequirementsThe requirements describing the program.
refresh
boolFetch fresh copies of all used feeds.
needsTerminal
boolIndicates that the program requires a terminal in order to run.
arguments
string[]Additional arguments to pass to the program.
Returns
IntegrateAsync(FeedUri, IEnumerable<string>?, IEnumerable<string>?, bool)
Adds an application to the application list (if missing) and integrates it into the desktop environment.
Task IntegrateAsync(FeedUri uri, IEnumerable<string>? add = null, IEnumerable<string>? remove = null, bool machineWide = false)
Parameters
uri
FeedUriThe feed URI of the application.
add
IEnumerable<string>The access point categories to add (e.g.,
capability-registration
,menu-entry
,desktop-icon
).remove
IEnumerable<string>The access point categories to remove (e.g.,
capability-registration
,menu-entry
,desktop-icon
).machineWide
boolApply the operation machine-wide instead of just for the current user.
Returns
Exceptions
- NotAdminException
machineWide
was set but the current process is not running with admin rights.- 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, bool)
Removes an application from the application list and undoes any desktop environment integration.
void Remove(FeedUri uri, bool machineWide = false)
Parameters
uri
FeedUriThe feed URI of the application.
machineWide
boolApply the operation machine-wide instead of just for the current user.
Exceptions
- NotAdminException
machineWide
was set but the current process is not running with admin rights.- 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, bool, bool, params string[])
Runs a program via Zero Install. Does not wait for the program to exit.
void Run(Requirements requirements, bool refresh = false, bool needsTerminal = false, params string[] arguments)
Parameters
requirements
RequirementsThe requirements describing the program.
refresh
boolFetch fresh copies of all used feeds.
needsTerminal
boolIndicates that the program requires a terminal in order to run.
arguments
string[]Additional arguments to pass to the program.
Exceptions
- 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, bool, bool)
Selects a program and compatible versions of all of its dependencies.
Task<Selections> SelectAsync(Requirements requirements, bool refresh = false, bool offline = false)
Parameters
requirements
RequirementsThe requirements describing the program.
refresh
boolFetch fresh copies of all used feeds.
offline
boolDo 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
- Task<Selections>
The selected implementations.
Exceptions
- 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.
void TrustKey(string fingerprint, string domain)
Parameters
fingerprint
stringThe fingerprint of the key to trust.
domain
stringThe domain the key should be trusted for.
UpdateAsync(Requirements)
Checks for updates to a program and downloads them if found.
Task<bool> UpdateAsync(Requirements requirements)
Parameters
requirements
RequirementsThe requirements describing the program.
Returns
Exceptions
- 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.