aboutsummaryrefslogtreecommitdiff
path: root/src/xsd
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2025-12-13 12:25:56 -0800
committerRob Mensching <rob@firegiant.com>2025-12-13 13:32:00 -0800
commit5b06ff3dea5d96c11515ab979cb3a78deb3e07ad (patch)
treee0e7004e883c4255a0b7d6b957d66ee391c0dd22 /src/xsd
parentcc7761ee19ad4bf6bfed5094b8af309a6638c79f (diff)
downloadwix-5b06ff3dea5d96c11515ab979cb3a78deb3e07ad.tar.gz
wix-5b06ff3dea5d96c11515ab979cb3a78deb3e07ad.tar.bz2
wix-5b06ff3dea5d96c11515ab979cb3a78deb3e07ad.zip
Properly deprecate PatchCreation and remove mostly dead code
Resolves 9099
Diffstat (limited to 'src/xsd')
-rw-r--r--src/xsd/wix.xsd507
1 files changed, 9 insertions, 498 deletions
diff --git a/src/xsd/wix.xsd b/src/xsd/wix.xsd
index 05de58c6..b8e69f29 100644
--- a/src/xsd/wix.xsd
+++ b/src/xsd/wix.xsd
@@ -34,7 +34,6 @@
34 <xs:element ref="Package" /> 34 <xs:element ref="Package" />
35 <xs:element ref="Module" /> 35 <xs:element ref="Module" />
36 <xs:element ref="Patch" /> 36 <xs:element ref="Patch" />
37 <xs:element ref="PatchCreation" />
38 </xs:choice> 37 </xs:choice>
39 <xs:element ref="Fragment" minOccurs="0" maxOccurs="unbounded" /> 38 <xs:element ref="Fragment" minOccurs="0" maxOccurs="unbounded" />
40 </xs:sequence> 39 </xs:sequence>
@@ -3384,77 +3383,6 @@
3384 </xs:annotation> 3383 </xs:annotation>
3385 </xs:anyAttribute> 3384 </xs:anyAttribute>
3386 </xs:complexType> 3385 </xs:complexType>
3387</xs:element>
3388 <xs:element name="PatchCreation">
3389 <xs:annotation>
3390 <xs:documentation>
3391 The PatchCreation element is analogous to the main function in a C program. When linking, only one PatchCreation section
3392 can be given to the linker to produce a successful result. Using this element creates a pcp file.
3393 </xs:documentation>
3394 <xs:appinfo>
3395 <xse:remarks>
3396 <html:p>You can specify any valid Windows code by by integer like 1252, or by web name like Windows-1252. See [Code pages](../../../tools/codepage/) for more information.</html:p>
3397 </xse:remarks>
3398 </xs:appinfo>
3399 </xs:annotation>
3400 <xs:complexType>
3401 <xs:sequence>
3402 <xs:element ref="PatchInformation" />
3403 <xs:element ref="PatchMetadata" minOccurs="0" />
3404 <xs:element ref="Family" maxOccurs="unbounded" />
3405 <xs:choice minOccurs="0" maxOccurs="unbounded">
3406 <xs:element ref="PatchProperty" />
3407 <xs:element ref="PatchSequence" />
3408 <xs:element ref="ReplacePatch" />
3409 <xs:element ref="TargetProductCode" />
3410 </xs:choice>
3411 </xs:sequence>
3412 <xs:attribute name="Id" type="Guid" use="required">
3413 <xs:annotation>
3414 <xs:documentation>PatchCreation identifier; this is the primary key for identifying patches.</xs:documentation>
3415 </xs:annotation>
3416 </xs:attribute>
3417 <xs:attribute name="AllowMajorVersionMismatches" type="YesNoTypeUnion">
3418 <xs:annotation>
3419 <xs:documentation>Use this to set whether the major versions between the upgrade and target images match. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">AllowProductVersionMajorMismatches</html:a> for more information.</xs:documentation>
3420 </xs:annotation>
3421 </xs:attribute>
3422 <xs:attribute name="AllowProductCodeMismatches" type="YesNoTypeUnion">
3423 <xs:annotation>
3424 <xs:documentation>Use this to set whether the product code between the upgrade and target images match. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">AllowProductCodeMismatches</html:a> for more information.</xs:documentation>
3425 </xs:annotation>
3426 </xs:attribute>
3427 <xs:attribute name="CleanWorkingFolder" type="YesNoTypeUnion">
3428 <xs:annotation>
3429 <xs:documentation>Use this to set whether Patchwiz should clean the temp folder when finished. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">DontRemoveTempFolderWhenFinished</html:a> for more information. </xs:documentation>
3430 </xs:annotation>
3431 </xs:attribute>
3432 <xs:attribute name="Codepage" type="xs:string">
3433 <xs:annotation>
3434 <xs:documentation>The code page integer value or web name for the resulting PCP. See remarks for more information.</xs:documentation>
3435 </xs:annotation>
3436 </xs:attribute>
3437 <xs:attribute name="OutputPath" type="xs:string">
3438 <xs:annotation>
3439 <xs:documentation>The full path, including file name, of the patch package file that is to be generated. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">PatchOutputPath</html:a> for more information.</xs:documentation>
3440 </xs:annotation>
3441 </xs:attribute>
3442 <xs:attribute name="SourceList" type="xs:string">
3443 <xs:annotation>
3444 <xs:documentation>Used to locate the .msp file for the patch if the cached copy is unavailable. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">PatchSourceList</html:a> for more information.</xs:documentation>
3445 </xs:annotation>
3446 </xs:attribute>
3447 <xs:attribute name="SymbolFlags" type="xs:int">
3448 <xs:annotation>
3449 <xs:documentation>An 8-digit hex integer representing the combination of patch symbol usage flags to use when creating a binary file patch. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">ApiPatchingSymbolFlags</html:a> for more information.</xs:documentation>
3450 </xs:annotation>
3451 </xs:attribute>
3452 <xs:attribute name="WholeFilesOnly" type="YesNoTypeUnion">
3453 <xs:annotation>
3454 <xs:documentation>Use this to set whether changing files should be included in their entirety. See <html:a href="http://msdn.microsoft.com/library/aa370890.aspx">IncludeWholeFilesOnly</html:a> for more information.</xs:documentation>
3455 </xs:annotation>
3456 </xs:attribute>
3457 </xs:complexType>
3458 </xs:element> 3386 </xs:element>
3459 <xs:element name="PatchInformation"> 3387 <xs:element name="PatchInformation">
3460 <xs:annotation> 3388 <xs:annotation>
@@ -3537,123 +3465,6 @@
3537 </xs:attribute> 3465 </xs:attribute>
3538 </xs:complexType> 3466 </xs:complexType>
3539 </xs:element> 3467 </xs:element>
3540 <xs:element name="PatchMetadata">
3541 <xs:annotation>
3542 <xs:documentation>Properties about the patch to be placed in the PatchMetadata table.</xs:documentation>
3543 <xs:appinfo>
3544 <xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" />
3545 </xs:appinfo>
3546 </xs:annotation>
3547 <xs:complexType>
3548 <xs:sequence>
3549 <xs:choice minOccurs="0" maxOccurs="unbounded">
3550 <xs:element ref="CustomProperty" minOccurs="0">
3551 <xs:annotation>
3552 <xs:documentation>A custom property that extends the standard set.</xs:documentation>
3553 </xs:annotation>
3554 </xs:element>
3555 <xs:element ref="OptimizeCustomActions" minOccurs="0" maxOccurs="1">
3556 <xs:annotation>
3557 <xs:documentation>Indicates whether custom actions can be skipped when applying the patch.</xs:documentation>
3558 </xs:annotation>
3559 </xs:element>
3560 </xs:choice>
3561 </xs:sequence>
3562 <xs:attribute name="AllowRemoval" type="YesNoTypeUnion" use="required">
3563 <xs:annotation>
3564 <xs:documentation>Whether this is an uninstallable patch.</xs:documentation>
3565 </xs:annotation>
3566 </xs:attribute>
3567 <xs:attribute name="Classification" type="xs:string" use="required">
3568 <xs:annotation>
3569 <xs:documentation>Category of updates. Recommended values are Critical Update, Hotfix, Security Rollup, Security Update, Service Pack, Update, Update Rollup.</xs:documentation>
3570 </xs:annotation>
3571 </xs:attribute>
3572 <xs:attribute name="CreationTimeUTC" type="xs:string">
3573 <xs:annotation>
3574 <xs:documentation>Creation time of the .msp file in the form mm-dd-yy HH:MM (month-day-year hour:minute).</xs:documentation>
3575 </xs:annotation>
3576 </xs:attribute>
3577 <xs:attribute name="Description" type="xs:string" use="required">
3578 <xs:annotation>
3579 <xs:documentation>Description of the patch.</xs:documentation>
3580 </xs:annotation>
3581 </xs:attribute>
3582 <xs:attribute name="DisplayName" type="xs:string" use="required">
3583 <xs:annotation>
3584 <xs:documentation>A title for the patch that is suitable for public display. In Add/Remove Programs from XP SP2 on.</xs:documentation>
3585 </xs:annotation>
3586 </xs:attribute>
3587 <xs:attribute name="ManufacturerName" type="xs:string" use="required">
3588 <xs:annotation>
3589 <xs:documentation>Name of the manufacturer.</xs:documentation>
3590 </xs:annotation>
3591 </xs:attribute>
3592 <xs:attribute name="MinorUpdateTargetRTM" type="xs:string">
3593 <xs:annotation>
3594 <xs:documentation>
3595 Indicates that the patch targets the RTM version of the product or the most recent major
3596 upgrade patch. Author this optional property in minor update patches that contain sequencing
3597 information to indicate that the patch removes all patches up to the RTM version of the
3598 product, or up to the most recent major upgrade patch. This property is available beginning
3599 with Windows Installer 3.1.
3600 </xs:documentation>
3601 </xs:annotation>
3602 </xs:attribute>
3603 <xs:attribute name="MoreInfoURL" type="xs:string" use="required">
3604 <xs:annotation>
3605 <xs:documentation>A URL that provides information specific to this patch. In Add/Remove Programs from XP SP2 on.</xs:documentation>
3606 </xs:annotation>
3607 </xs:attribute>
3608 <xs:attribute name="OptimizedInstallMode" type="YesNoTypeUnion">
3609 <xs:annotation>
3610 <xs:documentation>
3611 If this attribute is set to 'yes' in all the patches to be applied in a transaction, the
3612 application of the patch is optimized if possible. Available beginning with Windows Installer 3.1.
3613 </xs:documentation>
3614 </xs:annotation>
3615 </xs:attribute>
3616 <xs:attribute name="TargetProductName" type="xs:string" use="required">
3617 <xs:annotation>
3618 <xs:documentation>Name of the application or target product suite.</xs:documentation>
3619 </xs:annotation>
3620 </xs:attribute>
3621 </xs:complexType>
3622 </xs:element>
3623 <xs:element name="CustomProperty">
3624 <xs:annotation>
3625 <xs:documentation>A custom property for the PatchMetadata table.</xs:documentation>
3626 </xs:annotation>
3627 <xs:complexType>
3628 <xs:attribute name="Company" type="xs:string" use="required">
3629 <xs:annotation>
3630 <xs:documentation>The name of the company.</xs:documentation>
3631 </xs:annotation>
3632 </xs:attribute>
3633 <xs:attribute name="Property" type="xs:string" use="required">
3634 <xs:annotation>
3635 <xs:documentation>The name of the metadata property.</xs:documentation>
3636 </xs:annotation>
3637 </xs:attribute>
3638 <xs:attribute name="Value" type="xs:string" use="required">
3639 <xs:annotation>
3640 <xs:documentation>Value of the metadata property.</xs:documentation>
3641 </xs:annotation>
3642 </xs:attribute>
3643 </xs:complexType>
3644 </xs:element>
3645 <xs:element name="ReplacePatch">
3646 <xs:annotation>
3647 <xs:documentation>A patch that is deprecated by this patch.</xs:documentation>
3648 </xs:annotation>
3649 <xs:complexType>
3650 <xs:attribute name="Id" type="Guid" use="required">
3651 <xs:annotation>
3652 <xs:documentation>Patch GUID to be unregistered if it exists on the machine targeted by this patch.</xs:documentation>
3653 </xs:annotation>
3654 </xs:attribute>
3655 </xs:complexType>
3656 </xs:element>
3657 <xs:element name="TargetProductCodes"> 3468 <xs:element name="TargetProductCodes">
3658 <xs:annotation> 3469 <xs:annotation>
3659 <xs:documentation> 3470 <xs:documentation>
@@ -3674,12 +3485,11 @@
3674 <xs:element name="TargetProductCode"> 3485 <xs:element name="TargetProductCode">
3675 <xs:annotation> 3486 <xs:annotation>
3676 <xs:documentation> 3487 <xs:documentation>
3677 A product code for a product that can accept the patch. 3488 A product code for a product that can accept the patch.
3678 </xs:documentation> 3489 </xs:documentation>
3679 <xs:appinfo> 3490 <xs:appinfo>
3680 <xse:remarks> 3491 <xse:remarks>
3681 <html:p>When using the PatchCreation element, if the Id attribute value is '*' or this element is not authored, the product codes of all products referenced by the TargetImages element are used.</html:p> 3492 The Id attribute value must not be '*'. Use the TargetProductCodes/@Replace attribute instead.
3682 <html:p>When using the Patch element, the Id attribute value must not be '*'. Use the TargetProductCodes/@Replace attribute instead.</html:p>
3683 </xse:remarks> 3493 </xse:remarks>
3684 </xs:appinfo> 3494 </xs:appinfo>
3685 </xs:annotation> 3495 </xs:annotation>
@@ -3687,8 +3497,8 @@
3687 <xs:attribute name="Id" type="xs:string" use="required"> 3497 <xs:attribute name="Id" type="xs:string" use="required">
3688 <xs:annotation> 3498 <xs:annotation>
3689 <xs:documentation> 3499 <xs:documentation>
3690 The product code for a product that can accept the patch. This can be '*'. See remarks for more information. 3500 The product code for a product that can accept the patch. This can be '*'. See remarks for more information.
3691 </xs:documentation> 3501 </xs:documentation>
3692 </xs:annotation> 3502 </xs:annotation>
3693 </xs:attribute> 3503 </xs:attribute>
3694 </xs:complexType> 3504 </xs:complexType>
@@ -3699,7 +3509,7 @@
3699 <xs:appinfo> 3509 <xs:appinfo>
3700 <xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" /> 3510 <xse:msiRef table="MsiPatchMetadata" href="http://msdn.microsoft.com/library/aa370344.aspx" />
3701 <xse:remarks> 3511 <xse:remarks>
3702 <html:p>When authored under the Patch element, the PatchProperty defines entries in the MsiPatchMetadata table.</html:p> 3512 The PatchProperty defines entries in the MsiPatchMetadata table.
3703 </xse:remarks> 3513 </xse:remarks>
3704 </xs:appinfo> 3514 </xs:appinfo>
3705 </xs:annotation> 3515 </xs:annotation>
@@ -3721,305 +3531,6 @@
3721 </xs:attribute> 3531 </xs:attribute>
3722 </xs:complexType> 3532 </xs:complexType>
3723 </xs:element> 3533 </xs:element>
3724 <xs:element name="PatchSequence">
3725 <xs:annotation>
3726 <xs:documentation>Sequence information for this patch database. Sequence information is generated automatically in most cases, and rarely needs to be set explicitly.</xs:documentation>
3727 <xs:appinfo>
3728 <xse:msiRef table="MsiPatchSequence" href="http://msdn.microsoft.com/library/aa370350.aspx" />
3729 </xs:appinfo>
3730 </xs:annotation>
3731 <xs:complexType>
3732 <xs:attribute name="PatchFamily" type="xs:string" use="required">
3733 <xs:annotation>
3734 <xs:documentation>Identifier which indicates a sequence family to which this patch belongs.</xs:documentation>
3735 </xs:annotation>
3736 </xs:attribute>
3737 <xs:attribute name="ProductCode" type="Guid">
3738 <xs:annotation>
3739 <xs:documentation>
3740 Specifies the ProductCode of the product that this family applies to.
3741 This attribute cannot the specified if the TargetImage attribute is specified.
3742 </xs:documentation>
3743 </xs:annotation>
3744 </xs:attribute>
3745 <xs:attribute name="Sequence" type="xs:string">
3746 <xs:annotation>
3747 <xs:documentation>Used to populate the sequence column of the MsiPatchSequence table in the final MSP file. Specified in x.x.x.x format. See documentation for Sequence column of MsiPatchSequence table in MSI SDK.</xs:documentation>
3748 </xs:annotation>
3749 </xs:attribute>
3750 <xs:attribute name="Supersede" type="YesNoTypeUnion">
3751 <xs:annotation>
3752 <xs:documentation>
3753 Set this value to 'yes' to indicate that this patch will supersede all previous patches in this patch family.
3754 The default value is 'no'.
3755 </xs:documentation>
3756 </xs:annotation>
3757 </xs:attribute>
3758 <xs:attribute name="Target" type="xs:string">
3759 <xs:annotation>
3760 <xs:appinfo>
3761 <xse:deprecated ref="TargetImage" />
3762 </xs:appinfo>
3763 </xs:annotation>
3764 </xs:attribute>
3765 <xs:attribute name="TargetImage" type="xs:string">
3766 <xs:annotation>
3767 <xs:documentation>
3768 Specifies the TargetImage that this family applies to.
3769 This attribute cannot the specified if the ProductCode attribute is specified.
3770 </xs:documentation>
3771 </xs:annotation>
3772 </xs:attribute>
3773 </xs:complexType>
3774 </xs:element>
3775 <xs:element name="Family">
3776 <xs:annotation>
3777 <xs:documentation>Group of one or more upgraded images of a product.</xs:documentation>
3778 </xs:annotation>
3779 <xs:complexType>
3780 <xs:sequence>
3781 <xs:element ref="UpgradeImage" maxOccurs="unbounded" />
3782 <xs:choice minOccurs="0" maxOccurs="unbounded">
3783 <xs:element ref="ExternalFile" />
3784 <xs:element ref="ProtectFile" />
3785 </xs:choice>
3786 </xs:sequence>
3787 <xs:attribute name="DiskId" type="DiskIdType">
3788 <xs:annotation>
3789 <xs:documentation>Entered into the DiskId field of the new Media table record.</xs:documentation>
3790 </xs:annotation>
3791 </xs:attribute>
3792 <xs:attribute name="DiskPrompt" type="xs:string">
3793 <xs:annotation>
3794 <xs:documentation>Value to display in the "[1]" of the DiskPrompt Property. Using this attribute will require you to define a DiskPrompt Property.</xs:documentation>
3795 </xs:annotation>
3796 </xs:attribute>
3797 <xs:attribute name="MediaSrcProp" type="xs:string">
3798 <xs:annotation>
3799 <xs:documentation>Entered into the Source field of the new Media table entry of the upgraded image.</xs:documentation>
3800 </xs:annotation>
3801 </xs:attribute>
3802 <xs:attribute name="Name" type="xs:string" use="required">
3803 <xs:annotation>
3804 <xs:documentation>Identifier for the family.</xs:documentation>
3805 </xs:annotation>
3806 </xs:attribute>
3807 <xs:attribute name="SequenceStart" type="xs:int">
3808 <xs:annotation>
3809 <xs:documentation>Sequence number for the starting file.</xs:documentation>
3810 </xs:annotation>
3811 </xs:attribute>
3812 <xs:attribute name="VolumeLabel" type="xs:string">
3813 <xs:annotation>
3814 <xs:documentation>Entered into the VolumeLabel field of the new Media table record.</xs:documentation>
3815 </xs:annotation>
3816 </xs:attribute>
3817 </xs:complexType>
3818 </xs:element>
3819 <xs:element name="UpgradeImage">
3820 <xs:annotation>
3821 <xs:documentation>Contains information about the upgraded images of the product.</xs:documentation>
3822 </xs:annotation>
3823 <xs:complexType>
3824 <xs:sequence>
3825 <xs:element ref="TargetImage" maxOccurs="unbounded" />
3826 <xs:choice minOccurs="0" maxOccurs="unbounded">
3827 <xs:element ref="SymbolPath" />
3828 <xs:element ref="UpgradeFile" />
3829 </xs:choice>
3830 </xs:sequence>
3831 <xs:attribute name="Id" type="xs:string" use="required">
3832 <xs:annotation>
3833 <xs:documentation>Identifier to connect target images with upgraded image.</xs:documentation>
3834 </xs:annotation>
3835 </xs:attribute>
3836 <xs:attribute name="SourceFile" type="xs:string">
3837 <xs:annotation>
3838 <xs:documentation>Full path to location of msi file for upgraded image.</xs:documentation>
3839 </xs:annotation>
3840 </xs:attribute>
3841 <xs:attribute name="SourcePatch" type="xs:string">
3842 <xs:annotation>
3843 <xs:documentation>Modified copy of the upgraded installation database that contains additional authoring specific to patching.</xs:documentation>
3844 </xs:annotation>
3845 </xs:attribute>
3846 </xs:complexType>
3847 </xs:element>
3848 <xs:element name="TargetImage">
3849 <xs:annotation>
3850 <xs:documentation>Contains information about the target images of the product.</xs:documentation>
3851 </xs:annotation>
3852 <xs:complexType>
3853 <xs:choice minOccurs="0" maxOccurs="unbounded">
3854 <xs:element ref="SymbolPath" />
3855 <xs:element ref="TargetFile" />
3856 </xs:choice>
3857 <xs:attribute name="Id" type="xs:string" use="required">
3858 <xs:annotation>
3859 <xs:documentation>Identifier for the target image.</xs:documentation>
3860 </xs:annotation>
3861 </xs:attribute>
3862 <xs:attribute name="SourceFile" type="xs:string">
3863 <xs:annotation>
3864 <xs:documentation>Full path to the location of the msi file for the target image.</xs:documentation>
3865 </xs:annotation>
3866 </xs:attribute>
3867 <xs:attribute name="Order" type="xs:int" use="required">
3868 <xs:annotation>
3869 <xs:documentation>Relative order of the target image.</xs:documentation>
3870 </xs:annotation>
3871 </xs:attribute>
3872 <xs:attribute name="Validation" type="xs:string">
3873 <xs:annotation>
3874 <xs:documentation>Product checking to avoid applying irrelevant transforms.</xs:documentation>
3875 </xs:annotation>
3876 </xs:attribute>
3877 <xs:attribute name="IgnoreMissingFiles" type="YesNoTypeUnion">
3878 <xs:annotation>
3879 <xs:documentation>Files missing from the target image are ignored by the installer.</xs:documentation>
3880 </xs:annotation>
3881 </xs:attribute>
3882 </xs:complexType>
3883 </xs:element>
3884 <xs:element name="TargetFile">
3885 <xs:annotation>
3886 <xs:documentation>Information about specific files in a target image.</xs:documentation>
3887 </xs:annotation>
3888 <xs:complexType>
3889 <xs:sequence>
3890 <xs:element ref="SymbolPath" minOccurs="0" />
3891 <xs:choice minOccurs="0" maxOccurs="unbounded">
3892 <xs:element ref="IgnoreRange" />
3893 <xs:element ref="ProtectRange" />
3894 </xs:choice>
3895 </xs:sequence>
3896 <xs:attribute name="Id" type="xs:string" use="required">
3897 <xs:annotation>
3898 <xs:documentation>Foreign key into the File table.</xs:documentation>
3899 </xs:annotation>
3900 </xs:attribute>
3901 </xs:complexType>
3902 </xs:element>
3903 <xs:element name="IgnoreRange">
3904 <xs:annotation>
3905 <xs:documentation>Specifies part of a file that is to be ignored during patching.</xs:documentation>
3906 </xs:annotation>
3907 <xs:complexType>
3908 <xs:attribute name="Offset" type="xs:int" use="required">
3909 <xs:annotation>
3910 <xs:documentation>Offset of the start of the range.</xs:documentation>
3911 </xs:annotation>
3912 </xs:attribute>
3913 <xs:attribute name="Length" type="xs:int" use="required">
3914 <xs:annotation>
3915 <xs:documentation>Length of the range.</xs:documentation>
3916 </xs:annotation>
3917 </xs:attribute>
3918 </xs:complexType>
3919 </xs:element>
3920 <xs:element name="ProtectRange">
3921 <xs:annotation>
3922 <xs:documentation>Specifies part of a file that cannot be overwritten during patching.</xs:documentation>
3923 </xs:annotation>
3924 <xs:complexType>
3925 <xs:attribute name="Offset" type="xs:int" use="required">
3926 <xs:annotation>
3927 <xs:documentation>Offset of the start of the range.</xs:documentation>
3928 </xs:annotation>
3929 </xs:attribute>
3930 <xs:attribute name="Length" type="xs:int" use="required">
3931 <xs:annotation>
3932 <xs:documentation>Length of the range.</xs:documentation>
3933 </xs:annotation>
3934 </xs:attribute>
3935 </xs:complexType>
3936 </xs:element>
3937 <xs:element name="ProtectFile">
3938 <xs:annotation>
3939 <xs:documentation>Specifies a file to be protected.</xs:documentation>
3940 </xs:annotation>
3941 <xs:complexType>
3942 <xs:choice maxOccurs="unbounded">
3943 <xs:element ref="ProtectRange" />
3944 </xs:choice>
3945 <xs:attribute name="File" type="xs:string" use="required">
3946 <xs:annotation>
3947 <xs:documentation>Foreign key into the File table.</xs:documentation>
3948 </xs:annotation>
3949 </xs:attribute>
3950 </xs:complexType>
3951 </xs:element>
3952 <xs:element name="ExternalFile">
3953 <xs:annotation>
3954 <xs:documentation>Contains information about specific files that are not part of a regular target image.</xs:documentation>
3955 </xs:annotation>
3956 <xs:complexType>
3957 <xs:sequence>
3958 <xs:element ref="ProtectRange" maxOccurs="unbounded" />
3959 <xs:element ref="SymbolPath" maxOccurs="unbounded" />
3960 <xs:choice minOccurs="0" maxOccurs="unbounded">
3961 <xs:element ref="IgnoreRange" />
3962 </xs:choice>
3963 </xs:sequence>
3964 <xs:attribute name="File" type="xs:string" use="required">
3965 <xs:annotation>
3966 <xs:documentation>Foreign key into the File table.</xs:documentation>
3967 </xs:annotation>
3968 </xs:attribute>
3969 <xs:attribute name="Source" type="xs:string">
3970 <xs:annotation>
3971 <xs:documentation>Full path of the external file.</xs:documentation>
3972 </xs:annotation>
3973 </xs:attribute>
3974 <xs:attribute name="Order" type="xs:int" use="required">
3975 <xs:annotation>
3976 <xs:documentation>Specifies the order of the external files to use when creating the patch.</xs:documentation>
3977 </xs:annotation>
3978 </xs:attribute>
3979 </xs:complexType>
3980 </xs:element>
3981 <xs:element name="UpgradeFile">
3982 <xs:annotation>
3983 <xs:documentation>Specifies files to either ignore or to specify optional data about a file.</xs:documentation>
3984 </xs:annotation>
3985 <xs:complexType>
3986 <xs:choice minOccurs="0" maxOccurs="unbounded">
3987 <xs:element ref="SymbolPath" />
3988 </xs:choice>
3989 <xs:attribute name="File" type="xs:string" use="required">
3990 <xs:annotation>
3991 <xs:documentation>Foreign key into the File table.</xs:documentation>
3992 </xs:annotation>
3993 </xs:attribute>
3994 <xs:attribute name="Ignore" type="YesNoTypeUnion" use="required">
3995 <xs:annotation>
3996 <xs:documentation>If yes, the file is ignored during patching, and the next two attributes are ignored.</xs:documentation>
3997 </xs:annotation>
3998 </xs:attribute>
3999 <xs:attribute name="AllowIgnoreOnError" type="YesNoTypeUnion">
4000 <xs:annotation>
4001 <xs:documentation>Specifies whether patching this file is vital.</xs:documentation>
4002 </xs:annotation>
4003 </xs:attribute>
4004 <xs:attribute name="WholeFile" type="YesNoTypeUnion">
4005 <xs:annotation>
4006 <xs:documentation>Whether the whole file should be installed, rather than creating a binary patch.</xs:documentation>
4007 </xs:annotation>
4008 </xs:attribute>
4009 </xs:complexType>
4010 </xs:element>
4011 <xs:element name="SymbolPath">
4012 <xs:annotation>
4013 <xs:documentation>A path to symbols.</xs:documentation>
4014 </xs:annotation>
4015 <xs:complexType>
4016 <xs:attribute name="Path" type="xs:string" use="required">
4017 <xs:annotation>
4018 <xs:documentation>The path.</xs:documentation>
4019 </xs:annotation>
4020 </xs:attribute>
4021 </xs:complexType>
4022 </xs:element>
4023 <xs:element name="SummaryInformation"> 3534 <xs:element name="SummaryInformation">
4024 <xs:annotation> 3535 <xs:annotation>
4025 <xs:documentation> 3536 <xs:documentation>
@@ -4063,9 +3574,9 @@
4063 <xs:element name="AssemblyName"> 3574 <xs:element name="AssemblyName">
4064 <xs:annotation> 3575 <xs:annotation>
4065 <xs:documentation> 3576 <xs:documentation>
4066 The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly. 3577 The MsiAssemblyName table specifies the schema for the elements of a strong assembly cache name for a .NET Framework or Win32 assembly.
4067 Consider using the Assembly attribute on File element to have the toolset populate these entries automatically. 3578 Consider using the Assembly attribute on File element to have the toolset populate these entries automatically.
4068 </xs:documentation> 3579 </xs:documentation>
4069 <xs:appinfo> 3580 <xs:appinfo>
4070 <xse:msiRef table="MsiAssemblyName" href="http://msdn.microsoft.com/library/aa370062.aspx" /> 3581 <xse:msiRef table="MsiAssemblyName" href="http://msdn.microsoft.com/library/aa370062.aspx" />
4071 </xs:appinfo> 3582 </xs:appinfo>