-
Notifications
You must be signed in to change notification settings - Fork 24
Coapp service engine interface
- via named pipe, either over an async bidirectional pipe, or two pipes for WSH
// sample connection via jscript scripting language
- uses url-encoding syntax for messages (both send and receive):
name-of-message?someparameter=value&someotherparameter=value2
All policies will be found in Computer Configuration\Administrative Templates\Control Panel\CoApp
(TODO: verify, unsure)
All policy values will be stored in the registry under HKLM\Software\CoApp\PackageManager\Policies
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: 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: found-package
msgname?param=xxx
//description
//securityinfo
Name | Default Users | Description |
---|---|---|
//name |
Everyone | //desc |
Name | Type | Required | Description |
---|---|---|---|
//// |
string | yes | //desc |
msgname?param=xxx