I need to copy files as soon as my MSI is clicked. I\'m using CopyFiles function at the minute but it is not doing it quickly enough. Do I need my own custom action or is th
I think the requirement has been poorly defined and designed. Here's an example of what you should be doing:
I have a customer who sells a product directly (retail) and indirectly (through value added resellers). His application is extensible in that he, or his VAR's or their end user customers have requirements to be able to extend / modify / override the MSI with such attributes as:
1) UpgradeCode
2) ProductName
3) License Agreement
4) Icon
5) Configuration Files
6) Digital Certificates
My customer wrote a wizard UI in C# the guides the user through all this and I wrote a library that interacts with MSI using the WiX DTF library (Microsoft.Deployment.WindowsInstaller). The result is an a utility that completly encapsulates the process in which the MSI is transformed into a variation.
This is how Symantec Antivirus works as well.
With some dev time, you could guide your user into building an MSI with updated ProductName and Registry table entries. The resulting MSI wouldn't need any custom actions and would still follow all applicable Windows Installer best practices.