How to add LibreOffice extension(oxt) to Windows Installer(msi)

I would like to know how to add LibreOffice extension (oxt) to Windows Installer (msi). After receiving the source from GitHub and building it, I am making the installation through Windows Installer (msi). Here, the English spell checker (dict-en-20201201.oxt) and the Korean spell checker (korean-spell-checker-0-7-91-libo.oxt) will be installed immediately upon installation. Of course, I can install it from the extension manager after running LibreOffice after installation. However, at the time of installation, I try to install it at the same time. I don’t know how to do it, so I’ll ask. Thank you.

You would need to add a custom action that executes unopackage add --shared for the extensions. The details may vary. You may want to bundle the OXTs with the MSI itself (and extract them to a temporary directory in a custom action before the installation), or you may pass a path to a shared location with all the OXTs (and e.g. enumerate everything there, making the task of changing the set of installed extensions a matter of adding/removing files in the shared directory).

This is just a general direction, of course. I used to implement this using MSI-only changes (without binary files) - but that was long ago, and I don’t remember the details; a (VBS) script might also be handy.

In case you decide to unpack the extensions from the installer’s binary table, I suppose that you would need a DLL custom action. For inspiration, you may look at UnpackMSUForInstall that we implement to unpack MSUs installed by the MSI.

@mikekaganski: Welcome back. We missed you.