postgresql-interfaces/psqlodbc GitHub issues and pull requests (mirror)help / color / mirror / Atom feed
[postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind 5+ messages / 2 participants [nested] [flat]
* [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind @ 2024-09-29 17:54 "chrullrich (@chrullrich)" <[email protected]> 0 siblings, 0 replies; 5+ messages in thread From: chrullrich (@chrullrich) @ 2024-09-29 17:54 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> I just noticed that a previous upgrade of psqlODBC left some files behind in the installation directory, specifically the OpenSSL 1.1 libraries (libssl-1_1 and libcrypto-1_1). The reason is that the MSI packages violate the holy writ of Windows Installer, also known as the "component rules". The gist of those is that whenever the contents of a component (`<Component>` in WiX) change, the component's GUID must also change. See, e.g., https://learn.microsoft.com/en-us/visualstudio/extensibility/internals/windows-installer-basics and https://robmensching.com/blog/posts/2003/10/18/component-rules-101/. Because the component codes are hardcoded and have not changed in a long time, and because the packages are authored so `RemoveExistingProducts` happens after `InstallFinalize`, that action never does anything. The set of components installed on the system does not change across the installation as far as Windows Installer is concerned, so `RemoveExistingProducts` does nothing. Any preexisting files that are not in the new version of the package are left behind. There are two possible fixes, listed here in order of preference: 1. Do not hardcode the component codes, but leave them up to WiX. (While you're at it, do not hardcode anything else but the upgrade codes either.) 2. Schedule `RemoveExistingProducts` after `InstallInitialize`. This will remove the old files before installing the new ones. See https://wixtoolset.org/docs/v3/xsd/wix/majorupgrade/ for more information on scheduling this action. ^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind @ 2024-10-01 13:06 "davecramer (@davecramer)" <[email protected]> 3 siblings, 0 replies; 5+ messages in thread From: davecramer (@davecramer) @ 2024-10-01 13:06 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> I will take any assistance in fixing the installation code. Feel free to provide pull requests ^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind @ 2024-10-01 13:37 "chrullrich (@chrullrich)" <[email protected]> 3 siblings, 0 replies; 5+ messages in thread From: chrullrich (@chrullrich) @ 2024-10-01 13:37 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> Certainly. I will try to get my head wrapped around the build procedure. That will probably take until the weekend. ^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind @ 2024-10-03 11:48 "davecramer (@davecramer)" <[email protected]> 3 siblings, 0 replies; 5+ messages in thread From: davecramer (@davecramer) @ 2024-10-03 11:48 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> thanks! One thing is that I would ideally like to release on ARM and for than require wix4 ^ permalink raw reply [nested|flat] 5+ messages in thread
* Re: [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind @ 2024-10-15 12:18 "chrullrich (@chrullrich)" <[email protected]> 3 siblings, 0 replies; 5+ messages in thread From: chrullrich (@chrullrich) @ 2024-10-15 12:18 UTC (permalink / raw) To: postgresql-interfaces/psqlodbc <[email protected]> Fixed by #66. ^ permalink raw reply [nested|flat] 5+ messages in thread
end of thread, other threads:[~2024-10-15 12:18 UTC | newest] Thread overview: 5+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2024-09-29 17:54 [postgresql-interfaces/psqlodbc] issue #57: MSI upgrades leave files behind "chrullrich (@chrullrich)" <[email protected]> 2024-10-01 13:06 ` "davecramer (@davecramer)" <[email protected]> 2024-10-01 13:37 ` "chrullrich (@chrullrich)" <[email protected]> 2024-10-03 11:48 ` "davecramer (@davecramer)" <[email protected]> 2024-10-15 12:18 ` "chrullrich (@chrullrich)" <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox