2015-09-16

A while ago I asked this on G+:

I’ve a VM with many Delphi versions and want to clean up space from %ProgramData% to install more. I think somewhere in the comments it was mentioned what to delete from %ProgramData% to lessen the disk space used by Delphi installations. […]

The VM is on an SSD, and the GUID directories there total to about 50 gigabytes.So any reminder what I can delete there would be much appreciated (:

Besides saving disk space, another advantage is that you get far less duplicates when indexing your filesystem with Everything: the directories contain copies of all files also present in the final installation (like %ProgramFiles%, etc).

Thanks to Ilya S, below are my notes for cleaning up a machine that has Delphi 2007 and Delphi 2010-XE6 installed.

In these folders, backup delete all subdirectories but the directory OFFLINE. Don’t delete files. Keep the backups in case you need them.

The sort order is strange, but it is the order that Windows Explorer shows.

C:\ProgramData\{0AACF4C1-EFDF-412A-8AAB-F4C23000EA28} – 7.0.0.0 – Help – Delphi 2010

C:\ProgramData\{0DE47792-19BD-4AF4-B9CF-6378FBA44825} – 14.0.0.0 – Install – XE6

C:\ProgramData\{2D559015-4C05-4AE5-8C8B-7E13E1EAB09D} – 7.0.0.0 – Install – Delphi 2010

C:\ProgramData\{2E13DE59-5EDE-4650-A41C-1C997DEDCF0F} – 9.0.0.0 – Install – Delphi XE2

C:\ProgramData\{6A883631-DE6E-4096-9348-4D606A536BCB} – 7.0.0.0 – Boost – C++ Builder 2010

C:\ProgramData\{6D2F145C-EDED-493E-8DF8-9F0A1C14671C} – 8.0.0.0 – Install – XE

C:\ProgramData\{8BC39306-28C8-4CAB-801D-9BB22E813571} – 14.0.0.0 – Help – XE6 (already empty)

C:\ProgramData\{16DDC977-28D8-44E8-8358-8BBFBEE97FE7} – 9.0.0.0 – Help – XE2

C:\ProgramData\{64FC42F6-3358-4CC4-B977-B0BB87927B07} – 12.0.0.0 – Help – XE5

C:\ProgramData\{95E74D47-F7E3-45F0-98A6-C4EB87FC1E6A} – 10.0.0.0 – Install – Delphi XE3

C:\ProgramData\{315FB277-DFEF-4F1B-801B-9CD2EA8C3324} – 14.0.0.0 – Boost – C++ Builder XE6 (already empty)

C:\ProgramData\{2563F97A-045F-4E4C-9DB1-D5D26C269882} – 7.0.0.0 – DataPack – Delphi 2010

C:\ProgramData\{077034D4-0DBA-437F-8372-9C77B5B6FE74} – 12.0.0.0 – Boost – C++ Builder XE5 (already empty)

C:\ProgramData\{B0A6C550-7640-4BB9-A44C-C9A7B5257584} – 9.0.0.0 – Boost – C++ Builder XE2

C:\ProgramData\{B59CE2E6-B15A-4F23-BD0E-72BF2ADDC3C7} – 5.0.0.0 – Install – Delphi 2007 (note name `offline`, not `OFFLINE`)

C:\ProgramData\{D8AD9B23-35FA-4AA7-9779-6B9D955BAB23} – 12.0.0.0 – Install – Delphi XE5

C:\ProgramData\{D58335DC-C8DE-44AB-87E6-A01F75AE0930} – 10.0.0.0 – Boost – C++ Builder XE3

C:\ProgramData\{DB0120A5-283F-4C63-9078-87A0BC934D77} – 5.0.0.0 – Help – Delphi 2007

C:\ProgramData\{DC8C780A-A252-4488-9036-328E8B1E09E6} – 10.0.0.0 – Help – XE3

C:\ProgramData\{DE30B245-ED11-4615-A96C-E16B51AC0D47} – 8.0.0.0 – Boost – C++ Builder XE

C:\ProgramData\{E1CF0FD5-A11C-46F1-BD4B-31AF80BAE26F} – 11.0.0.0 – Install – Delphi XE4

C:\ProgramData\{E4B6B107-885E-4483-9BCE-EF0880546D3F} – 11.0.0.0 – Help – XE4

C:\ProgramData\{E27DEAB7-28C5-4FEF-AA5A-954566B3E9A7} – 11.0.0.0 – Boost – C++ Builder XE4

C:\ProgramData\{FF892A0B-471C-4F3D-A7ED-DDF138A74F9C} – 8.0.0.0 – Install – Delphi XE

And on a different machine:

C:\ProgramData\{857B0D11-62C8-4FE0-B933-B80313FE43AD} – 11.0.0.0 – Install – Delphi XE4 – BDS 18.0.4854.59655

C:\ProgramData\{E4B6B107-885E-4483-9BCE-EF0880546D3F} – 11.0.0.0 – Help – XE4

C:\ProgramData\{E27DEAB7-28C5-4FEF-AA5A-954566B3E9A7} – 11.0.0.0 – Boost – C++ Builder XE4

C:\ProgramData\{E1CF0FD5-A11C-46F1-BD4B-31AF80BAE26F} – 11.0.0.0 – only had an OFFLINE folder, no other files

So something fishy is going on when you do Delphi upgrades. So I recommend a full uninstall/reinstall instead of upgrades.

After deleting you loose the REPAIR and UPDATE function of the installer, as I found out – when I finally had the right search criteria – in a comment by Torbins on The Itinerant Developer: Free ~4GB of disk space used by XE2 installation files:

You can easily remove all subfolders of this folders with GUID names, probably except OFFLINE one. After that you will lose the ability to repair or update your installation, but uninstall still will be fully functional.

By the way, update is worse then full reinstall, because it creates additional ~1Gb file in the Windows folder. This file can be used to rollback update in case of errors.

And a comment by IL on Delphi Research list: TXMLDocument binding for OmniXML (via: Stack Overflow):

Jeroen, most of install files can be deleted. You may delete all files in ProgramData{guid} folders except OFFLINE folder and files in the folder itself. This is sufficient for installer’s remove functionality and you still can modify and recover your installation from the separate setup on the ISO image or web setup. I’ve learnt this little trick at one of Russian Delphi forums. I’ve deleted the Delphi installation files in ProgramData myself, no issues yet, but I’ve never tried to install the update, modify or recover after that. Going to try with XE7 Update1.

This means that my regular way of “updating” Delphi versions is the correct one:

Uninstall the current Delphi version (but keep the registration and registry data)

Install the updated Delphi version

via:

I’ve a VM with many Delphi versions and want to clean up space from….

The Itinerant Developer: Free ~4GB of disk space used by XE2 installation files.

Delphi Research list: TXMLDocument binding for OmniXML (via: Stack Overflow) « The Wiert Corner – irregular stream of stuff.

PS: some comments from the G+ thread:

Jeroen Wiert Pluimers: +Lars Fosdal I know most of those are installer caches not touched by running BDS.exe. Since there is no documentation, I’d like some input on how to select what to delete.

Bill Meyer: +Jeroen Wiert Pluimers Documentation? I vaguely recall that word….

Lars Fosdal: Are the GUIDs static, or are they from time of install?

Jeroen Wiert Pluimers: +Lars Fosdal I’m not sure: there are no docs on them (:

For Delphi 2010 they are {2D559015-4C05-4AE5-8C8B-7E13E1EAB09D} and {6A883631-DE6E-4096-9348-4D606A536BCB} do you have the same ones?

Paul TOTH: I’ve deleted one of those big directory once for a Delphi XE7, but then the SP1 can’t remove the old version and I had to restart a new VM.

Lars Fosdal:

Search for directories with setup.exe and mia.lib – Setup.exe has the Delphi release version in the file version i.e. XE 7 is 15.0.0.0, XE 6 is 14.0.0.0FoundXE 7.1 (15)

{6AA75682-1354-47E0-9287-809633ADB137}

{6CD5A351-75D7-4163-B364-912E17A49312}

{C1FF573A-597E-4E37-9A2A-004D3D201024}

XE7.1 Boost

{42DB1392-BA55-4685-8A8A-884C77934D8C}

XE7.1 Android

{CF504BCC-79FC-4455-BF0B-F2866429F689}XE 6.1 (14)

{FDB4ECE9-151E-4C2C-B20B-2316AFA29D8F}

{8BC39306-28C8-4CAB-801D-9BB22E813571}

{0DE47792-19BD-4AF4-B9CF-6378FBA44825}

XE 6.1 Boost

{315FB277-DFEF-4F1B-801B-9CD2EA8C3324}

XE 6.1 Android

{A2C8EB76-CB1E-47B5-96A7-4FD682404E92}

Nicholas Ring: From what I can recall, if you delete them, you will not be able to do an modify/update on those versions. The reason being is that the installer uses those to verify the version it is updating.From what I have read in the past, people have moved them off (ie, backed them up), so if they are required in the future, you just restore the one(s) you require and remove them afterwards.Hope this helps some…

Ilya S: +Jeroen Wiert Pluimers you can safely delete any folders inside GUID folder except OFFLINE folder and the files right inside the GUID folder. This is enough for uninstall/modify to get started.

Filed under: Delphi, Delphi 2007, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development

Show more