views:

2926

answers:

4

Basically I'm trying to upgrade my application, and to my understanding the following should unconditionally reinstall all components: msiexec /i myapp.msi REINSTALL=ALL REINSTALLMODE=vamus

In the verbose log however I see: MSI (s) (A0:60) [15:40:10:948]: Component: A; Installed: Local; Request: Null; Action: Null

MSI (s) (A0:60) [15:40:10:948]: Component: B; Installed: Local; Request: Null; Action: Null

MSI (s) (A0:60) [15:40:10:948]: Component: C; Installed: Local; Request: Null; Action: Null

MSI (s) (A0:60) [15:40:10:948]: Component: D; Installed: Local; Request: Null; Action: Null

Etc for every component. If I delete or rename a file from the destination folder it will properly install the new version, however if the file exists in the location it'll ignore it instead of replacing it with the copy in the current msi file.

Does anyone have any insight on what could be going wrong?

Edit: The installer was created in WiX. Product ID and UpgradeCode remain the same, while PackageID is set to * so a new one should be generated for each build, so that should be correct as far as I know

A: 

Have you updated the version number and configured the upgrade?

sascha
It's not checking the version number because we actually need to allow upgrading and downgrading.
Davy8
+1  A: 

This is kinda tricky to get right, I had the same problem. To make update installation work the update package has to contain ALL of the components from the original package. This means that you can't delete a component ever. You can remove files from a component, even all of them, but you are not allowed to remove a component. Otherwise the update installation won't actually do anything, and it is hard to say if this is Windows Installer bug or a feature.

What to do if you have deleted components? You could try to add them back, but they have the same package IDs, and this is the hard or even the impossible part.

If it still doesn't work you have to opt for a new installation and have to figure it out yourself what has to be updated.

devdimi
It looks like I might have to make everything a major update if that's the case then... We need to ability to both upgrade and downgrade, so while keeping around empty components isn't ideal, it's still doable, but we can't pre-create components for ones to come in the future which we'd need
Davy8
to do in order to downgrade.
Davy8
A: 

In my new MSI package I added new file. It installs properly but when I try to downgrade with older version using msiexec /i setup.msi REINSTALL=ALL REINSTALLMODE=vamus it fails.

As mentioned in above comment, I tried adding new file in existing component instead of creating new componet for new file but that didn't work. Any comment on this am i missing something?

ravi
A: 

I guess its vomus and not vamus

Anirudha

related questions