我在WIX安装程序的组件中有这个位
<util:User Id="CIUSER" CreateUser="yes" UpdateIfExists="no" Name="myuser" PasswordNeverExpires="yes" Password="noneofyourbusiness">
<util:GroupRef Id="Users" />
</util:User>
我还在代码的其他部分使用它作为参考来设置目录权限。
每次安装我的产品时,似乎都会创建一个新的用户配置文件。因此,如果在桌面上放置了任何ID,则以该用户登录时不会从安装中看到它。
在大多数情况下,我只是在安装程序中使用此代码来帮助正在设置系统的人员。这是一个桌面应用程序,但它作为单个“设备”出售,并非通用计算机,我们正在创建一个非私有帐户来执行我们的应用程序。
这是WIX 3.5。任何人之前都会看到这样的事情,或者知道我可能做错了什么?
它可以很好地创建用户并设置适当的权限,现在只有多个配置文件存在于Windows 7中的用户下。
答案 0 :(得分:3)
将RemoveOnUninstall
属性设置为no
,默认值为yes
。您实际上是在为每个安装创建一个新用户,因此配置文件是不同的。
在WiX 3.5中,无法删除卸载时的配置文件变为a known defect
它独立于UpdateIfExists
属性,无论产品是否已卸载并重新安装或升级都无关紧要。
Rob Mensching's关于缺陷的说明说在WiX 4.0之前不会修复自定义操作错误。这也提醒我们所有wixutil都是使用a custom action实现的,并且我们都在技术上能够为处理用户帐户创建更好的自定义操作,并将其作为二进制文件或脚本包含在MSI中,前提是该问题很紧急。或者只是一个在卸载时删除非活动用户配置文件。
(这个答案的信用很大程度上归功于问题作者进行的其他研究。我发现自己的第一枪是错误的。谢谢。)