|
From: Rob M. <ro...@us...> - 2007-09-21 07:58:44
|
Update of /cvsroot/wix/wix/src/wix/Xsd In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv19110/src/wix/Xsd Modified Files: wix.xsd Log Message: AaronSte: Creating separate Votive and Sconce DLLs for VS 2005 and VS 2008. Adding the VS 2008 SDK source code that is needed to build the VS 2008 Votive and Sconce dlls. HeathS: SFBUG:1789825 - CreationTimeUTC documents wrong format SFFEATURE:1768845 - Patch element should support MinorUpdateTargetRTM attribute SFFEATURE:1735295 - Patch build should add PATCHNEW* properties to patch transform Added support for ignorables to CompareUnit in WixUnit HeathS: SFBUG:1768842 - PatchProperty does not allow Company RobMen: Ensure RegistryKey element never ends up as KeyPath because MSI SDK says it isn't allowed. RobMen: Component guid generation. RobMen: SFBUG:1795309 - respect the rollback flag for the last SQL string like all the other strings. RobMen: SFBUG:1787888 - correctly handle certificates that are in Components that are conditioned out. RobMen: SFBUG:1675194 - loop through all server bindings when searching for a match. Index: wix.xsd =================================================================== RCS file: /cvsroot/wix/wix/src/wix/Xsd/wix.xsd,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** wix.xsd 3 Sep 2007 21:53:29 -0000 1.60 --- wix.xsd 21 Sep 2007 07:58:41 -0000 1.61 *************** *** 446,450 **** <xse:remarks> <html:p>The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as <html:i>ClientPatchId</html:i>.PatchCode and <html:i>ClientPatchId</html:i>.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix.</html:p> ! <html:p>For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value <html:code>[SystemFolder]msiexec.exe /package [ProductCode] /uninstall [QFE1.PatchCode]</html:code>. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the <html:i>prefix</html:i>.PatchCode property as shown above.</html:p> </xse:remarks> </xs:appinfo> --- 446,450 ---- <xse:remarks> <html:p>The ClientPatchId attribute allows you to specify an easily referenced identity that you can use in product authoring. This identity prefixes properties added by WiX to a patch transform, such as <html:i>ClientPatchId</html:i>.PatchCode and <html:i>ClientPatchId</html:i>.AllowRemoval. If the patch code GUID is auto-generated you could not reference any properties using this auto-generated prefix.</html:p> ! <html:p>For example, if you were planning to ship a patch referred to as "QFE1" and needed to write your own registry values for Add/Remove Programs in product authoring such as the UninstallString for this patch, you could author a RegistryValue with the name UninstallString and the value <html:code><html:nobr>[SystemFolder]msiexec.exe</html:nobr> /package [ProductCode] /uninstall [QFE1.PatchCode]</html:code>. In your patch authoring you would then set ClientPatchId to "QFE1" and WiX will add the QFE1.PatchCode property to the patch transform when the patch is created. If the Id attribute specified the patch code to be generated automatically, you could not reference the <html:i>prefix</html:i>.PatchCode property as shown above.</html:p> </xse:remarks> </xs:appinfo> *************** *** 454,457 **** --- 454,460 ---- <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="Media" minOccurs="1" maxOccurs="unbounded"/> + <xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1"> + <xs:annotation><xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation></xs:annotation> + </xs:element> <xs:element ref="PatchFamily" minOccurs="1" maxOccurs="unbounded"/> <xs:element ref="PatchFamilyRef" minOccurs="0" maxOccurs="unbounded"/> *************** *** 479,496 **** </xs:annotation> </xs:attribute> ! <xs:attribute name="Classification" use="required"> <xs:annotation> <xs:documentation>Category of updates.</xs:documentation> </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="Critical Update"/> - <xs:enumeration value="Hotfix"/> - <xs:enumeration value="Security Rollup"/> - <xs:enumeration value="Service Pack"/> - <xs:enumeration value="Update"/> - <xs:enumeration value="Update Rollup"/> - </xs:restriction> - </xs:simpleType> </xs:attribute> <xs:attribute name="ClientPatchId" type="xs:string"> --- 482,489 ---- </xs:annotation> </xs:attribute> ! <xs:attribute name="Classification" type="PatchClassificationType" use="required"> <xs:annotation> <xs:documentation>Category of updates.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ClientPatchId" type="xs:string"> *************** *** 514,517 **** --- 507,519 ---- </xs:annotation> </xs:attribute> + <xs:attribute name="MinorUpdateTargetRTM" type="YesNoType"> + <xs:annotation><xs:documentation> + Indicates that the patch targets the RTM version of the product or the most recent major + upgrade patch. Author this optional property in minor update patches that contain sequencing + information to indicate that the patch removes all patches up to the RTM version of the + product, or up to the most recent major upgrade patch. This property is available beginning + with Windows Installer 3.1. + </xs:documentation></xs:annotation> + </xs:attribute> <xs:attribute name="MoreInfoURL" type="xs:string"> <xs:annotation> *************** *** 519,522 **** --- 521,535 ---- </xs:annotation> </xs:attribute> + <xs:attribute name="OptimizedInstallMode" type="YesNoType"> + <xs:annotation><xs:documentation> + If this attribute is set to 'yes' in all the patches to be applied in a transaction, the + application of the patch is optimized if possible. Available beginning with Windows Installer 3.1. + </xs:documentation></xs:annotation> + </xs:attribute> + <xs:attribute name="TargetProductName" type="xs:string"> + <xs:annotation> + <xs:documentation>Name of the application or target product suite.</xs:documentation> + </xs:annotation> + </xs:attribute> </xs:complexType> </xs:element> *************** *** 631,634 **** --- 644,673 ---- </xs:element> + <xs:element name="OptimizeCustomActions"> + <xs:annotation> + <xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation> + <xs:appinfo> + <xse:msiRef table="MsiPatchMetadata" /> + </xs:appinfo> + </xs:annotation> + <xs:complexType> + <xs:attribute name="SkipAssignment" type="YesNoType"> + <xs:annotation> + <xs:documentation>Skip property (type 51) and directory (type 35) assignment custom actions.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="SkipImmediate" type="YesNoType"> + <xs:annotation> + <xs:documentation>Skip immediate custom actions that are not property or directory assignment custom actions.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="SkipDeferred" type="YesNoType"> + <xs:annotation> + <xs:documentation>Skip custom actions that run within the script.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + <xs:element name="PatchBaseline"> <xs:annotation><xs:documentation>Identifies a set of product versions.</xs:documentation></xs:annotation> *************** *** 817,825 **** </xs:annotation> <xs:complexType> ! <xs:choice> ! <xs:element ref="CustomProperty" minOccurs="0"> ! <xs:annotation><xs:documentation>A custom property that extends the standard set.</xs:documentation></xs:annotation> ! </xs:element> ! </xs:choice> <xs:attribute name="AllowRemoval" type="YesNoType" use="required"> --- 856,869 ---- </xs:annotation> <xs:complexType> ! <xs:sequence> ! <xs:choice minOccurs="0" maxOccurs="unbounded"> ! <xs:element ref="CustomProperty" minOccurs="0"> ! <xs:annotation><xs:documentation>A custom property that extends the standard set.</xs:documentation></xs:annotation> ! </xs:element> ! <xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1"> ! <xs:annotation><xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation></xs:annotation> ! </xs:element> ! </xs:choice> ! </xs:sequence> <xs:attribute name="AllowRemoval" type="YesNoType" use="required"> *************** *** 828,849 **** </xs:annotation> </xs:attribute> ! <xs:attribute name="Classification" use="required"> <xs:annotation> ! <xs:documentation>Category of updates.</xs:documentation> </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="Critical Update"/> - <xs:enumeration value="Hotfix"/> - <xs:enumeration value="Security Rollup"/> - <xs:enumeration value="Service Pack"/> - <xs:enumeration value="Update"/> - <xs:enumeration value="Update Rollup"/> - </xs:restriction> - </xs:simpleType> </xs:attribute> <xs:attribute name="CreationTimeUTC" type="xs:string"> <xs:annotation> ! <xs:documentation>Creation time of the .msp file in the form mm:dd:yy:HH:MM (month: day : year : hour : minute).</xs:documentation> </xs:annotation> </xs:attribute> --- 872,883 ---- </xs:annotation> </xs:attribute> ! <xs:attribute name="Classification" type="PatchClassificationType" use="required"> <xs:annotation> ! <xs:documentation>Category of update.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="CreationTimeUTC" type="xs:string"> <xs:annotation> ! <xs:documentation>Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).</xs:documentation> </xs:annotation> </xs:attribute> *************** *** 941,954 **** <xs:element name="PatchProperty"> ! <xs:annotation><xs:documentation>A property for this patch database.</xs:documentation></xs:annotation> <xs:complexType> <xs:attribute name="Name" type="xs:string" use="required"> <xs:annotation> ! <xs:documentation>Name of the patch creation property.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Value" type="xs:string" use="required"> <xs:annotation> ! <xs:documentation>Value of the patch creation property.</xs:documentation> </xs:annotation> </xs:attribute> --- 975,1001 ---- <xs:element name="PatchProperty"> ! <xs:annotation> ! <xs:documentation>A property for this patch database.</xs:documentation> ! <xs:appinfo> ! <xse:msiRef table="MsiPatchMetadata"/> ! <xse:remarks> ! <html:p>When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table.</html:p> ! </xse:remarks> ! </xs:appinfo> ! </xs:annotation> <xs:complexType> + <xs:attribute name="Company" type="xs:string"> + <xs:annotation> + <xs:documentation>Name of the company for a custom metadata property.</xs:documentation> + </xs:annotation> + </xs:attribute> <xs:attribute name="Name" type="xs:string" use="required"> <xs:annotation> ! <xs:documentation>Name of the patch property.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="Value" type="xs:string" use="required"> <xs:annotation> ! <xs:documentation>Value of the patch property.</xs:documentation> </xs:annotation> </xs:attribute> *************** *** 5206,5209 **** --- 5253,5268 ---- <xs:annotation><xs:documentation>This value is the unique identifier of the directory entry.</xs:documentation></xs:annotation> </xs:attribute> + <xs:attribute name="ComponentGuidGenerationSeed" type="Guid"> + <xs:annotation> + <xs:documentation> + The Component Guid Generation Seed is a guid that must be used when a Component with the generate guid directive ("*") + is not rooted in a standard Windows Installer directory (for example, ProgramFilesFolder or CommonFilesFolder, etc). + It is recommended that this attribute be avoided and that developers install their Components under standard + directories with unique names instead (for example, "ProgramFilesFolder\Company Name Product Name Version"). It is + important to note that once a directory is assigned a Component Guid Generation Seed the value must not change until + the directory name changes. + </xs:documentation> + </xs:annotation> + </xs:attribute> <xs:attribute name="DiskId" type="xs:integer"> <xs:annotation> *************** *** 8967,8969 **** --- 9026,9065 ---- </xs:restriction> </xs:simpleType> + <xs:simpleType name="PatchClassificationType"> + <xs:annotation> + <xs:documentation>Category of update.</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Critical Update"> + <xs:annotation> + <xs:documentation>A broadly released fix for a specific problem addressing a critical, non-security related bug.</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="Hotfix"> + <xs:annotation> + <xs:documentation>Hotfixes address a specific customer situation and generally should not be distributed outside the customer's organization.</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="Security Rollup"> + <xs:annotation> + <xs:documentation>A broadly released fix for a specific security-related related vulnerability.</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="Service Pack"> + <xs:annotation> + <xs:documentation>A cumulative set of all hotfixes, security rollups, critical updates, and updates, as well as additional fixes and even new features found since the release of the product.</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="Update"> + <xs:annotation> + <xs:documentation>A broadly released fix for a specific problem addressing a non-critical, non-security related bug.</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="Update Rollup"> + <xs:annotation> + <xs:documentation>A cumulative set of hotfixes, security rollups, critical updates, and updates packaged together which typically targets a specific area of a product.</xs:documentation> + </xs:annotation> + </xs:enumeration> + </xs:restriction> + </xs:simpleType> </xs:schema> |