Page 1 of 2

[SOLVED] Uninstalling the microsoft-office-2024-professional package

Published: November 13, 2024 - 03:47
by lfkl
Hello everyone,

In the Microsoft Office Professional 2024 package, we've added English language support and spell-checking tools to the configuration XML for ProPlus, Visio, and Project! No installation problems.
<Configuration ID="f884adcc-fd71-4b09-b91f-fXXXXXXXXXX">
<Add OfficeClientEdition="64" Channel="PerpetualVL2024">
<Product ID="ProPlus2024Volume" PIDKEY="XJ2XN-FW8RK-XXXXX-XXXXX-XXXXX">
<Language ID="fr-fr" />
<Language ID="en-us" />
</Product>
<Product ID="VisioPro2024Volume">
<Language ID="fr-fr" />
<Language ID="en-us" />
</Product>
<Product ID="ProjectPro2024Volume">
<Language ID="fr-fr" />
<Language ID="en-us" />
</Product>
<Product ID="LanguagePack">
<Language ID="fr-fr" />
<Language ID="en-us" />
</Product>
<Product ID="ProofingTools">
<Language ID="en-us" />
<Language ID="fr-fr" />
</Product>
Regarding uninstallation, it's my understanding that the original package from the Wapt Store only includes the French version of "ProPlus2024Volume" (which is perfectly normal) with an uninstallation condition based on `app_uninstallkey = "ProPlus2024Volume - fr-fr"`. Although I haven't tried it, I imagine it uninstalls based on this condition?

My question is, how do I uninstall my package along with all languages, tools, and versions? Do I add different `app_uninstallkey` values ​​based on the output of the `wapt-get list-registry` command?
For example: app_uninstallkey = "ProPlus2024Volume*", "ProjectPro2024Volume*" (I'm not sure about my syntax).
Or is there an easier way?

Thank you for your help and time. Sincerely,
Ramses

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 17, 2025 - 6:15 PM
by jcgensam
Hello,

I'm reviving this thread because I have the same question. :-)

Uninstalling the "official" package provided by Tranquil IT leaves the Office 2024 suite partially installed (it still contains "Microsoft Office LTSC Standard 2024 - en-us").

Will a multi-valued app_uninstallkey work? :

app_uninstallkey = ["Standard2024Volume - fr-fr", "Microsoft Office LTSC Standard 2024 - en-us"]

Regards,

JCG

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 18, 2025 - 11:04 AM
by jlepiquet
Good morning,

We should add an uninstallation function with all the keys for the software you wish to uninstall.
Based on the uninstallation key:

Code: Select all

def uninstall():

uninstall_keys = ["Standard2024Volume - fr-fr", "Microsoft Office LTSC Standard 2024 - en-us"]

for uninstall_key in uninstall_keys:
    for to_uninstall in installed_softwares(uninstall_key):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])
Or, based on the software name, this allows us to add an asterisk (*) for greater generality:

Code: Select all

def uninstall():

uninstall_names = ["Standard2024Volume*", "Microsoft Office LTSC Standard 2024*"]

for uninstall_name in uninstall_names:
    for to_uninstall in installed_softwares(name=f"{uninstall_name}"):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 18, 2025 - 4:51 PM
by jcgensam
Thank you for your invaluable help!

Indeed, by adding the uninstall function, most of the additional components are removed. Only one remains stubborn: Microsoft Office LTSC Standard 2024 - en-us!

Wapt returns the following error, which was generated by the uninstallation:

Code: Select all

2025-09-18 16:41:28,939 CRITICAL Error running uninstall script: Command ['"C:\\Program Files\\Common Files\\Microsoft Shared\\ClickToRun\\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2024Volume.16_en-us_x-none culture=en-us version.16=16.0'] returned non-zero exit status 1.
Output:La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.
However, OfficeClickToRun.exe is indeed present in the correct directory structure, and the command syntax seems correct?

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 22, 2025 - 8:53 AM
by jlepiquet
Is it possible to launch

Code: Select all

"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2024Volume.16_en-us_x-none culture=en-us version.16=16.0
Can you access a command prompt as administrator and see how the PC reacts?

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 22, 2025 - 12:46 PM
by jcgensam
Indeed, good point, I get a "Ready to uninstall?" window where I have to click "Uninstall" or "Close," so it requires interaction.

I'm looking for the silent switches in OfficeClickToRun.exe, but it's not very well documented, and /? or /h don't work.

It's funny that it works perfectly for the French version but not for the US version...

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 22, 2025 - 12:49 PM
by jcgensam
Oh wait, no, actually, for the French version I checked:

"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2024Volume.16_fr-fr_x-none culture=fr-fr version.16=16.0

I get the same dialog box... So there's a good chance the uninstallation is happening through a different process...

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 22, 2025 - 4:28 PM
by jlepiquet
We must add DisplayLevel=False at the end of the uninstallation command

"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2024Volume.16_fr-fr_x-none culture=fr-fr version.16=16.0 DisplayLevel=False

https://community.spiceworks.com/t/unin...cmd/622809

If all uninstallation commands are in this format, the code might look like this

Code: Select all

def uninstall():

uninstall_names = ["Standard2024Volume*", "Microsoft Office LTSC Standard 2024*"]

for uninstall_name in uninstall_names:
    for to_uninstall in installed_softwares(name=f"{uninstall_name}"):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"])+ " DisplayLevel=False")
        wait_uninstallkey_absent(to_uninstall["key"])

Re: Uninstalling the microsoft-office-2024-professional package

Published: September 22, 2025 - 5:05 PM
by jlepiquet
However, I believe that uninstalling Office deletes the OfficeClickToRun.exe file; it should be the last one to be uninstalled.

[SOLVED] Re: Uninstalling the microsoft-office-2024-professional package

Published: September 23, 2025 - 1:59 PM
by jcgensam
Based on the tests I've done, as long as the en-US version of Office is not uninstalled, OfficeClickToRun.exe remains present and can be called, so that should be fine.

Moreover, when I manually launch "

Code: Select all

"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2024Volume.16_en-us_x-none culture=en-us version.16=16.0 DisplayLevel=False
", it works without any problems.

I think we're getting close with the code snippet you suggested adding, but it's returning a Python error:

Code: Select all

'Traceback (most recent call last):\n  File "<string>", line 856, in main\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5966, in remove\n    self.uninstall(package)\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 7559, in uninstall\n    entry.call_setup_hook(\'uninstall\', self, params=params,force=force)\n  File "C:\\Program Files (x86)\\wapt\\waptpackage.py", line 3008, in call_setup_hook\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\waptpackage.py", line 3004, in call_setup_hook\n    hookdata = hook_func()\n  File "<string>", line 54, in uninstall\nTypeError: can only concatenate list (not "str") to list\n')
So, I just corrected the line:

Code: Select all

run(uninstall_cmd(to_uninstall["key"]) + " DisplayLevel=False")
in

Code: Select all

run(uninstall_cmd(to_uninstall["key"])[0] + " DisplayLevel=False")
And it all works perfectly!

Thank you so much for your help, I would never have found it... Now the package is fully operational, I'm happy about that!

Sincerely,

JCG