// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::Application::InstalledProduct" ), 
    Description ( 
       "The InstalledProduct object allows the grouping of "
       "SoftwareFeatures and SoftwareElements that represent the "
       "result of the installation of a purchased Product. "
       "InstalledProduct is defined to be Weak to a Product. \n"
       "Often, Products are purchased once but may be installed "
       "several times in different locations on one or more systems. "
       "All of the SoftwareElements and SoftwareFeatures of a single "
       "install are grouped by an instance of InstalledProduct. These "
       "are defined using the associations, CollectedSoftwareFeatures "
       "and Collected SoftwareElements." )]
class CIM_InstalledProduct : CIM_Collection {

      [Key, Description ( "The scoping Product\'s identification." ), 
       MaxLen ( 64 ), 
       Propagated ( "CIM_Product.IdentifyingNumber" )]
   string ProductIdentifyingNumber;

      [Key, Description ( 
          "The scoping Product\'s commonly used name." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_Product.Name" )]
   string ProductName;

      [Key, Description ( "The scoping Product\'s name." ), 
       MaxLen ( 256 ), 
       Propagated ( "CIM_Product.Vendor" )]
   string ProductVendor;

      [Key, Description ( 
          "The scoping Product\'s version information." ), 
       MaxLen ( 64 ), 
       Propagated ( "CIM_Product.Version" )]
   string ProductVersion;

      [Key, Description ( 
          "The identifying information of the System (ie, the "
          "instance) on which the Product is installed. If the "
          "System is not known, this property returns NULL. If the "
          "System is known and represented in CIM, the property "
          "contains the namespace and model paths of the instance, "
          "encoded as a string parameter. If known but not "
          "represented in CIM, the property contains some "
          "identifying string that names the System on which the "
          "Product is installed." ), 
       MaxLen ( 256 )]
   string SystemID;

      [Key, Description ( 
          "The identification of the InstalledProduct object. This "
          "key can be used to differentiate between Product "
          "installations and could include the installation "
          "location." ), 
       MaxLen ( 256 )]
   string CollectionID;

      [Description ( 
          "The Name property defines the label by which the object "
          "is known to the world, outside the data processing "
          "system. This label is a human-readable name that "
          "uniquely identifies the element in the context of the "
          "element\'s namespace." ), 
       MaxLen ( 256 )]
   string Name;


};
