GAM-team / GAM

command line management for Google Workspace
https://github.com/GAM-team/GAM/wiki
Apache License 2.0
3.54k stars 473 forks source link

MSI upgrade is deleting some files in lib/ #1714

Open jay0lee opened 1 month ago

jay0lee commented 1 month ago

Some admins are seeing that when upgrading the Windows MSI for GAM, they are left with an incomplete installation. Files are missing from lib/ and this causes GAM to crash with various missing files/libraries errors.

The issue seems to be that when we build the GAM MSI, heat.exe generates a new Guid ID for each file on each run. So the MSI installer sees them as unique files and for some reason fails to actually replace them.

We need a stable Guid for files across GAM MSI builds.

jay0lee commented 1 month ago

Workaround:

1) uninstall GAM7 MSI completely (gam.cfg and project files are NOT deleted).

2) install latest MSI.

That way we're not actually doing an upgrade and all files are copied.

More permanent fix incoming....

jay0lee commented 1 month ago

I've rewritten the tool script at:

https://github.com/GAM-team/GAM/blob/main/src/tools/gen-wix-xml-filelist.py

now after heat.exe runs the above script also runs and sets Guid to a uuid5 based on the source filename. That means that on every GAM MSI build a given filepath will get the same Guid.

This should fix MSI builds going forward but anyone with GAM 7.00.19 or older will need to do the uninstall, reinstall workaround at least once to get this solved.

taers232c commented 1 month ago

In the legacy version, uninstalling GAM did not delete the GAM folder; now it does.

Users should be warned abount storing any user files in that directory.

Ross

Ross Scroggs @.***

On Oct 16, 2024, at 2:00 PM, Jay Lee @.***> wrote:

Workaround:

uninstall GAM7 MSI completely (gam.cfg and project files are NOT deleted).

install latest MSI.

That way we're not actually doing an upgrade and all files are copied.

More permanent fix incoming....

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1714#issuecomment-2417954166, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYLYEC2B5GB7WBWFIEFTZ33HXZAVCNFSM6AAAAABQCKFQ4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJXHE2TIMJWGY. You are receiving this because you are subscribed to this thread.

jay0lee commented 1 month ago

@taers232c do you know what change caused that? Ideally we would never delete files we didn't install. (and who really cares if c:\gam7 lives past MSI uninstall?)

taers232c commented 1 month ago

I just checked, if there are any user files in c:\GAM, the folder is not deleted

Ross Scroggs @.***

On Oct 16, 2024, at 2:09 PM, Jay Lee @.***> wrote:

@taers232c https://github.com/taers232c do you know what change caused that? Ideally we would never delete files we didn't install. (and who really cares if c:\gam7 lives past MSI uninstall?)

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1714#issuecomment-2417968592, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL5VTPN2BWLNHSWUWSLZ33IX5AVCNFSM6AAAAABQCKFQ4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJXHE3DQNJZGI. You are receiving this because you were mentioned.

taers232c commented 1 month ago

I'd call the new version 7.01.00 so it's easer to distinguish that this is the fixed version.

I have changes coming, I'll wait until you've got the issues resolved.

Ross

Ross Scroggs @.***

On Oct 16, 2024, at 2:09 PM, Jay Lee @.***> wrote:

@taers232c https://github.com/taers232c do you know what change caused that? Ideally we would never delete files we didn't install. (and who really cares if c:\gam7 lives past MSI uninstall?)

— Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1714#issuecomment-2417968592, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL5VTPN2BWLNHSWUWSLZ33IX5AVCNFSM6AAAAABQCKFQ4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJXHE3DQNJZGI. You are receiving this because you were mentioned.