cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dmetzler
Level 6

Uninstaller not working

Part of my installation includes a shortcut link which resolves to:

C:\Windows\System32\msiexec.exe /x {4F26C164-9373-4974-8F43-E0F2176AF937}

When I run this uninstall link, I get the message "Are you sure you want to uninstall this product?"

The uninstaller runs and "acts" as if it is uninstalling.

However, checking the installation folder, shortcuts and Start Menu items, nothing has been removed.

Running the uninstaller a 2nd time produces the message "This action is only valid for products that are currently installed."

So why does the uninstall not remove any files?

Thanks in advance,

Don Metzler
Labels (1)
0 Kudos
(14) Replies
jedimaster_mark
Level 7

Have you checked the usual suspects?.....

Are any of these files showing up in shared DLLS?
Do you have key files anywhere, or are you just using dynamic links?

To remove files, you need to have key files, they can't have been created after the install, and they can't be listed in SharedDLLs. If either of the above happens for anything within a component, nothing in the component will be undone.
0 Kudos
dmetzler
Level 6

jedimaster_mark wrote:

Are any of these files showing up in shared DLLS?
Do you have key files anywhere, or are you just using dynamic links?

To remove files, you need to have key files, they can't have been created after the install, and they can't be listed in SharedDLLs. If either of the above happens for anything within a component, nothing in the component will be undone.


No - none of the above is true. I am installing a set of files and have no DLLs which are getting installed.
0 Kudos
RobertDickau
Flexera Alumni

Another sanity check: does the current project have ProductCode value "{4F26C164-9373-etc.}"? If the project was created by copying another project's .ism file, the shortcut might be uninstalling a different product from what you're expecting.

You could perhaps add /L*v everything.log to the msiexec.exe switches to generate a log file when uninstalling using the shortcut...
0 Kudos
dmetzler
Level 6

RobertDickau wrote:
Another sanity check: does the current project have ProductCode value "{4F26C164-9373-etc.}"? If the project was created by copying another project's .ism file, the shortcut might be uninstalling a different product from what you're expecting.

You could perhaps add /L*v everything.log to the msiexec.exe switches to generate a log file when uninstalling using the shortcut...


The ProductCode is correct and I re-checked to confirm.

I will add the log to the uninstall to see what is happening.

Thanks,

Don
0 Kudos
dmetzler
Level 6

I have an uninstall log after the full install worked. However, the verbose log has a lot of information.

At the bottom of the log, it shows:

Removal completed successfully.
Windows Installer removed the product.

But the files, shortcuts and registry keys are all still present on the computer.
0 Kudos
Christopher_Pai
Level 16

Zip it up and post. If component/dll reference couting or components marked perm, the product can be `uninstalled` and yet resources will persist. A log file while show why.
0 Kudos
jedimaster_mark
Level 7

dmetzler wrote:
No - none of the above is true. I am installing a set of files and have no DLLs which are getting installed.


Well, the funny thing is that any file can be added to the SharedDLLs registry key. There's no actual validation that what's being added is a DLL. This has bitten me many times, and is worth checking on just to make sure...
0 Kudos
dmetzler
Level 6

Christopher Painter wrote:
Zip it up and post.


Attached is the log file from the uninstall.
0 Kudos
iPAQMike
Level 4

Looks like you're running this installer on Vista? If this is a Basic MSI installer, did you change Execution Level from Invoker to Highest Possible?

Not sure if this is same for uninstalling, but when installing on Vista, InstallShield UI and the logs said everything was just fine, but nothing got installed.

Took two of us a couple days each to figure this out.

Anyway, worth a shot.

I'm trying to find out why, on XP, when I uninstall InstallShield isn't also removing the shortcuts. Lost another day on this issue. Kept trying to find out why my program arguments didn't work by looking at the arguments themselves, finally realized the shortcuts weren't being updated...because they weren't being removed between tests. Ugg.
0 Kudos
dmetzler
Level 6

iPAQMike wrote:
Looks like you're running this installer on Vista? If this is a Basic MSI installer, did you change Execution Level from Invoker to Highest Possible?

Not sure if this is same for uninstalling, but when installing on Vista, InstallShield UI and the logs said everything was just fine, but nothing got installed.

Took two of us a couple days each to figure this out.

Anyway, worth a shot.


Yes, running on Vista, but the install works okay.

How can I change the execution level in the installer?
0 Kudos
Christopher_Pai
Level 16

Note the following:

Basically you have components with reference counts from other installed products and/or marked permenant. This results in having a Request of Absent but an Action of Null ( do nothing ).

Read a thread like this one:

http://forum.installsite.net/index.php?showtopic=10896

