не удается передать свойства пользовательскому действию WiX


Я прочитал Как передать свойства msiexec пользовательскому действию WiX C#?Но это не ответ на мой вопрос, или, может быть, я просто не вижу, что я делаю неправильно. Мой установочный пакет не удалось установить, и журналы говорят, что мое свойство не было найдено в коллекции пользовательских действий. Мой код:

    <CustomAction Id="SetCustomActionDataValue" Return="check" Property="Itp.Configurator.WixCustomAction" Value="G=G2" />
    <CustomAction Id="CreateDatabase" BinaryKey="Binary1" DllEntry="CreateDatabase" Execute="deferred" Return="check" />
    <InstallExecuteSequence>
        <Custom Action='SetCustomActionDataValue'  After="InstallFiles"/>
        <Custom Action='CreateDatabase'  After="SetCustomActionDataValue">
            NOT Installed AND NOT PATCH
        </Custom>
    </InstallExecuteSequence>

И код внутри пользовательского действия:

string Property1 = session.CustomActionData["G"];
1 6

1 ответ:

Имя свойства в первом элементе должно быть точно таким же, как имя отложенного пользовательского действия, которому вы хотите передать значение. Итак, если отложенное действие CreateDatabase, то первый элемент должен выглядеть так:

<CustomAction Id="SetCustomActionDataValue" Return="check" Property="CreateDatabase" Value="G=G2" />