I've created a custom dialog like this :
Notice that when the user clicks on Test Connection a custom action fires. It looks like this :
Here I tried to pass the DBTestResult Variable through, as a test to see if I could edit it in the function, but that didn't work - neither it seems just straight returning it as per the pic.
The actual custom action gets called and looks like this :
public static string CanAuthenticate(string server, string username, string password, string DBTestResult)
{
DBTestResult = "It got updated";
MessageBox.Show("Called");
return "It got updated";
}
I would really expect it to update the label with the string literal "It got updated" - but nothing happens, it's always null / empty string.
What am I missing?
The answer to this is covered by my answer on your other question: Windows Installer UI doesn't know to update in response to arbitrary property changes, such as those that occur during a control event DoAction. Thus in order to ensure the UI updates, you have to add something that it understands, such as a control event SetProperty action that writes to the desired property.