diff options
-rw-r--r-- | src/ext/Iis/wixext/IIsCompiler.cs | 2 | ||||
-rw-r--r-- | src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs | 2 | ||||
-rw-r--r-- | src/ext/UI/wixlib/WixUI_FeatureTree.wxs | 5 | ||||
-rw-r--r-- | src/xsd/iis.xsd | 11 | ||||
-rw-r--r-- | src/xsd/util.xsd | 52 | ||||
-rw-r--r-- | src/xsd/wix.xsd | 9 |
6 files changed, 69 insertions, 12 deletions
diff --git a/src/ext/Iis/wixext/IIsCompiler.cs b/src/ext/Iis/wixext/IIsCompiler.cs index 5e3c0a95..53160dcd 100644 --- a/src/ext/Iis/wixext/IIsCompiler.cs +++ b/src/ext/Iis/wixext/IIsCompiler.cs | |||
@@ -219,7 +219,7 @@ namespace WixToolset.Iis | |||
219 | break; | 219 | break; |
220 | default: | 220 | default: |
221 | storeLocation = -1; | 221 | storeLocation = -1; |
222 | this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, element.Name.LocalName, "StoreLocation", storeLocationValue, "currentUser", "localMachine")); | 222 | this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, element.Name.LocalName, "StoreLocation", storeLocationValue, "currentUser", "localMachine", "services", "users", "userPolicy", "localMachinePolicy", "localMachineEnterprise")); |
223 | break; | 223 | break; |
224 | } | 224 | } |
225 | } | 225 | } |
diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs index e06feac7..ae3a49be 100644 --- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs +++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs | |||
@@ -109,7 +109,7 @@ namespace WixToolsetTest.UI | |||
109 | var bindFolder = TestData.Get(@"TestData", "data"); | 109 | var bindFolder = TestData.Get(@"TestData", "data"); |
110 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); | 110 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { bindFolder }); |
111 | 111 | ||
112 | var results = build.BuildAndQuery(BuildX64, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); | 112 | var results = build.BuildAndQuery(Build, validate: true, "Binary", "Dialog", "CustomAction", "ControlEvent", "InstallUISequence"); |
113 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); | 113 | WixAssert.Single(results, result => result.StartsWith("Dialog:WelcomeDlg\t")); |
114 | WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); | 114 | WixAssert.Single(results, result => result.StartsWith("Dialog:CustomizeDlg\t")); |
115 | WixAssert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); | 115 | WixAssert.Empty(results.Where(result => result.StartsWith("Dialog:SetupTypeDlg\t"))); |
diff --git a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs index 5ec27445..a02ad28b 100644 --- a/src/ext/UI/wixlib/WixUI_FeatureTree.wxs +++ b/src/ext/UI/wixlib/WixUI_FeatureTree.wxs | |||
@@ -35,6 +35,8 @@ Patch dialog sequence: | |||
35 | 35 | ||
36 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> | 36 | <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> |
37 | 37 | ||
38 | <DialogRef Id="BrowseDlg" /> | ||
39 | <DialogRef Id="DiskCostDlg" /> | ||
38 | <DialogRef Id="ErrorDlg" /> | 40 | <DialogRef Id="ErrorDlg" /> |
39 | <DialogRef Id="FatalError" /> | 41 | <DialogRef Id="FatalError" /> |
40 | <DialogRef Id="FilesInUse" /> | 42 | <DialogRef Id="FilesInUse" /> |
@@ -56,6 +58,9 @@ Patch dialog sequence: | |||
56 | <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2" Condition="NOT Installed" /> | 58 | <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2" Condition="NOT Installed" /> |
57 | <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" /> | 59 | <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" /> |
58 | 60 | ||
61 | <Publish Dialog="BrowseDlg" Control="OK" Event="SetTargetPath" Value="[_BrowseProperty]" Order="3" /> | ||
62 | <Publish Dialog="BrowseDlg" Control="OK" Event="EndDialog" Value="Return" Order="4" /> | ||
63 | |||
59 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1" Condition="NOT Installed OR WixUI_InstallMode = "Change"" /> | 64 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1" Condition="NOT Installed OR WixUI_InstallMode = "Change"" /> |
60 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2" Condition="Installed AND NOT PATCH" /> | 65 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2" Condition="Installed AND NOT PATCH" /> |
61 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3" Condition="Installed AND PATCH" /> | 66 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3" Condition="Installed AND PATCH" /> |
diff --git a/src/xsd/iis.xsd b/src/xsd/iis.xsd index b43bff42..4bc59cf2 100644 --- a/src/xsd/iis.xsd +++ b/src/xsd/iis.xsd | |||
@@ -685,10 +685,21 @@ | |||
685 | </xs:simpleType> | 685 | </xs:simpleType> |
686 | </xs:attribute> | 686 | </xs:attribute> |
687 | <xs:attribute name="StoreLocation" use="required"> | 687 | <xs:attribute name="StoreLocation" use="required"> |
688 | <xs:annotation> | ||
689 | <xs:documentation> | ||
690 | This attribute controls which Certificate Store Location will be used for the Certificate. | ||
691 | See <a href="https://learn.microsoft.com/en-us/windows/win32/seccrypto/system-store-locations" target="_blank">MSDN documentation</a> for more information. | ||
692 | </xs:documentation> | ||
693 | </xs:annotation> | ||
688 | <xs:simpleType> | 694 | <xs:simpleType> |
689 | <xs:restriction base="xs:string"> | 695 | <xs:restriction base="xs:string"> |
690 | <xs:enumeration value="currentUser"/> | 696 | <xs:enumeration value="currentUser"/> |
691 | <xs:enumeration value="localMachine"/> | 697 | <xs:enumeration value="localMachine"/> |
698 | <xs:enumeration value="services"/> | ||
699 | <xs:enumeration value="users"/> | ||
700 | <xs:enumeration value="userPolicy"/> | ||
701 | <xs:enumeration value="localMachinePolicy"/> | ||
702 | <xs:enumeration value="localMachineEnterprise"/> | ||
692 | </xs:restriction> | 703 | </xs:restriction> |
693 | </xs:simpleType> | 704 | </xs:simpleType> |
694 | </xs:attribute> | 705 | </xs:attribute> |
diff --git a/src/xsd/util.xsd b/src/xsd/util.xsd index 1b649f48..c0a9e44a 100644 --- a/src/xsd/util.xsd +++ b/src/xsd/util.xsd | |||
@@ -701,19 +701,18 @@ | |||
701 | 701 | ||
702 | <xs:element name="Group"> | 702 | <xs:element name="Group"> |
703 | <xs:annotation> | 703 | <xs:annotation> |
704 | <xs:documentation>Group for all kinds of (usergroup) things. When it is not nested under a component it is included in the MSI so it can be referenced by other elements such as the GroupRef element under a User element (to add the User to the Group). When it is nested under a Component element, the Group will be created on install and can also be used for reference.</xs:documentation> | ||
704 | <xs:appinfo> | 705 | <xs:appinfo> |
706 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" /> | ||
705 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" /> | 707 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Fragment" /> |
706 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" /> | 708 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Module" /> |
707 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" /> | 709 | <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Package" /> |
710 | <xse:seeAlso ref="GroupRef" /> | ||
708 | </xs:appinfo> | 711 | </xs:appinfo> |
709 | <xs:documentation> | ||
710 | Finds user groups on the local machine or specified Active Directory domain. The local machine will be | ||
711 | searched for the group first then fallback to looking in Active Directory. This element is not capable | ||
712 | of creating new groups but can be used to add new or existing users to an existing group. | ||
713 | </xs:documentation> | ||
714 | </xs:annotation> | 712 | </xs:annotation> |
715 | <xs:complexType> | 713 | <xs:complexType> |
716 | <xs:choice minOccurs="0" maxOccurs="unbounded"> | 714 | <xs:choice minOccurs="0" maxOccurs="unbounded"> |
715 | <xs:element ref="GroupRef" minOccurs="0" maxOccurs="unbounded" /> | ||
717 | <xs:any namespace="##other" processContents="lax"> | 716 | <xs:any namespace="##other" processContents="lax"> |
718 | <xs:annotation> | 717 | <xs:annotation> |
719 | <xs:documentation> | 718 | <xs:documentation> |
@@ -730,7 +729,7 @@ | |||
730 | </xs:attribute> | 729 | </xs:attribute> |
731 | <xs:attribute name="Name" type="xs:string" use="required"> | 730 | <xs:attribute name="Name" type="xs:string" use="required"> |
732 | <xs:annotation> | 731 | <xs:annotation> |
733 | <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the group to be found.</xs:documentation> | 732 | <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the group.</xs:documentation> |
734 | </xs:annotation> | 733 | </xs:annotation> |
735 | </xs:attribute> | 734 | </xs:attribute> |
736 | <xs:attribute name="Domain" type="xs:string"> | 735 | <xs:attribute name="Domain" type="xs:string"> |
@@ -738,6 +737,41 @@ | |||
738 | <xs:documentation>An optional [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that specifies the domain for the group.</xs:documentation> | 737 | <xs:documentation>An optional [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that specifies the domain for the group.</xs:documentation> |
739 | </xs:annotation> | 738 | </xs:annotation> |
740 | </xs:attribute> | 739 | </xs:attribute> |
740 | <xs:attribute name="RemoveOnUninstall" type="wxs:YesNoTypeUnion"> | ||
741 | <xs:annotation> | ||
742 | <xs:documentation>Indicates whether the group should be removed or left behind on uninstall.</xs:documentation> | ||
743 | </xs:annotation> | ||
744 | </xs:attribute> | ||
745 | <xs:attribute name="FailIfExists" type="wxs:YesNoTypeUnion"> | ||
746 | <xs:annotation> | ||
747 | <xs:documentation>Indicates if the install should fail if the group already exists.</xs:documentation> | ||
748 | </xs:annotation> | ||
749 | </xs:attribute> | ||
750 | <xs:attribute name="UpdateIfExists" type="wxs:YesNoTypeUnion"> | ||
751 | <xs:annotation> | ||
752 | <xs:documentation>Indicates if the group properties should be updated if the group already exists.</xs:documentation> | ||
753 | </xs:annotation> | ||
754 | </xs:attribute> | ||
755 | <xs:attribute name="CreateGroup" type="wxs:YesNoTypeUnion"> | ||
756 | <xs:annotation> | ||
757 | <xs:documentation>Indicates whether or not to create the group. Group creation can be skipped if all that is desired is to add group memberships.</xs:documentation> | ||
758 | </xs:annotation> | ||
759 | </xs:attribute> | ||
760 | <xs:attribute name="Vital" type="wxs:YesNoTypeUnion"> | ||
761 | <xs:annotation> | ||
762 | <xs:documentation>Indicates whether failure to create the group or add the group to another group fails the installation. The default value is "yes".</xs:documentation> | ||
763 | </xs:annotation> | ||
764 | </xs:attribute> | ||
765 | <xs:attribute name="Comment" type="xs:string"> | ||
766 | <xs:annotation> | ||
767 | <xs:documentation>Optional comment to set on the group.</xs:documentation> | ||
768 | </xs:annotation> | ||
769 | </xs:attribute> | ||
770 | <xs:attribute name="RemoveComment" type="wxs:YesNoTypeUnion"> | ||
771 | <xs:annotation> | ||
772 | <xs:documentation>Indicates whether remove the comment from the group. The default value is "no".</xs:documentation> | ||
773 | </xs:annotation> | ||
774 | </xs:attribute> | ||
741 | <xs:anyAttribute namespace="##other" processContents="lax"> | 775 | <xs:anyAttribute namespace="##other" processContents="lax"> |
742 | <xs:annotation> | 776 | <xs:annotation> |
743 | <xs:documentation> | 777 | <xs:documentation> |
@@ -751,7 +785,7 @@ | |||
751 | 785 | ||
752 | <xs:element name="GroupRef"> | 786 | <xs:element name="GroupRef"> |
753 | <xs:annotation> | 787 | <xs:annotation> |
754 | <xs:documentation>Used to join a user to a group</xs:documentation> | 788 | <xs:documentation>Used to join a user / group to a group</xs:documentation> |
755 | </xs:annotation> | 789 | </xs:annotation> |
756 | <xs:complexType> | 790 | <xs:complexType> |
757 | <xs:choice minOccurs="0" maxOccurs="unbounded"> | 791 | <xs:choice minOccurs="0" maxOccurs="unbounded"> |
@@ -1853,12 +1887,12 @@ | |||
1853 | <xs:attribute name="Id" type="xs:string" /> | 1887 | <xs:attribute name="Id" type="xs:string" /> |
1854 | <xs:attribute name="Name" type="xs:string" use="required"> | 1888 | <xs:attribute name="Name" type="xs:string" use="required"> |
1855 | <xs:annotation> | 1889 | <xs:annotation> |
1856 | <xs:documentation>A [Formatted])(https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the user account.</xs:documentation> | 1890 | <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the name of the user account.</xs:documentation> |
1857 | </xs:annotation> | 1891 | </xs:annotation> |
1858 | </xs:attribute> | 1892 | </xs:attribute> |
1859 | <xs:attribute name="Domain" type="xs:string"> | 1893 | <xs:attribute name="Domain" type="xs:string"> |
1860 | <xs:annotation> | 1894 | <xs:annotation> |
1861 | <xs:documentation>A [Formatted])(https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the local machine or Active Directory domain for the user.</xs:documentation> | 1895 | <xs:documentation>A [Formatted](https://learn.microsoft.com/en-us/windows/win32/msi/formatted) string that contains the local machine or Active Directory domain for the user.</xs:documentation> |
1862 | </xs:annotation> | 1896 | </xs:annotation> |
1863 | </xs:attribute> | 1897 | </xs:attribute> |
1864 | <xs:attribute name="Password" type="xs:string"> | 1898 | <xs:attribute name="Password" type="xs:string"> |
diff --git a/src/xsd/wix.xsd b/src/xsd/wix.xsd index 4816ae8c..4229352c 100644 --- a/src/xsd/wix.xsd +++ b/src/xsd/wix.xsd | |||
@@ -2341,7 +2341,14 @@ | |||
2341 | </xs:annotation> | 2341 | </xs:annotation> |
2342 | </xs:any> | 2342 | </xs:any> |
2343 | </xs:choice> | 2343 | </xs:choice> |
2344 | <xs:attribute name="Id" type="Guid" use="required"> | 2344 | <xs:attribute name="Id" type="Guid"> |
2345 | <xs:annotation> | ||
2346 | <xs:appinfo> | ||
2347 | <xse:deprecated ref="Code" /> | ||
2348 | </xs:appinfo> | ||
2349 | </xs:annotation> | ||
2350 | </xs:attribute> | ||
2351 | <xs:attribute name="Code" type="Guid" use="required"> | ||
2345 | <xs:annotation> | 2352 | <xs:annotation> |
2346 | <xs:documentation>The identifier of the RelatedBundle group.</xs:documentation> | 2353 | <xs:documentation>The identifier of the RelatedBundle group.</xs:documentation> |
2347 | </xs:annotation> | 2354 | </xs:annotation> |