cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Erik_S
Level 3

Issue with uninstall after upgrading from earlier version

Hi,

I have a strange situation with uninstalling after a major upgrade from an earlier version. I'll describe some situations (All on clean Windows 7):

Note: version 2.6 is major upgrade of version 2.5

Situation A:
- Install version 2.5
- Install version 2.6 (which does of course an uninstall of version 2.5 first)
- Uninstall version 2.6

Situation B:
- Install version 2.5
- Remove version 2.5 manualy with 'Add/Remove programs'
- Install version 2.6
- Uninstall version 2.6

Situation C:
- Install version 2.6
- Uninstall version 2.6

The strange difference is that in Situation A all files of components that have a key file assigned are left on the system and in situation B and C all files are removed. All files of components without key file are removed in Situation A.

Hope anyone has an idea why this is occuring.

Regards,
Erik
Labels (1)
0 Kudos
(9) Replies
TsungH
Level 12

For situation A, you will have to take a closer look at the verbose installation and uninstallation logs of 2.6 to figure out why it is doing that.
0 Kudos
Erik_S
Level 3

This is a line from situation A:

MSI (s) (B0:4C) [10:04:46:154]: Component: Logistic.exe; Installed: Local; Request: Absent; Action: Null

and this is the same line from situation B:

MSI (s) (D4:30) [10:34:19:765]: Component: Logistic.exe; Installed: Local; Request: Absent; Action: Absent

Can't find any other significant difference between the two logs actually regarding this.
0 Kudos
MSIYER
Level 8

Read this for analysing your log:
http://msdn.microsoft.com/en-us/library/aa367858(v=vs.85).aspx

MSI (s) (B0:4C) [10:04:46:154]: Component: Logistic.exe; Installed: Local; Request: Absent; Action: Null

This means no action was taken. That means in an uninstall your file remains as such. In this case you need to check further if you have marked the component as SHARED etc...

MSI (s) (D4:30) [10:34:19:765]: Component: Logistic.exe; Installed: Local; Request: Absent; Action: Absent

This means your file has been removed.
0 Kudos
Erik_S
Level 3

Thanks for the link, I'm still new to reading the log so I'll try to find a little more about what's going on.

But my main concern is that I don't see any reason why the result between situation A and B should be different. I expect the same result regardless what happens (or mistakes I made) in my installer.
0 Kudos
TsungH
Level 12

Which log is this line from? Installation of 2.6? Or uninstallation?
Erik S wrote:
This is a line from situation A:

MSI (s) (B0:4C) [10:04:46:154]: Component: Logistic.exe; Installed: Local; Request: Absent; Action: Null
0 Kudos
Erik_S
Level 3

The line is from the uninstallation of 2.6
0 Kudos
TsungH
Level 12

One possibility is the ref count of component is incorrect, hence file in the component isn't removed after uninstalling 2.6. The installation log of 2.6 will shed more light on the cause of this behavior.
0 Kudos
Erik_S
Level 3

MSIYER wrote:

This means no action was taken. That means in an uninstall your file remains as such. In this case you need to check further if you have marked the component as SHARED etc...


TsungH wrote:
One possibility is the ref count of component is incorrect, hence file in the component isn't removed after uninstalling 2.6. The installation log of 2.6 will shed more light on the cause of this behavior.


Thanks both for the info! The SHARED of the components was indeed still set to Yes, that caused this behaviour. Spent 30 minutes to set all components shared properties to No. :mad:

But am I right that this seems an error by the Windows Installer? As I stated earlier I would expect the exact same result in Situation A en Situation B.

And last but not least: Why is the component SHARED property set to Yes by default :eek: ?? Googled for an answer and the only hits I find are related to people asking the same question for years...
0 Kudos
MSIYER
Level 8

But am I right that this seems an error by the Windows Installer? As I stated earlier I would expect the exact same result in Situation A en Situation B.

Yes, the end result should be same in both situations.
Somehow when upgrading(uninstall and install together) the ref count is not properly updated. When manually uninstalling the ref count is properly updated. I do not know what caused the error. Might be an error on Installer's part.
Why is the component SHARED property set to Yes by default

Ref count is internally maintained by Windows Installer Engine. There is no need for the shared bit in the modern world. Its still there for legacy compatibility. I too am not happy with this default option. So I make it a point to disable it the moment I create a component.
0 Kudos