Wix Session Object - PullRequest
       10

Wix Session Object

1 голос
/ 14 сентября 2011

Кто-нибудь знает, в какой момент этот объект все еще доступен?

Я пытаюсь создать пользовательское действие, называемое follws:

         <Control Id="Test_Button" Type="PushButton" X="100" Y="100" Width="56" Height="17" Text="Test">
            <Publish Event="DoAction" Value="TestDatabaseConnection.SetProperties">1</Publish>
            <Publish Event="DoAction" Value="TestDatabaseConnection">1</Publish>
          </Control>

Я также определил

<CustomAction Id="TestDatabaseConnection.SetProperties" Property="TestDatabaseConnection" Value="CONNECTIONPROVIDER=[CONNECTIONPROVIDERNAME];PRIMARY_SERVER=[SERVER];PRIMARY_USERID=[USERID];PRIMARY_PASSWORD=[PASSWORD];"/>
<CustomAction Id="TestDatabaseConnection" BinaryKey="WixCustomActions" DllEntry="TestDatabaseConnection"/>

Но я продолжаю получать сообщение об ошибке в настраиваемом действии, и оно сводится к тому, когда я пытаюсь получить установленные параметры.

Т.е.

server = session.CustomActionData["PRIMARY_SERVER"];

бум, который взрывается

Action ended 13:11:46: TestDatabaseConnection. Return value 3.
DEBUG: Error 2896:  Executing action TestDatabaseConnection failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: TestDatabaseConnection, , 

Этот код работает, когда ставится в конце цикла выполнения, но теперь я хочу вызвать его, когда нажата кнопка.

Есть какие-нибудь подсказки?

1 Ответ

3 голосов
/ 15 сентября 2011

Сериализовать и десериализовать свойства можно только через класс CustomActionData для отложенных ЦС. Immeadiate Ca (как при вызове из событий управления DoAction) не нуждается в этом, и он не будет работать.

...