If you read anything about how the Windows installer system works, it's obvious they applied some ideas from transactional databases to program installation and maintenance, not to mention the .msi
files themselves are a database.
There is always the question in designing any database - do you want speed or accuracy/safety? Given that installers can modify system configuration and that a mishap could render the system inoperable, safety has been given a priority over speed. One of the reasons why .msi
installers are so slow is because rollback files are made for each file, etc. that will be modified, and then deleted afterwards - allowing any changes to be "rolled back" if something goes wrong in the middle of things (such as a power outage or system crash).
Now, I believe the MSI engine itself enforces installing, modifying, or removing only one program at a time - if you try to run an .msi
while another is uninstalling, for example, it either won't run or will wait for the currently running uninstall to finish. Non-MSI installers may not behave this way - since they don't use the MSI engine. But because of this safety design decision, this is probably why appwiz.cpl
insists on only letting one uninstaller be called at once.
CCleaner allows you to kick off uninstallers without waiting for previously running ones to finish. MSI installers will likely still not work in parallel due to the above.
9To keep people from uninstalling everything at once...maybe. – M.Bennett – 2014-03-19T15:36:01.477
@M.Bennett I was thinking that too, but there isn't a way to select multiple programs so users cannot really uninstall everything by accident anyway. – Jeroen – 2014-03-19T15:39:04.207
5Actually you can remove multiple programs at once, its only Windows Installer that prevents you from uninstalling multiple programs, thats because it only allows a single instance of itself. Easy enough to delete a programs files, you can delete all the contents of Program Files if you want, that will uninstall those programs just not effectively. – Ramhound – 2014-03-19T15:43:52.363
@Ramhound: You seem to be the only one here who correctly understood the asker's intention: he wants the system to uninstall the programs in sequence. The answerers here understood his question differently: whether it's possible to simultaneously uninstall several programs. Needless to say, in Linux it's easily possible: you just type
apt-get -y uninstall prog1 prog2 prog3
. – Niccolo M. – 2014-03-20T18:04:52.2704@NiccoloM My question was actually why you cannot simultaneously. :P – Jeroen – 2014-03-20T18:18:23.710
@Ramhound: You added the comment "there isn't a way to select multiple programs", and that's why I understood you the way Ramhound did. Anyway, I'll soon add my own answer. – Niccolo M. – 2014-03-20T19:26:21.973
@NiccoloM Ah yeah, with that command I meant even without a feature allowing simultaneous installations you'd still not be able to uninstall everything at once as there isn't a way to select all programs at once. – Jeroen – 2014-03-20T19:40:30.120
@NiccoloM Easy in Linux? Try doing that in Red Hat based distributions... – Thorbjørn Ravn Andersen – 2014-03-23T21:23:00.130