WiX CustomActionData пусто в вызываемом CustomAction

снова застрял на проблеме, которую, вероятно, легко решить.
Я хочу расширить настройку, созданную с помощью WiX, чтобы внести изменения в файл конфигурации установленной программы. Для этого я создал CustomAction. Чтобы иметь возможность изменить файл конфигурации, мне нужно знать его местоположение (установить) в моем CustomAction. Поэтому я пытаюсь передать INSTALLLOCATION и имя файла моему CustomAction. Вот в чем проблема: атрибут CustomActionData всегда пуст, и установка выдает исключение.

My CustomAction представляет собой DLL-файл C#: DemoDatumErzeugen.CA.dll.Он содержит метод DatumEintragen, который изменяет файл конфигурации. Я пытаюсь получить доступ к данным следующим образом:

string path = session.CustomActionData["LOCATION"];

Здесь выдается исключение. Я получил только сообщение об ошибке на немецком языке, но оно говорит что-то вроде: Предоставленный ключ не найден в словаре (Der angegebene Schlüssel war nicht im Wörterbuch angegeben. ).

Вот как я пытаюсь передать свойства из моего скрипта настройки в свое пользовательское действие:

<Binary Id="DemoDatumEinrichtenCA" SourceFile="DemoDatumErzeugen.CA.dll"/>

<CustomAction Id="DemoDatum.SetProperty" Return="check" Property="DatumEintragen" Value="LOCATION=[INSTALLLOCATION];NAME=StrategieplanConfig.xml;"/>
<CustomAction Id="DemoDatum" BinaryKey="DemoDatumEinrichtenCA" DllEntry="DatumEintragen" Execute="deferred" Return="check" HideTarget="no"/>

<InstallExecuteSequence>
  <Custom Action="DemoDatum.SetProperty" After="InstallFiles"/>
  <Custom Action="DemoDatum" After="DemoDatum.SetProperty"/>
</InstallExecuteSequence>

Я видел много примеров, где это было сделано таким же или, по крайней мере, очень похожим образом. Я пробовал много вещей, но ничего не помогает, кроме изменения значения After в . CustomActionData всегда равен нулю.
Я проверяю это с помощью: session.CustomActionData.Count
Еще раз я очень благодарен за любую помощь или подсказки, где я сделал что-то не так.

12
задан Yan Sklyarenko 5 March 2012 в 14:25
поделиться