Как использовать свойство, которое было установлено в настраиваемом действии? - PullRequest
0 голосов
/ 18 ноября 2010

Я хочу установить свойство в настраиваемом действии и впоследствии использовать его в стандартном настраиваемом действии "util: User". Но независимо от того, где я поместил свойство в мой wxs-файл, я всегда получаю «ошибку LGHT0094: неразрешенная ссылка на символ»

Подробнее: В моей настройке я хочу добавить нового пользователя, используя util: User. Пользователь должен быть добавлен в группу «Опытные пользователи» с помощью util: GroupRef. Пока проблем нет. К сожалению, имена групп зависят от языка. По-немецки «Опытные пользователи» - это «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, поэтому любая идея будет очень кстати.

С уважением Ralf

1 Ответ

0 голосов
/ 18 ноября 2010

Извините, что потратил ваше время.

Я часами смотрел на свой XML, прежде чем опубликовать этот вопрос, просто чтобы найти ответ сразу после моего сообщения: - (

Моя единственная проблема заключалась в том, что невозможно сослаться на то, чего там нет. В этом случае «util: Group» отсутствовала.

...