Re: Uninstall Custom Action not getting called.



Hi Phil,

Problem solved. I created a new console project and put your bare bones code
in it and it worked fine as an uninstall custom action. So next I created
another new console project and copied my code from my problematic program
into the new one. Again it works fine!

I don't know what the actual problem was and I don't really want to spend
the time tracking it down. The only things I can think of are that there was
some weird corruption in the one of the project files or maybe some project
setting.

Many thanks for your suggestions.

"Phil Wilson" wrote:

You'll have to be suspicious of everything, including your debugging code. I
ran this program as an uninstall custom action fine, VS 2003, bare bones
program with an include of windows.h for MessageBox.

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
MessageBox (NULL, TEXT("MSG"), TEXT ("SOMETHING"), MB_OK);
return 0;
}

--
Phil Wilson
[Microsoft MVP Windows Installer]
"TheClothCat" <TheClothCat@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:A41AE5E7-484A-4CA1-AE0E-74A085BD8AC2@xxxxxxxxxxxxxxxx
Phil,

Thanks for the reply.

My Win32 program is a console app which explains the command prompt
window.
When I run the console app as custom action after the Install or Commit
phases of installation it works perfectly.

This must mean there is something different about the Uninstall phase. And
before you ask the question, the console app does not depend on anything
else
that Uninstall could remove before running the console app. The console
app
runs perfectly when started manually from a command prompt window.

This is why I am suspicious that something is wrong with custom actions in
Uninstall in VStudio 2003 SP1.

Do you known if anyone has done this successfully i.e. run a console app
as
a custom action after the Uninstall phase in VStudio 2003 SP1?


"Phil Wilson" wrote:

It's not likely, no. People do uninstalls with logging all the time. Your
system might have an issue. Is your Win32 program a console app? If it
is,
that's where the command prompt window is coming from. It's showing that
and then your app can't run.
My vote is still dependencies. If you haven't got the c run time
available
then your program won't load. Visual Studio 2005 C++ apps require sxs 8.0
CRT or statically linked. That's why setup projects have a prerequisites
option to install the redist.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"TheClothCat" <TheClothCat@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:50DD2F27-B21D-4641-BD15-941D50E22227@xxxxxxxxxxxxxxxx
Phil,

Further to my last post, I have now got my setup and deployment project
working again. That still leaves my original problem though. Is it
likely
to
be one of the msiexec command line parameters that caused your
suggestion
to
fail?

"TheClothCat" wrote:

Thanks for the reply. Unfortunately your suggestion seems to have had
a
distastrous effect. When I ran msiexec as suggested it hung with a DOS
window
open called something like MSI40 - I can't remember the number.

Now I cannot install or uninstall my software from within Visual
Studio
or
outside it, even if I do a full rebuild.

Any suggestions?

"Phil Wilson" wrote:

Your setup&deployment project has a ProductCode property. Try the
uninstall
like this:

msiexec /x {the product code guid} /l*vx somefile.log

to produce a log of the uninstall. There will be something about
whether
there was an attempt to call it. Note that Win32 exes have
dependencies
that
you might not have installed, like the C runtime support, so it will
try to
call it but fail.
--
Phil Wilson
[Microsoft MVP Windows Installer]

"TheClothCat" <TheClothCat@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
message
news:67CF6E1F-A02A-44F7-B7E2-F53D10300C09@xxxxxxxxxxxxxxxx
Hi everyone,

I want to run an exe (Uninst.exe) when my software is uninstalled.
I
have
added the file to the Application Folder in the File System Editor
and
added
it as a Custom Action under the Uninstall phase in the Custom
Action
Editor,
but it does not get executed when my software is uninstalled,
either
from
within Visual Studio on my development PC or on a different PC
when
installed
from a CD.

I have put debug code in Uninst.exe so I am sure it is not getting
executed.
It is a very simple console app written in C++ for Win32. I got it
to
work
once on the different PC but it would not do it again.

Stranger still, I changed the Permanent Property of Uninst.exe to
be
True
and the installer correctly left it in the app's directory.
However,
after
I
changed it back to False it still leaves it there!

It is almost as if Setup uses a cache and the cache is not working
properly.
I'm using Visual Studio 2003 with SP1.

I'm baffled. Any ideas would be welcome.

Thank you.










.