Skip to content

Instantly share code, notes, and snippets.

@azyobuzin
Last active November 19, 2020 04:20
Show Gist options
  • Save azyobuzin/896591ee2e246d5f8c94726bd51b98c4 to your computer and use it in GitHub Desktop.
Save azyobuzin/896591ee2e246d5f8c94726bd51b98c4 to your computer and use it in GitHub Desktop.
Wine 上で Mono を動かすやつ
FROM ubuntu:17.04
# apt-get update がクソ遅いので日本サーバーに変更
RUN sed -i 's|//archive\.ubuntu\.com|//jp\.archive\.ubuntu\.com|g' /etc/apt/sources.list
RUN dpkg --add-architecture i386 && \
apt-get update -y && \
apt-get install -y wget apt-transport-https software-properties-common && \
wget -O - https://dl.winehq.org/wine-builds/Release.key | apt-key add - && \
apt-add-repository -y https://dl.winehq.org/wine-builds/ubuntu/ && \
apt-get update -y && \
apt-get install -y locales make winehq-devel xvfb && \
rm -rf /var/lib/apt/lists/*
RUN locale-gen ja_JP.UTF-8
# 各種環境変数
# WINEDLLOVERRIDES: Wine の初回起動時に Mono と Gecko を入れろダイアログを表示させない
# W_OPT_UNATTENDED: winetricks に GUI なしでインストールしてもらう
ENV LANG="ja_JP.UTF-8" \
WINEARCH=win32 \
WINEDLLOVERRIDES="mscoree=d;mshtml=d" \
W_OPT_UNATTENDED=1
# パッケージリポジトリの winetricks は古いので直接ダウンロード
RUN wget -O - https://github.com/Winetricks/winetricks/archive/20170614.tar.gz | tar -xzf - && \
make -C winetricks-20170614 install && \
rm -rf winetricks-20170614
RUN useradd -m wine
USER wine
WORKDIR /home/wine
# Mono が未実装関数を呼び出して躓くので MS 製 VC++ ランタイムを使っていく
RUN xvfb-run -a winetricks wenquanyi vcrun2015 win7
RUN wget -O ~/.wine/drive_c/mono.msi https://download.mono-project.com/archive/5.2.0/windows-installer/mono-5.2.0.215-gtksharp-2.12.45-win32-0.msi && \
wine msiexec /i 'C:\mono.msi' /quiet && \
rm ~/.wine/drive_c/mono.msi
# タイムゾーン設定(InvalidTimeZoneException 対策)
RUN wine reg add 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation' /v TimeZoneKeyName /t REG_SZ /d 'Tokyo Standard Time' /f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment