我正在尝试使用以下XML在WiX中创建用户:
<Component Id="cmp_MyNewFolder" Guid="*">
<util:User Id="MyNewUser"
CreateUser="yes"
Name="DUMMY_USER"
Domain="[ComputerName]"
Password=""
PasswordNeverExpires="yes"
RemoveOnUninstall="yes"
UpdateIfExists="yes" />
<CreateFolder>
<util:PermissionEx GenericAll="yes" User="DUMMY_USER"/>
</CreateFolder>
</Component>
我已删除此帖子的GUID和密码,因此问题不在于这些。问题是每当我运行.MSI时,我都会收到一般错误(无法创建用户),安装失败。在使用了XML之后,我发现给用户一个包含下划线的名称会导致错误。我尝试使用字符文字和XML实体作为下划线,但无论如何都是相同的结果。
让我感到困惑的是(根据我所读到的),下划线不被视为特殊字符,并且我能够手动创建此用户(使用下划线)而没有任何问题。是否可以使用WiX创建名称中带下划线的用户?或者我是否需要适应不同的角色?
答案 0 :(得分:0)
允许在用户名中使用下划线。此代码有效,安装包正确创建用户。
<Component Id="Component_User" Guid="{1B55F3FB-6B0F-4EF9-89ED-DB3ECA9106A4}">
<util:User Id="MyNewUser"
CreateUser="yes"
Name="test_user"
Password="test"
PasswordNeverExpires="yes"
RemoveOnUninstall="yes"
UpdateIfExists="yes" />
<CreateFolder>
<util:PermissionEx GenericAll="yes" User="test_user"/>
</CreateFolder>
</Component>
详细日志可能包含有关错误的更多信息。
答案 1 :(得分:0)
错误0x80070563(-2147023517)为ERROR_ALIAS_EXISTS
(指定的本地组已存在。)当您尝试创建用户但是已存在的用户组(或其他AD对象?)时,会出现此错误。名。
我认为您的安装程序没有任何问题。名字中的下划线并不特别。问题似乎是运行安装程序的计算机上已存在的用户组(或其他AD对象)。安装程序正在尝试创建用户,但由于冲突而无法创建。