I'm having a problem uninstalling my web application on a 2008 Server. The custom action that Visual Studio 2008 includes for me (it's an override of Uninstall in a class derived from Installer in one of the project EXEs) is failing to run during uninstall. I configured automatic logging under HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer with values Debug=3 and Logging="vicewarmup".
The log file gives the lines:
MSI (s) (34:C8) [17:41:30:539]: Skipping action: _BFA6F18E_F5B2_41FB_8498_95DD8690AA04.uninstall.SetProperty (condition is false)
MSI (s) (34:C8) [17:41:30:539]: Skipping action: _BFA6F18E_F5B2_41FB_8498_95DD8690AA04.uninstall (condition is false)
Opening up the .MSI file, I can see that the condition in the InstallExecuteSequence table is "$C__43EDDEADFB1AFE0E6A23EF488BD6BF83=2", which should evaluate to true for an uninstall of said component. During install, "$C__43EDDEADFB1AFE0E6A23EF488BD6BF83>2" evaluates to true successfully.
Doing some web exploring, I found a site that said that the most common cause of this condition evaluating false is due to link resolution errors. Now, bear in mind the same executable file contains the correctly functioning install custom action, so it seems highly unlikely that there is a problem here, but I checked anyway, and, sure enough, LINKINFO.DLL was implicated by DEPENDS.EXE, as well as IEFRAME.DLL and SHLWAPI.DLL.
LINKINFO was easy enough to resolve by installing the "Desktop Experience" feature. The others, however... well, one blog I found said that DEPENDS would always misresolve those and to ignore it. I do note that the function names that allegedly cannot be resolved are always of the form #<number>, and, well, as ordinals, those do exist; and, further, DEPENDS shows this problem during linkback -- wherethese DLLs have been linked back to themselves through other DLLs, so I tend to trust that the blogger's comments are correct, and that this isn't really an issue but a problem with DEPENDS.EXE (and/or having DLLs eventually link back to themselves).
Anyway, with LINKINFO added, the custom action is still failing to run.
How can I find out the precise reason that the conditionevaluates tofalse?
Thanks,
=-John-=