-
Notifications
You must be signed in to change notification settings - Fork 24
Service Request Messages
This message must be the first message passed on the pipe; any other message will not be accepted and no error will be posted--the service will simply disconnect the pipe instance.
This message identifies the client program and instance, and allows the client application to reconnect to the service in the event of a disconnection during a session. A client giving the same values will force the disconnection of the old client (if still connected) in favor of the new client.
When a client reconnects to the same session, it must have the same user token. Any attempt to reconnect to an existing session with a different token will result in disconnection from the service.
Name | Default Users | Description |
---|---|---|
Connect |
Everyone | Allows access to communicate with the CoApp service |
Name | Type | Required | Description |
---|---|---|---|
client |
string | yes | the name of the client program connecting to the service |
id |
string | yes | a unique "session id" for the client application. |
async |
boolean | no | set this to false (any other value assumes true ) to require the engine to create a new pipe with which communicate back to the client. The name of this pipe will be \\.\pipe\CoAppInstaller-$ID$ where $ID$ is the required unique session id` |
See: Service-Response-Messages
session-started
start-session?client=test-script&id=123912931923913&async=false
Returns basic information about packages based on the information given.
This function is accessible provided the client has the appropriate policy requirements.
This function is read-only, accesses information regarding installed packages, but can cause the engine to request the fulfillment of feeds from the client-which may require the client to access the network and write files.
Name | Default Users | Description |
---|---|---|
EnumeratePackages |
Everyone | Allows access to query the system for installed packages |
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | no | The canonical-name of the package for which data is being requested |
name |
string | no | The common name of the package (ie, "Ruby" ) |
version |
formatted version-string (NNNNN.NNNNN.NNNNN.NNNNN ) |
no | the version of the package requested |
public-key-token |
16digit-hex-string | no | the public key token of the certificate of the package |
arch |
one of {x86 ,x64 ,any ,arm ,all } |
no | the architecture of the package. all means all that are valid for this machine. |
dependencies |
boolean | no | If specified true , will return the package information for all the dependencies recursively |
installed |
tri-state {true ,false ,all } |
no | Filter for packages that are installed or not, use all to accept both |
active |
tri-state {true ,false ,all } |
no | Filter on packages that are the current active version (or only version) or not, use all to accept both |
required |
tri-state {true ,false ,all } |
no | Filter on packages that are either user requested or the dependency of a user requested package, use all to accept both |
blocked |
tri-state {true ,false ,all } |
no | Filter on packages the user has requested be frozen (not upgradable or removeable), use all to accept both |
latest |
boolean | no | If specified true will only return the latest version of a given package (subject to other criteria) |
index |
integer | no | Sends results at a given index (can be used to page the result set) |
max-results |
integer | no | Sends a maximum number of results(can be used to page the result set) |
location |
string | no | scope results to a given feed location. May contain wildcards |
force-scan |
boolean | no | forces feeds to be re-scanned |
recursive |
boolean | no | recursively scans feeds that support such operations (ie, directories) |
See: Service-Response-Messages
found-package
no-packages-found
operation-requires-permission
message-argument-error
require-remote-file
msgname?param=xxx
Gets the cosmetic and contextual information for a given package.
This function is accessible provided the client has the appropriate policy requirements.
This function is read-only and does not modify the system.
No specific policy is required.
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | yes | The canonical-name of the package for which data is being requested |
See: Service-Response-Messages
package-details
unknown-package
message-argument-error
Would return the package details (if known) for the requested ruby package:
get-package-details?canonical-name=ruby-1.9.2.290-x86-0da32de74420310f
Installs a package given a canonical name, including any required dependent packages.
As well, this can determine if a newer version of a package is available and install it.
This function is accessible provided the client has the appropriate policy requirements--the required policy changes depending if the operation is an upgrade or new install of a package.
This function may request the client download files from remote locations and write them to the requisite location.
Name | Default Users | Description |
---|---|---|
InstallPackage |
Administrators | Allows a new package to be installed |
UpdatePackage |
Everyone | Allows a newer version of an package that is currently installed to be installed |
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | yes | The canonical-name of the package requested to install. |
auto-upgrade |
tristate {true , false , fail } |
no | if specified true the engine will attempt to locate the latest version of the package possible to install. If specified false , will not attempt to locate a newer version.If specified fail , will fail on a newer package being available. |
force |
boolean | no | forces the installation of a package even if the dependencies are not able to be satisfied. |
See: Service-Response-Messages
operation-requires-permission
unknown-package
message-argument-error
installing-package
installed-package
failed-install-package
package-is-blocked
require-remote-file
signature-validation
Would install the given ruby package (or a more recent available version)
install-package?canonical-name=canonical-name=ruby-1.9.2.290-x86-0da32de74420310f&auto-upgrade=true
Given a file or location, asks the engine to recognize it and that it is available.
This is most often given either before installing a package (to make the service aware of it) or at the completion of downloading a remote file.
This function is accessible provided the client has the appropriate policy requirements.
This function is read-only and does not modify the system, it simply makes the service aware of the presence of a file.
This does change the transient internal-state of the package manager, and if the given file fulfills an outstanding request, this may cause the engine to continue a previously paused task.
No specific policy is required.
Name | Type | Required | Description |
---|---|---|---|
local-location |
string | yes | the file location of a given file. |
remote-location |
string | no | the location the file was downloaded from. |
canonical-name |
string | * |
This is required if notifying the service about a previously requested file. Otherwise, this should be omitted. |
See: Service-Response-Messages
message-argument-error
unable-to-recognize-file
Would notify the engine of a file at c:\apps\.cache\coapp.org\packages.atom.xml
that was downloaded from http://coapp.org/repository/packages.atom.xml
recognize-file?location=c%3A%5Capps%5C.cache%5Ccoapp.org%5Cpackages.atom.xml&remote-location=http%3A%2F%2Fcoapp.org%2Frepository%2Fpackages.atom.xml
Tells the service that the client is unable to satisfy a remote file request.
This function is accessible provided the client has the appropriate policy requirements.
This function is read-only and does not modify the system.
This does change the transient internal-state of the package manager, and may cause the engine to continue (or abort) a previously paused task.
No specific policy is required.
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | yes | The package that has failed to be acquired. |
See: Service-Response-Messages
message-argument-error
Would tell the service that it was unable to get the file from the given URL:
unable-to-acquire?remote-location=http%3A%2F%2Fcoapp.org%2Frepository%2Fpackages.atom.xml
Removes a given package from the system
This function is accessible provided the client has the appropriate policy requirements.
This does not ensure that other packages are still functional if a required package is removed, nor does it remove unneccessary dependent packages (the client should query for not-required packages, and remove those if desired.)
Name | Default Users | Description |
---|---|---|
RemovePackage |
Administrators | Allows a package to be removed |
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | yes | The canonical-name of the package requested to remove. |
See: Service-Response-Messages
operation-requires-permission
failed-remove-package
unknown-package
message-argument-error
package-is-blocked
remove-package?canonical-name=canonical-name=ruby-1.9.2.290-x86-0da32de74420310f&auto-upgrade=true
Sets a state on a given package
This function is accessible provided the client has the appropriate policy requirements--the required policy changes depending on the status change requested.
Name | Default Users | Description |
---|---|---|
ChangeActivePackage |
Administrators | Allows a user to change which version of a package is the active (default) one |
ChangeRequiredState |
Administrators | Allows a user to change whether a given package is required (user requested) |
ChangeBlockedState |
Administrators | Allows a user to change whether a given package is blocked from being upgraded |
Name | Type | Required | Description |
---|---|---|---|
canonical-name |
string | yes | The canonical-name of the package requested change the state of. |
active |
bool | no | if specified true , this version of the package will become the active version |
required |
bool | no | if specified true , this sets the package to the user requested state (shouldn't be deleted unless the user requests it) |
blocked |
bool | no | if specified true , this marks the package to block upgrade requests. |
See: Service-Response-Messages
operation-requires-permission
unknown-package
message-argument-error
Would set the Ruby package to be not upgradable.
set-package?canonical-name=ruby-1.9.2.290-x86-0da32de74420310f&blocked=true
Verifies that a given file is signed with a certificate that chains up to the local machine's trusted publishers.
This function is accessible provided the client has the appropriate policy requirements.
This function is read-only and does not modify the system.
No specific policy is required.
Name | Type | Required | Description |
---|---|---|---|
filename |
string | yes | The local filename of the file (msi, exe, etc) to verify. |
See: Service-Response-Messages
file-not-found
message-argument-error
signature-validation
Would verify the file c:\apps\.cache\coapp.org\foo-1.2.2.2-any.msi
is properly signed.
verify-file-signature?filename=c%3A%5Capps%5C.cache%5Ccoapp.org%5Cfoo-1.2.2.2-any.msi
Adds a feed to the list of feeds where packages can be discovered.
This function is accessible provided the client has the appropriate policy requirements.
System feeds have a different permission from session feeds.
Either way, this causes a change in the state of the engine.
Name | Default Users | Description |
---|---|---|
EditSystemFeeds |
Administrators | Allows users to edit remembered feeds for the system |
EditSessionFeeds |
Everyone | Allows users to edit remembered feeds for just the session |
Name | Type | Required | Description |
---|---|---|---|
location |
string | yes | the URL or file/directory location of the feed |
session |
string | no | if specified true this only affects the current session. |
See: Service-Response-Messages
operation-requires-permission
message-argument-error
require-remote-file
feed-added
add-feed?location=http%3A%2F%2Fcoapp.org%2Frepository%2Fpackages.atom.xml&session=true
Removes a feed to the list of feeds where packages can be discovered.
This function is accessible provided the client has the appropriate policy requirements.
System feeds have a different permission from session feeds.
Either way, this causes a change in the state of the engine (transient or permanent).
Name | Default Users | Description |
---|---|---|
EditSystemFeeds |
Administrators | Allows users to edit remembered feeds for the system |
EditSessionFeeds |
Everyone | Allows users to edit remembered feeds for just the session |
Name | Type | Required | Description |
---|---|---|---|
location |
string | yes | the URL or file/directory location of the feed |
session |
string | no | if specified true this only affects the current session. |
See: Service-Response-Messages
operation-requires-permission
message-argument-error
remove-feed?location=http%3A%2F%2Fcoapp.org%2Frepository%2Fpackages.atom.xml&session=true
Asks the server for the package feeds active in this session.
This function is accessible provided the client has the appropriate policy requirements.
No specific policies are required
Name | Type | Required | Description |
---|---|---|---|
index |
integer | no | Sends results at a given index (can be used to page the result set) |
max-results |
integer | no | Sends a maximum number of results(can be used to page the result set) |
See: Service-Response-Messages
found-feed
no-feeds-found
message-argument-error
find-feeds
Blocks a feed from being used for the current session.
A subsequent add-feed for the same feed will cancel out the suppress-feed.
This function is accessible provided the client has the appropriate policy requirements.
System feeds have a different permission from session feeds.
Either way, this causes a change in the transient state of the engine.
Name | Default Users | Description |
---|---|---|
EditSystemFeeds |
Administrators | Allows users to edit remembered feeds for the system |
EditSessionFeeds |
Everyone | Allows users to edit remembered feeds for just the session |
Name | Type | Required | Description |
---|---|---|---|
location |
string | yes | the feed location that the client wishes to suppress |
See: Service-Response-Messages
feed-suppressed
message-argument-error
suppress-feed?location=XXXX