Skip to content

Instantly share code, notes, and snippets.

@eylenburg
Last active May 30, 2024 19:40
Show Gist options
  • Save eylenburg/1510c6cddc50abdaad6bc776d0d1bede to your computer and use it in GitHub Desktop.
Save eylenburg/1510c6cddc50abdaad6bc776d0d1bede to your computer and use it in GitHub Desktop.
How to install Office 2016 in Crossover in Fedora Atomic Desktop (Kinoite, Silverblue)

This guide applies in general to all distributions that don't fully support Crossover or are unable to install all the packages that MS Office 2016 requires (e.g. you wouldn't want to layer all of them in Kinoite/Silverblue).

Prerequisite: You have bought a license for MS Office 2016 and for Codeweavers Crossover. Also you have the installer for MS Office 2016 downloaded already.

1. Install distrobox:

rpm-ostree install distrobox then reboot to apply changes.

2. Create a new distrobox container. This should be one of the officially supported distributions for Crossover (e.g. Debian, Fedora, Ubuntu). In this example I'll go with Debian Sid because it's rolling so you won't ever have to think about upgrading your container distro to the next version.

distrobox-create --name debian --image docker.io/library/debian:testing

3. Some preparations

distrobox enter debian

sudo apt install gdebi

sudo dpkg --add-architecture i386

4. Install Crossover

Still in the Distrobox:

wget http://crossover.codeweavers.com/redirect/crossover.deb

sudo gdebi crossover.deb

5. Register your Crossover license

Still in the Distrobox:

sudo /opt/cxoffice/bin/crossover (need to start Crossover as root to register your license)

then register you license in the app and close the app.

6. Install dependencies for Office 2016

Still in the Distrobox:

sudo apt install gdebi libc6:i386 gstreamer1.0-plugins-base:amd64 gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good:amd64 gstreamer1.0-plugins-good:i386 gstreamer1.0-plugins-ugly:amd64 gstreamer1.0-plugins-ugly:i386 libc6:i386 libcups2:i386 libdbus-1-3:i386 libfontconfig1:i386 libfreetype6:i386 libgcc-s1:i386 libgl1-mesa-dri:i386 libgl1:i386 libgnutls30:i386 libgstreamer1.0-0:amd64 libgstreamer1.0-0:i386 libnss-mdns:i386 libpcsclite1:i386 libpulse0:i386 libsane1:amd64 libsane1:i386 libudev1:i386 libunwind8:amd64 libvulkan1:i386 libx11-6:i386 libxcomposite1:i386 libxcursor1:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxxf86vm1:i386

7. Install Office 2016

Still in the Distrobox:

/opt/cxoffice/bin/crossover to start Crossover as a normal user

then install Office 2016 through the GUI.

8. Register Office

From the Crossover window, start one of the programs (Word, Excel, Powerpoint) and enter your license key (this can be found in your purchase history on office.com - it's not the same key as what's found in the box if your bought a physical copy).

9. (optional) Fix date format

By default, the date format is American (mm/dd/yyyy). To change it in Crossover, click on "Run command" in your bottle, then enter the command regedit.

In the registry editor go to HKEY_CURRENT_USER\Control Panel\International and change sShortDate (e.g. from M/d/yyyy to d/M/yyyy). Then close the window and click on Simulate Reboot in the Crossover bottle.

Now you can close the Crossover window and you're back in the terminal of your distrobox container.

10. Create starters that work in your host system

To export the desktop files, enter these commands in the distrobox container:

distrobox-export --app 'PowerPoint 2016'

distrobox-export --app 'Word 2016'

distrobox-export --app 'Excel 2016'

If it doesn't work because the starters are missing in the container, open Crossover again (/opt/cxoffice/bin/crossover), select the Office 2016 bottle, click on Edit Menus and then Recreate.

Finally enter logout in the distrobox terminal.

11. Get rid of broken starters that don't work in your host system

Finally you can optionally delete all files starting with "cx" in ~/.local/share/applications, as these only work when called from the distrobox container but not from the host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment