Interface IZeroInstallClient
- Namespace
- ZeroInstall.Client
- Assembly
- ZeroInstall.Client.dll
Client for invoking Zero Install commands from within other applications.
public interface IZeroInstallClientMethods
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
- requirementsRequirements
- The requirements describing the program. 
- refreshbool
- Fetch 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
- implementationImplementation
- The 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
- uriFeedUri
- The feed URI of the application. 
- machineWidebool
- Get 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
- requirementsRequirements
- The requirements describing the program. 
- refreshbool
- Fetch fresh copies of all used feeds. 
- needsTerminalbool
- Indicates that the program requires a terminal in order to run. 
- argumentsstring[]
- 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
- uriFeedUri
- The feed URI of the application. 
- addIEnumerable<string>
- The access point categories to add (e.g., - capability-registration,- menu-entry,- desktop-icon).
- removeIEnumerable<string>
- The access point categories to remove (e.g., - capability-registration,- menu-entry,- desktop-icon).
- machineWidebool
- Apply the operation machine-wide instead of just for the current user. 
Returns
Exceptions
- NotAdminException
- machineWidewas 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
- uriFeedUri
- The feed URI of the application. 
- machineWidebool
- Apply the operation machine-wide instead of just for the current user. 
Exceptions
- NotAdminException
- machineWidewas 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
- requirementsRequirements
- The requirements describing the program. 
- refreshbool
- Fetch fresh copies of all used feeds. 
- needsTerminalbool
- Indicates that the program requires a terminal in order to run. 
- argumentsstring[]
- 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
- requirementsRequirements
- The requirements describing the program. 
- refreshbool
- Fetch fresh copies of all used feeds. 
- offlinebool
- 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
- 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
- fingerprintstring
- The fingerprint of the key to trust. 
- domainstring
- The 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
- requirementsRequirements
- The 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.