Dll not updating
I created a project (IS 2019 R3) to install Applications, Service and a WebSite containing dll, images, .config, etc... In this project every component are set to :
- Permanent : No
- Shared : No
- Never OverWrite : No
In my understanding, every files should be overwritten each time the setup is updating.
Each time I build a new setup, I change the value of :
- Product Version
- Version Min
- Version Max
To force each file to be overwritten I created a custom action to set the property REINSTALLMODE to "domus".
I've installed this setup on some PC with different OS (Windows Server 2019, 2016, 2012 R2, Windows 10) and each time the result was good. Same thing each time I updated, every files were overwritten.
But for some computers (Windows Server 2019 and 2012 R2) , when I update with a new version of the setup, some files are not updated and I don't really know why.
I verbosely logged the install and there is no log of copying the unupdated files. There is a lot of line with "The file represented by File table key 'xxx.dll' has no eligible binary patches".
I deleted my action setting the property "REINSTALLMODE" (I think the default value is vomus or vemus ), thinking it was the cause, but no, the problem persist.
Does anyone have any idea what can cause this ?
Just taking a guess here but it appears to me that in looking at your log it looks like you used dynamic links for some components which will generate separate GUIDsfor all your files in the component. Perhaps it's not the files, its the component GUIDs that are not matching up. Use the MSI Diff tool to compare MSI's and see how the files table matches up. When creating minor updates it is extremely important to keep these GUIDs the same. This is most likely why when you uninstall - some files are remaining because the new installer does not have the same GUID in it. I had similar issues when a new folder was added to a dynamic-linked component - threw all the generated GUIDs off.
As well check the windows component and version rules at the below link:
After a lot of reading (thanks to those who answered), if you are in the same situation as myself, there is no solution (or I didn't found it).
- Don't change the property REINSTALLMODE if your setup has already been deployed
- If you have to change the property REINSTALLMODE and the setup has been deployed, it'll compulsory to uninstall before you can install the setup with you're modified property. Maybe it work if the update is a Major update (I'm not sure, but I think a major update uninstall then install the new setup).