I am building a C# Custom Action that will be called from dialog button "Publish". The C# CA is working when called from the Publish Event="DoAction". However, I can not get it to access the properties that have been set on the dialog page that the push button control is on. After researching I saw how to use another CustomAction to set the properties that can be accessed by the C# DLL. I was not able to get the C# DLL (called from Publish) to get the properties using this process. To test that my code was working I commented out the Publish Event="DoAction", and modified the "InstallExecuteSequence" to call the C# CA DLL by. I had to change the CustomAction for the DLL from "Execute='immediate'" to 'Execute="deferred"'. The C# CA DLL was able to correctly pick up the properties when I did this. I then commented out the "InstallExecuteSequence" and uncommented the 'Publish Event="DoAction"', this caused mye to get errors during the install. I then changed the CustomAction for the DLL from 'Execute="deferred"' back to "Execute='immediate'". This fixed the install error, but I'm now back at the original problem of not being able to access the properties when the C# CA DLL is called from the 'Publish Event="DoAction"'. Is there a way for a C# CA DLL to access the properties when the CA is called from a 'Publish Event="DoAction"'?
The reason why I want to do this is that I am taking the values of the properties, performing some security operations on them and then storing them into a series of registry entries that are dynamically created by the C# DLL. I need to create the new registry entries from the C# DLL, instead of being scripted in WiX. Any suggestions and help will be appreciated. I am using WiX 3.6.1112.0 + VS2010. Snippets of code: Control and Publish: < Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Disabled="no" Text="!(loc.WixUINext)" > < Publish Property ="CA.PARAMS1" Order ="1" Value='"[INPUTPROP1],[INPUTPROP2],[INPUTPROP3]"' /> < Publish Property ="CA.PARAMS2" Order ="1" Value='[INPUTPROP4]' /> < Publish Property ="CA.PARAMS3" Order ="1" Value='[INPUTPROP5]' /> < Publish Event="DoAction" Value="ca.PassParameters" Order="2">1</Publish > < Publish Event="DoAction" Value="ca.My_WiXCustomActions.Sec1" Order="3">1</Publish > </ Control> CUSTOM ACTION FRAGMENT <Fragment Id="Frag.CustomAction"> <Binary Id="bin.My_WiXCustomActions" SourceFile = 'My_WiXCustomActions.CA.dll' /> <CustomAction Id="ca.My_WiXCustomActions.Sec1" BinaryKey="bin.My_WiXCustomActions" DllEntry="Sec1" Execute="immediate" Return="check" /> <CustomAction Id="ca.PassParameters" Return="check" Property="ca.My_WiXCustomActions.Sec1" Value="[CA.PARAMS1], [CA.PARAMS2], [CA.PARAMS3]" /> </<Fragment> ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users