[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.setup

Why Uninstall custom action is not called?

Vlad Hrybok

7/3/2006 8:08:00 PM

Hi all,
I have a regular (non-web) setup package authored in VS 2005, and it used to
work fine. All of the sudden I noticed Uninstall custom action steps stopped
executing. (They seem to be executed sometimes - when installing on some
machines, but not on others.) I though Uninstall action is always called. Is
there some codition that can prevent Uninstall action from getting invoked?

--
Vlad Hrybok
http://U...

3 Answers

Vlad Hrybok

7/4/2006 5:54:00 PM

0

I noticed that there is a registry key corresponding to the EXE that is not
called upon uninstallation:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\D1EC361BD5B0F741DB5D362B06EBDB75

If I delete the key - everything starts working and the EXE starts getting
called. So the question is what settings in VS 2005 setup project create
these "...\Installer\UserData\S-1-5-18\Components\..." keys? Does it have
anything to do with InstallAllUsers setting?
--
Vlad Hrybok
http://U...

Phil Wilson

7/6/2006 9:14:00 PM

0

There are a number of things that could be going on here. It's actually
nothing directly in the setup project, it's the way Windows Installer
manages components underneath. One possibility is that you marked something
(like the exe itself) as Permanent. Internally, there's a condition on the
uninstall custom action so it gets called if the containing component is
being removed, and so the custom action won't get called if the file is
permanent. You removed the component entry in the registry, so now it's not
marked permanent. Something like that anyway.
--
Phil Wilson [MVP Windows Installer]
----
"Vlad Hrybok" <vgribok@newsgroups.nospam> wrote in message
news:831FD670-556F-44F2-BBEB-BE5A96A55E1B@microsoft.com...
>I noticed that there is a registry key corresponding to the EXE that is not
> called upon uninstallation:
> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\D1EC361BD5B0F741DB5D362B06EBDB75
>
> If I delete the key - everything starts working and the EXE starts getting
> called. So the question is what settings in VS 2005 setup project create
> these "...\Installer\UserData\S-1-5-18\Components\..." keys? Does it have
> anything to do with InstallAllUsers setting?
> --
> Vlad Hrybok
> http://U...
>


Vlad Hrybok

7/6/2006 9:35:00 PM

0

I think you're right. it has something to do with Components shared between
several MSI packages. The EXE that was not called was installed into a
location used by several MSIs installed at the same time. I am going to check
if installing that EXE at a location is not shared between different products
is going to help. Basically, to figure out what's going on I had to dive into
specifics of MS Installer, which I was able to avoid for quite some time.
There are too many ways to screw up Visual Studio setup project, even in
Visual Studio 2005.
--
Vlad Hrybok
http://U...


"Phil Wilson" wrote:

> There are a number of things that could be going on here. It's actually
> nothing directly in the setup project, it's the way Windows Installer
> manages components underneath. One possibility is that you marked something
> (like the exe itself) as Permanent. Internally, there's a condition on the
> uninstall custom action so it gets called if the containing component is
> being removed, and so the custom action won't get called if the file is
> permanent. You removed the component entry in the registry, so now it's not
> marked permanent. Something like that anyway.
> --
> Phil Wilson [MVP Windows Installer]
> ----
> "Vlad Hrybok" <vgribok@newsgroups.nospam> wrote in message
> news:831FD670-556F-44F2-BBEB-BE5A96A55E1B@microsoft.com...
> >I noticed that there is a registry key corresponding to the EXE that is not
> > called upon uninstallation:
> > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\D1EC361BD5B0F741DB5D362B06EBDB75
> >
> > If I delete the key - everything starts working and the EXE starts getting
> > called. So the question is what settings in VS 2005 setup project create
> > these "...\Installer\UserData\S-1-5-18\Components\..." keys? Does it have
> > anything to do with InstallAllUsers setting?
> > --
> > Vlad Hrybok
> > http://U...
> >
>
>
>