/build/static/layout/Breadcrumb_cap_w.png

Uninstall does not remove Key Files

Hi all.

First post... please be gentle [:D]
I have been "repackaging" for quite some time, but never really made any MSI from scratch.

I'm having problems with key files not being removed from the system when an uninstall is performed.

I have a simple MSI project I am creating from scratch.
It contains files (and folders) that are distributed to the C: drive (or rather "WinRoot").
That's all I need to do; nothing else required.

On compiling the MSI, some files wanted to use the .NET dependency and added in the flach9x.ocx file which was very annoying. So, I modified the components for these files (3 in total) to say NONE for the .NET Scan at Build. This worked and nothing extra was added.

The MSI installs successfully.
If I immediately uninstall the applicaiton before even opening/running it then the problem still shows - all Key files are left behind but all other files are removed successfully.

Does anyone have any tips?

Thanks!

0 Comments   [ + ] Show comments

Answers (8)

Posted by: anonymous_9363 16 years ago
Red Belt
0
ORIGINAL: MrBeatnik
Does anyone have any tips?
As a starting point, run the install and uninstall with a verbose log and compare them.

My guess would be that the component containing the file has its attribute set to 'Leave installed on uninstall'. This is easily checked by looking at the relevant row in the Component table. If the row's Attribute is at least 16, it's set to be left on uninstall.
Posted by: MrBeatnik 16 years ago
Senior Yellow Belt
0
Thanks for the reply VBScab!
I still can't identify the problem...

ORIGINAL: VBScab
If the row's Attribute is at least 16, it's set to be left on uninstall.
After checking the components in the table, all components have an attrubute of 8.
They also all have Component ID's.

ORIGINAL: VBScab
As a starting point, run the install and uninstall with a verbose log and compare them.
After checking the logs, the most obvious information that jumps out at me is (note I am just pulling out one filename which happens to be a DLL):

Install:
MSI (s) (90:FC) [10:51:32:665]: Executing op: ComponentRegister(ComponentId={2DB46630-2A4D-4356-B7E3-E48148A9778F},KeyPath=C:\Netwsims\XCrypt.DLL,State=3,,Disk=1,SharedDllRefCount=1,BinaryType=0)

MSI (s) (90:FC) [10:52:29:529]: Executing op: AssemblyPublish(Feature=Network_Sims_Files,Component={2DB46630-2A4D-4356-B7E3-E48148A9778F},AssemblyType=3,AppCtx=C:\Netwsims\XCrypt.DLL,AssemblyName=XCrypt,Version="1.0.2199.25062",Culture="neutral",FileVersion="1.0.2199.25062",)

MSI (s) (90:FC) [10:52:29:529]: Note: 1: 1402 2: UNKNOWN\Installer\Assemblies\C:|Netwsims|XCrypt.DLL 3: 2


Uninstall:
MSI (s) (90:6C) [10:54:19:608]: Executing op: ComponentUnregister(ComponentId={2DB46630-2A4D-4356-B7E3-E48148A9778F},,BinaryType=0,PreviouslyPinned=1)


MSI (s) (90:6C) [10:54:19:686]: Executing op: AssemblyUnpublish(,,AssemblyType=3,AppCtx=C:\Netwsims\XCrypt.DLL,AssemblyName=XCrypt,Version="1.0.2199.25062",Culture="neutral",FileVersion="1.0.2199.25062",Descriptor=hEgwYOvBd=-tX$zV@Dq[Network_Sims_Files>K-[c25cW_9%sWhQwXG,V)
MSI (s) (90:6C) [10:54:19:701]: Note: 1: 1402 2: UNKNOWN\Installer\Assemblies\C:|Netwsims|XCrypt.DLL 3: 2
MSI (s) (90:6C) [10:54:19:701]: Note: 1: 1402 2: UNKNOWN\Installer\Assemblies\C:|Netwsims|XCrypt.DLL 3: 2


I did do a search for information, but couldn't find anything that seemed related.
The above messages seem the same for all Key files (not all are DLLs, there are EXEs too).
The uninstall was performed immediately after the install without any action inbetween. I think the issue is that it installs as a "shared file"?

Can you offer any advice from these entries in the log?

Thanks!
Posted by: MrBeatnik 16 years ago
Senior Yellow Belt
0
I removed the "Shared" setting from all components and recompiled, but the problem still exists.
Posted by: anonymous_9363 16 years ago
Red Belt
0
Does this app start a service or automatically start a process after installation? If it does, the files in question may be being held open by the application's process(es).

Check with a process monitor (yawn...go the regulars) to see if anything gets started. If it does, you'll need to add a Custom Action to the package (in a transform if this is a vendor-supplied MSI) to check for the process and, if it's running, to kill that process.
Posted by: MrBeatnik 16 years ago
Senior Yellow Belt
0
ORIGINAL: VBScab
Does this app start a service or automatically start a process after installation?
It seems not. The MSI only contains a selection of files which run as a standalone application (no registry or registering of DLLs etc). I checked the processes anyway, and nothing new started. The files can be deleted manually without complaint.

This seems to be a strange one?
I can't imagine why it is doing this with such a simply created MSI.
I forgot to mention that Adminstudio 8.6 was used, if that makes a difference!
Posted by: anonymous_9363 16 years ago
Red Belt
0
I'm officially stumped, then!

If it were me, I'd run the uninstall with a process monitor anyway. It will highlight any access funnies.

If all else fails, just add the lot into the RemoveFile table!
Posted by: MrBeatnik 16 years ago
Senior Yellow Belt
0
ORIGINAL: VBScab

I'm officially stumped, then!

If it were me, I'd run the uninstall with a process monitor anyway. It will highlight any access funnies.

If all else fails, just add the lot into the RemoveFile table!

Bah! Well, I guess I'll have to have a deeper look. I'll certianly try those suggestions there.
Thanks very much for assisting!
Posted by: jmcfadyen 16 years ago
5th Degree Black Belt
0
read this. .

http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!136.entry

check for a reference count on the offending component.

{2DB46630-2A4D-4356-B7E3-E48148A9778F}
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