Making sense out of an .MSI verbose trace. I created the .MSI using VisualStudio 2008.
Here\'s the background on what I\'m trying to do: http://xmlpreprocess.codeplex.c
Like in your previous question where I suggested using cmd.exe /C XmlPreProcess.exe ...
for redirection, for debugging you can try with /K
instead of /C
. Then any output should stick around, and you'd be able to work within the context of the MSI at the time of error.
What I really suspect is the problem is the scheduling of your custom action. If this action is immediate, scheduled before InstallFinalize, and intended to operate on a file you will be installing, it will run before files are installed to the location you expect. The proper fix for this is generally to run the action in-script (also called deferred) so that by scheduling it between InstallFiles and InstallFinalize, it actually runs in that corresponding location.
As for providing better errors for your end users, or allowing them to browse for a file, these would both take custom actions, and probably need to be DLL actions (EXE actions can provide only pass/fail feedback). It will be your choice whether it's better (or easier) to provide a browse dialog or to verify the path the user provides. I'm not certain how much of this you can do in a Visual Studio Installer project (which is what I'm assuming you're using by your tags).