如何使用自定义操作中设置的属性?

时间:2010-11-18 08:52:30

标签: wix windows-installer custom-action

我想在自定义操作中设置属性,然后在标准自定义操作“util:User”中使用它。但无论我把属性放在我的wxs文件中,我总是得到“错误LGHT0094:未解析的符号引用”

详细说明: 在我的设置中,我想使用util:User添加一个新用户。应使用util:GroupRef将用户添加到“Power Users”组中。到目前为止没问题。不幸的是,组名与语言有关。在德国,“Power Users”是“Hauptbenutzer”。所以我想在自定义操作中查找众所周知的SID S-1-5-32-547,通过调用MsiSetProperty在此自定义操作中设置属性,然后使用util:GroupRef的属性。

据我所知,该属性必须在wxs文件中的某处声明。 在我发现的示例中,属性从未声明如下(但我也尝试过):

<Property Id="TextSID" Value="Power Users" />

在示例中,始终有一个自定义操作来设置属性,例如:

<CustomAction Id="SetTextSID"
  Property="TextSID"
  Value="Power Users"
  Return="check" />

我的问题是,用户的创建无法“编译”,因为属性“TextSID”未知:

  <Component Id="CreateUser" Guid="Some GUID here in my original wxs file">
    <util:User Id="UserUser" 
               Name="User" Password="Password"
               CanNotChangePassword="yes" PasswordNeverExpires="yes">
      <util:GroupRef Id="TextSID" />
    </util:User>
  </Component>

之前我从未做过自定义操作,而且我是WiX和MSI的新手,所以任何想法都会非常受欢迎。

此致 拉尔夫

1 个答案:

答案 0 :(得分:0)

抱歉浪费你的时间。

在我发布这个问题之前,我盯着我的XML几个小时,只是为了在我的帖子后立即找到答案: - (

我唯一的问题是,不可能引用那些不存在的东西。在这种情况下,“util:Group”丢失了。