Basically make sure you are testing on a clean machine and that your components aren't marked Perm. It's very easy to do things like create an install with ProductCode A, install it, manually uninstall it ( but not cleanly ) and reinstall or change ProductCode to B and get into this kind of situation because MSI has not forgotten about the installed components and is trying to protect the system state.


MSI (s) (B8:E8) [17:27:22:169]: Disallowing uninstallation of component: {37E61E74-E72B-4576-A82F-C3B310FBB425} since another client exists
MSI (s) (B8:E8) [17:27:22:170]: Disallowing uninstallation of component: {97433313-84C4-4AB1-9E91-9BBC8052D9CC} since another client exists
MSI (s) (B8:E8) [17:27:22:174]: Disallowing uninstallation of component: {11884F09-4217-4641-8354-A816AD604986} since another client exists
MSI (s) (B8:E8) [17:27:22:175]: Disallowing uninstallation of component: {215A0B2F-B369-4656-8240-18E5D33AFFBE} since another client exists
MSI (s) (B8:E8) [17:27:22:175]: Disallowing uninstallation of component: {7BC4F586-CA40-404E-AD08-2C9D7248B6AC} since another client exists
MSI (s) (B8:E8) [17:27:22:176]: Disallowing uninstallation of component: {ABCF9BC7-82FA-4FDF-96FF-75DD4BFD2FC0} since another client exists
MSI (s) (B8:E8) [17:27:22:176]: Disallowing uninstallation of component: {5B121A84-B300-4079-B287-4D519735C3B1} since another client exists
MSI (s) (B8:E8) [17:27:22:177]: Disallowing uninstallation of component: {3BD6C3BF-D2A8-432E-8331-86FDB8290CA3} since another client exists
MSI (s) (B8:E8) [17:27:22:177]: Disallowing uninstallation of component: {DB02F222-E1B6-48FE-8A31-A06AE34A674B} since another client exists
MSI (s) (B8:E8) [17:27:22:178]: Disallowing uninstallation of component: {6CB7D3A6-C95E-43E0-8386-289D92D4D24B} since another client exists
MSI (s) (B8:E8) [17:27:22:179]: Disallowing uninstallation of component: {027918D7-6262-470C-8F1B-365F88F26A99} since another client exists


[CODE]MSI (s) (B8:E8) [17:27:22:188]: Feature: Intel_WiMAX_Files; Installed: Local; Request: Absent; Action: Absent
MSI (s) (B8:E8) [17:27:22:188]: Feature: GoogleGadget; Installed: Local; Request: Absent; Action: Absent
MSI (s) (B8:E8) [17:27:22:188]: Feature: VistaGadget; Installed: Local; Request: Absent; Action: Absent
MSI (s) (B8:E8) [17:27:22:188]: Feature: DesktopIcon; Installed: Local; Request: Absent; Action: Absent
MSI (s) (B8:E8) [17:27:22:189]: Component: Data; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: __DesktopIcon65; Installed: Null; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: __ISRegistryComponent65; Installed: Null; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: __IS_ININSTALL_SHORTCUT65; Installed: Null; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: __WiMAXDesktopApp.exe65; Installed: Null; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: GoogleGadget; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: VistaGadget; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: DesktopIcon; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: AllOtherFiles; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: WiMAXDesktopApp.exe; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: XMLConfigFile; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: IS_ININSTALL_SHORTCUT; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:189]: Component: ISRegistryComponent; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:190]: Component: AllOtherFiles1; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:190]: Component: AllOtherFiles3; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:190]: Component: GadgetInstall.exe; Installed: Local; Request: Absent; Action: Null
MSI (s) (B8:E8) [17:27:22:190]: Component: Intel_WiMAX_Demo.exe; Installed: Local; Request: Absent; Action: Null[/CODE]
0 Kudos
dmetzler
Level 6

Christopher Painter wrote:
Note the following:

Basically you have components with reference counts from other installed products and/or marked permenant. This results in having a Request of Absent but an Action of Null ( do nothing ).


Thanks for this information - this helps clear up what is happening.

Don
0 Kudos
dmetzler
Level 6

I have some conditions set on the component installs.

For example, on the GoogleGadget component:
(UILevel <= 3 AND GOOGLEGADGET=1) OR (UILevel > 3)

Will this condition affect the uninstall process?

Thanks,

Don
0 Kudos
Christopher_Pai
Level 16

I don't believe so. One way to find out..... log it and see what the action states are. Remove the condition, rinse and repeat.

I'd have to test for sure, but I believe that even if the component is marked transitive that the condition is only used for determining to install. I don't believe that during a transaction where the feature is being uninstalled that a component can flib and become installed.

However, I've learned stranger things by studying logfiles over the years...
0 Kudos