ubuntuにoffice 2016(365)入れてみた

はじめに

LibreOfficeでええやんと思っていましたが、PowerPointをマイクロソフトOfficeと混合で編集するとフォントとかワケワカメになってしまうので、だったらwineで動かそうみたいな。それがWHY DONE IT

動いたらラッキーぐらいでどうぞ。

方針

wineとはwindowsの実行形式がlinuxで動かせる様になるものです。

あくまで動かせるだけで、実行に必要なライブラリを揃えなくてはいけません。

最初から入れろや、と思いますが、これはライセンスの問題なので使用者が入れましょうという話。なんですけど、Officeがどのライブラリに依存しているかなんてわかるわけないので総当たりで探しました。

手段

wineインストール

sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
sudo apt update
sudo apt install --install-recommends winehq-stable

winetricksインストール

sudo apt install winetricks

wine環境の構築

wine32bit環境を構築

WINEARCH=win32 wineboot

環境をwindows7にする

winetricks winecfg

フォントをインストールする

winetricks corefonts
winetricks cjkfonts
winetricks takao
winetricks uff
winetricks unifont

ライブラリをインストールする

winetricks cmd
winetricks d3dx10
winetricks d3dx11_43
winetricks d3dx9
winetricks dinput
winetricks dinput8
winetricks directmusic
winetricks directplay
winetricks directx9
winetricks dotnet40
winetricks dotnet45
winetricks dsound
winetricks gdiplus 
winetricks msxml6
winetricks riched30
winetricks richtx32
winetricks vcrun2008
winetricks vcrun2010
winetricks vcrun2012
winetricks vcrun2015



再度環境をwindows7にする

winetricks winecfg

officeのダウンロード

マイクロソフトからofficeをダウンロードしますが、ダウンロードしたアカウントでライセンス認証が行われます。

以下のページに行きます。

https://account.microsoft.com/services/

インストールを選択します。

その他のオプションを選択します。

32bitを選択しダウンロードします。

officeのインストール

ダウンロードした実行ファイルをwineプログラムローダーで実行するとインストールが行われます。

topコマンドや、システムモニタでネットワーク使用率やCPU使用率を見てインストール状態を確認してください。

インストールが終わると「終わりました」と通知が来ますが、実際はwineが後処理しているので注意。

office実行前の魔法

DLLコピー

インストーラーがDLLをコピーし忘れているようなので、

  • AppvIsvSubsystems32.dll
  • C2R32.dll

をProgramFiles/Common Files/Microsoft Shared/ClickToRunから

Program Files/Microsoft Office/root/Office16 にコピーします

cp ~/.wine/drive_c/Program\ Files/Common\ Files/Microsoft\ Shared/ClickToRun/AppvIsvSubsystems32.dll ~/.wine/drive_c/Program\ Files/Microsoft\ Office/root/Office16/AppvIsvSubsystems32.dll

cp ~/.wine/drive_c/Program\ Files/Common\ Files/Microsoft\ Shared/ClickToRun/C2R32.dll ~/.wine/drive_c/Program\ Files/Microsoft\ Office/root/Office16/C2R32.dll 

レジストリ変更

wineの動作を変更しないと動かないっぽいので以下のレジストリファイルを作成してインポートします。

cat ofice2016.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Wine\Direct2D]
"max_version_factory"=dword:00000000

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"csmt"=dword:00000001

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"MaxVersionGL"=dword:00030002

以下のコマンドでレジストリエディターを開きます。

winetricks regedit

ofice2016.regをインポートします

実行可能

この時点でランチャーに登録されたので、ファイルを開く動作に結びつけができます。

ライセンス認証が必要になります。

ライセンス認証もなんとか通ります。

さいごに

悲しいことにアップデートができない問題があります。

定期的にオンラインインストーラーで再インストールするしかないかなぁ

OfficeC2RClient.exe /update user displaylevel=True

がdllのエラーで止まるからwin732bitから該当するdllコピーしたら今度は全部動かなくなるという悲しみ