I agree with John's advice and this advice <http://www.joyofsetup.com/2010/02/08/introducing-lux-declarative-unit-testing-for-custom-actions/> .
I found it helpful to study the WixGamingExtension and other WixExtension implementations, when learning to create CAs using the pattern recommended above. I also implemented a Compiler Extension to wrap my CAs. My CA dll is built for Win32 and x64, and has separate classes for each functional group of CAs. There are similar 'partial class" implementations for each functional topic in the Compiler Extension and the Lux test projects so that the same Solution/project is scaled as the need to add new functionality to the 'toolbox' is implemented. I use LUX to test the Immediate CAs (which leaves very little left to test in the deferred CA) and I have a redundant set of LUX tests which drives the Compiler Extension (for a higher level test of the CA integration). Both sets of tests are integrated into the build process. A couple of threads about using lux are here <http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-td7597183.html#a7599043> and here <http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Lux-Multi-value-Unit-Test-td7599206.html> . I use Wix 3.10, as lux and nit in Wix 3.9x did not function in a .Net 4.x context. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Testing-C-Custom-Actions-tp7600474p7600476.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users