-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: User Group creation / removal and Group->Group membership creation #8577
Comments
Overall looks good! Please think about sending in multiple draft pull requests so we can review and provide feedback in manageable chunks. |
To replace the entire WixGroup current table name, or as an additional table, with a reference back to the original? vcsGroupQuery = L"SELECT `Group`, `Component_`, `Name`, `Domain` FROM `Wix4Group` WHERE `Group`=?";
or
vcsGroupQuery = L"SELECT `Group`, `Component_`, `Name`, `Domain`, `Comment`, `Attributes` FROM `Wix4Group`,`Wix6Group` ON `Group` = `Group_` WHERE `Group`=?";
I haven't tried it, but the There's almost certainly going to be a merge conflict against any fix for #8576. |
|
|
So I've changed my mind and agree on two tables. @robmen, do you have any concerns? |
@barnson I've got the basic Group Addition / Removal working. However I'm struggling a little on the best way to do the Group Membership modifications. I've got a couple of challenges:
|
User story
As a setup developer, I need to configure custom User Groups (both Local / Domain level) to handle grouping together of authorizations for my applications. This requires that I either need to be able to author these groups and default memberships into an installer process (MSI), or that I need to document for the end user(s) how to perform these actions steps themselves.
It should be easy for me to author an installer within WiX that allows for creation (at install time) of Local / Domain user groups, and to configure both user and nested group memberships for groups.
Proposal
The proposal consists of two aspects:
Currently the below is NOT allowed:
The proposal is to allow this syntax of nesting a
util:Group
element under aComponent
element (similar to theutil:User
element), and to expand theutil:Group
element attributes similar to that available for theutil:User
NOTE: nullable syntax show for types below.. i.e. FormattedString? indicates that entry is not required (can be null)
This would leverage the
NetGroupAdd
/NetGroupDel
functions (lmaccess.h), along with theNetGroupSetInfo
(to set the Group comment if the Group already exists).The current proposal would be the extend the existing
Wix4Group
table with the additional columns:Comment
,Attributes
to accommodate the data ingestion into the custom action.
An alternative would be to create a new
Wix4CreateGroup
table, with these columns alongside a reference column back to the Wix4Group table. This may be more desirable to maintain backwards compatibility for Patches.This would leverage the
NetLocalGroupAddMembers
function (lmaccess.h) to create the membership relationship between the two groups.A new
Wix4GroupGroup
table (naming just based onWix4UserGroup
.. perhaps a more descriptiveWix4GroupMembership
might be warranted), this table would just have two columns:Member_
,Group_
following the ordering of the Wix4UserGroup table
Sequencing of execution would be:
Considerations
Reference to the following two prior feature requests:
#1347
#2186
NOT CURRENTLY PROPOSED:
Another possibility might be to support nesting
util:Group
underutil:Group
elements, as below:Or possibly doing similar with
util:User
I think this would be trickier to support, since the current
util:User
logic simply considers if the immediate parent is aComponent
type, and if so flags it for creation. Having nested levels may make this more confusing for an author, as well as more challenging for the WiX compiler logic.The text was updated successfully, but these errors were encountered: