1

新しいローカル グループを作成し、現在ログインしている Active Directory ユーザーを WiX 経由のインストール中にそのグループに追加しようとしています。

2つの部分が機能していますが、同時にではありません...したがって、次のように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 が GroupRef をグループに追加しようとする前に Group が確実に作成されるようにする方法はありますか?

4

1 に答える 1

1

これが機能するかどうかはわかりませんが、試してみてください。

この<userPrivileges:LocalGroup>要素により、 のどこかでスケジュールされたカスタム アクションが延期されInstallExecuteSequenceます。私が見る限り、それは と呼ばれていCreateLocalGroups_Deferredます。同様に、<util:User>要素は と呼ばれるカスタム アクションになりCreateUserます。

テーブル内のカスタム アクションのCreateUser後にCreateLocalGroups_Deferredカスタム アクションをスケジュールするようにしてください。これは、要素の、および属性をInstallExecuteSequence使用して行うことができます。BeforeAfterSequence<Custom>

上記の正確な名前は間違っているかもしれませんが、理解していただければ幸いです。

于 2012-07-13T07:00:37.150 に答える