2.2.2.4.1 Software Installation Search Reply Attributes

The SearchResultEntries MUST contain attributes with the following formats.

 Attribute

 Format

canUpgradeScript

A multivalued attribute, as specified in [MS-ADSC] section 2.219, where each value MUST be a directory string representing software modeled by another PackageRegistration object that is to be upgraded. Each value MUST have the following format.

<SoftwareDN>\\<ObjectGuidID>:<UpgradeType>

where

<SoftwareDN> is a software package. This MUST be a DN of the form LDAP://CN=Class Store,<scoped gpo dn>, where <scoped gpo dn> is a scoped GPO DN.

<ObjectGuidID> MUST be the string form of the objectId GUID attribute, as specified in [RFC4122] section 3, of the PackageRegistration object referenced by <SoftwareDN>.

<UpgradeType> is a two-character string that MUST be interpreted as a flags field. It describes how to apply the upgrade. The <UpgradeType> flags UPGFLG_Uninstall, UPGFLG_NoUninstall, UPGFLG_UpgradedBy, and UPGFLG_Enforced are specified in section 2.2.2.4.2 canUpgradeScript Attribute UpgradeType Values.

Either UPGFLG_Uninstall or UPGFLG_NoUninstall MUST be specified, but not both.

UPGFLG_UpgradedBy and UPGFLG_Enforced MAY be added. They are not used by the client plug-in; they are used only by the administrative plug-in, to display the proper user interface.

The value MUST be one of these values; if it is any other value, the behavior is undefined.

It is valid for the attribute to be empty; in which case, the attribute MUST be ignored by the client.

If this attribute does not conform to the format specified here, the client MUST behave as if the value is empty.

packageFlags

A 32-bit integer that MUST be interpreted as a flags field in which all combinations of flags are valid, unless otherwise noted. The value of the flags of this integer MUST be as specified in section 2.2.2.4.3, packageFlags Attribute Values.

packageType

An integer that MUST be one of the values specified in section 2.2.2.4.4, packageType Attribute Values.

msiScriptPath

MUST be an UncPath for a file under the software scripts path directory to an application advertise script file that is named <curly braced GUID string>.aas.

lastUpdateSequence

MUST be an update sequence number (USN) generated whenever the object is updated by the server. It MUST be ignored by the client except for logging purposes.

localeID

MUST be a Windows locale identifier (for more information, see [MS-LCID] section 2.2) that represents the language of the software.

machineArchitecture

This integer identifies the hardware architecture requirement for a computer to run the software. This integer MUST be one of the following values:

  • Value of "0" indicates that the software is for Intel x86 architecture.

  • Value of "6" indicates that the software is for Itanium-based architecture.

  • Value of "9" indicates that the software is for x64 architecture.

packageName

MUST be a friendly human-readable directory string value authored on the server by an administrator to identify the application being represented in this object.

versionNumberHi

An integer that serves as the major version number of the software. It MUST be used only for logging purposes.

versionNumberLo

An integer that serves as the minor version number of the software. It MUST be used only for logging purposes.

Vendor

MUST be a human-readable directory string description for the name of the vendor of the software represented by this object. This field MUST not be validated and is to be used only for logging.

url

MUST be a directory string representation of a Uniform Resource Locator (URL) for a user assistance resource (determined by an administrator) that can be presented to users of the client when browsing for software applications to manage.

Revision

An integer that MUST be incremented every time a redeploy action is initiated for this application by an administrator of the server.

productCode

A GUID that MUST uniquely identify the software to be installed. This allows the client to determine whether this software is already installed on the client.

objectGUID

A GUID that MUST uniquely identify this deployment of the application and does not change after the object is initially created.

Categories

MUST be a set of GUIDs represented by a multivalued directory string attribute, as specified in [MS-ADSC] section 2.219, that represents application categories to which the software has been determined to belong by an administrator. It MUST be used by the client to enable browsing of software by category.

msiFileList

A multivalued attribute of type directory string that MUST represent an ordered list of network file system paths to Windows Installer files supplied by application vendors and administrators who customize the application. Each string MUST be of the following format.

<OrderIndex>:<filepath>

where <OrderIndex> is a zero-based index that indicates the order in which the client and administrative tools are to evaluate the Windows Installer network file <filepath> relative to other such files referenced in this multivalued attribute (when installing the application or modifying its deployment properties). The following constraints MUST be enforced:

  • <OrderIndex> MUST be unique in this multivalued attribute.

  • <OrderIndex> MUST NOT be greater than or equal to the number of values in this attribute.

  • <filepath> MUST be the UncPath of a valid software installation package or software installation package modification file.

  • If the packageType attribute is set to 5 (DrwFilePath), there MUST be a value with <OrderIndex> 0. Otherwise, this object is considered invalid. If this value is invalid, it SHOULD be ignored, as specified in section 3.2.5.4.

  • Value with <OrderIndex> 0 MUST reference a Windows Installer package (.msi) file.

  • Values with <OrderIndex> other than 0 MUST NOT reference a Windows Installer package (.msi) file.

  • If the packageType attribute is set to 6 (SetupNamePath), this attribute MUST be empty.

installUiLevel

This attribute's integer value is undefined and MAY contain any value. This attribute MUST be ignored.

The searchResultEntries MAY contain attributes of the following format.

 Attribute

 Format

nTSecurityDescriptor

A security descriptor, as specified in [MS-DTYP] section 2.4.6. It SHOULD be used by the client only for logging purposes to log the security permissions that are associated with the PackageRegistration object that represents an application.