Greg,
Remember that you should always avoid a custom action if you can perform the same functionality using one of the MSI tables. In your case, at least for the Backup part, I think you can substitute the custom action with the
MoveFile table, which will allow you to copy or move files that were not installed by your product. Take a look at the documentation
here, where you will find the details for populating the table. Remember you will have to use the direct editor view in InstallShield.
For the second custom action, I cannot think of a way to achieve the functionality using tables so you may have to stick to the custom action, especially because you are trying to register DLL files during uninstall (By the way, Were the files you are replacing created by your company? otherwise it may not be a good solution what you are trying to do).
In order to be able to write to the log from an InstallScript custom action, take a look at the following paper, which explains very clearly how to do it:
Writing to the log file from a custom actionAnd finally I recommend that you set your Restore custom action to run in
Deferred mode, which will force you to place it before InstallFinalize, this is because it will be performing actual changes to the system and not just collecting data or something similar. In this case you will have to use CustomActionData to pass the properties to your custom action (INSTALLDIR property will not be available). More details on this
here.I hope you find this information helpful and good luck.
Regards,
Juan C. Becerra
Edited by jcarlos10, 19 October 2010 - 23:17.