1

我正在尝试创建一个新的本地组,然后在通过 WiX 安装期间将当前登录的 Active Directory 用户添加到该组。

我有两个部分工作,但不是同时工作......所以我可以使用Wix UserPrivileges Extension创建一个组,如下所示:

<Component Id="LocalSQLAdminGroupComponent" Guid="MYGUID" KeyPath="yes">
            <userPrivileges:LocalGroup Id="LocalSQLAdminsGroupCreate" Name="LocalSQLAdmins" 
                                       Description="Members of this group are designated as sql admins for the ISFS SQL Express instance." 
                                       CheckIfExists="yes" 
                                       CreateOnInstall="yes" 
                                       />

但是,当我添加它以将用户添加到 AD 中的组时(为什么我不能使用 userPriviledges:User 元素,因为它只适用于本地用户),安装程序出错,因为在 GroupRef 尝试分配之前尚未创建组组的用户。

<util:Group Id="LocalSQLAdminsGroup" Name="LocalSQLAdmins"/>
...
<util:User Id="ADUser" Domain="[%USERDOMAIN]" Name="[%USERNAME]">
   <util:GroupRef Id="LocalSQLAdminsGroup"/>
</util:User>

有没有办法可以确保在 GroupRef 尝试将其添加到组之前创建组?

4

1 回答 1

1

我不确定这是否可行,但您可以尝试一下。

<userPrivileges:LocalGroup>元素会导致在InstallExecuteSequence. 据我所知,它被称为CreateLocalGroups_Deferred. 类似地,该<util:User>元素会产生一个名为 的自定义操作CreateUser

您应该尝试在表格中的CreateUser自定义操作之后安排自定义操作。您可以使用元素的,和属性来做到这一点。CreateLocalGroups_DeferredInstallExecuteSequenceBeforeAfterSequence<Custom>

我可能对上面的确切名称有误,但我希望你能明白。

于 2012-07-13T07:00:37.150 回答