Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Learn more. Ask Question. Asked 9 years, 10 months ago. Active 9 years, 10 months ago. Viewed 2k times. Improve this question. JohnZaj JohnZaj 1 1 gold badge 5 5 silver badges 17 17 bronze badges.
Add a comment. Active Oldest Votes. Improve this answer. Motsel Motsel 5 5 silver badges 10 10 bronze badges.
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.
Edit: The installer was created in WiX. 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 when doing a patch or a minor update.
The ComponentIDs are stored in the Windows registry and the Windows Installer Service uses them to check if a Component is installed on the system or not.
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. Alternatively you could do a major update which does a deinstallation followed by an installation. The Windows Installer does not care about the Feature-Componenent structure this way.
This is part of the Microsoft strategy to prevent the "DLL hell" that existed in the early days of Windows. In those days it was possible to overwrite system DLL files with older versions and hence break things left, right and everywhere.
Windows Installer has several layers of protection to prevent downgrading binaries. In cases where you need to be able to downgrade files like you mention, the only approach that really works is to use major upgrades. Major upgrades are not really upgrades as much as uninstall and reinstall of the product in question. This allows you to avoid many of the complexities involved in getting MSI minor upgrades to work properly. There are complexities even with major upgrades with regards to downgrading.
Any additional feedback? Note Only those files containing checksum information are ever verified and repaired. In this article. Verify the checksum values, and reinstall the file if they are missing or corrupt. Reinstall all qualified components. Use to run from the source package and re-cache the local package.
Do not use the v reinstall option code for the first installation of an application or feature.
0コメント