有谁知道在什么时候该对象仍然可用?Wix会话对象
我想创建称为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"/>
但我不断收到错误的自定义操作,并当我尝试并检索设置的参数。
I.e.
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, ,
当在执行周期结束时把这个代码的工作,但现在我想将它当按下按钮。
任何线索?
我发现以下几点: http://goo.gl/gc9Az “只有推迟,回滚和提交操作使用CustomActionData设置 从匹配属性的值。立即行动(所有用户界面行动 立即)拥有完全访问属性,所以这是不必要的 和未使用。 ' 我已经证实,当我删除CustomActionData时,并没有发生崩溃,但是我之前曾经通过[]直接访问会话,并且默认情况下处理得更好,并且您只是得到一个空字符串,因为您无法使用session.log它非常难以调试! 结论;它不起作用,但它不会崩溃了。 –
好吧,我放弃了试图传递使用属性,并指的是实际变量;我只是试图使用这些属性来保持一致性。 –