xref: /aosp_15_r20/external/crosvm/tools/setup-wine64 (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1#!/usr/bin/env bash
2# Copyright 2022 The ChromiumOS Authors
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5set -ex
6
7wine64 wineboot
8
9WINETRICKS_COMMIT_HASH="b666e05a0bf28fd940e5c258ccdfc0a2799d1948"
10WINETRICKS_URL="https://raw.githubusercontent.com/Winetricks/winetricks/"$WINETRICKS_COMMIT_HASH"/src/winetricks"
11WINESTRICKS_SCRIPT_SHA="40fdf1f89f3636187201858e3591e86752172814"
12
13# Setup wine windows prebuilt dependecies.
14export WINEARCH=win64
15export WINE=wine64
16sudo wget "$WINETRICKS_URL" -O winetricks
17echo "$WINESTRICKS_SCRIPT_SHA winetricks" | sha1sum -c -
18sudo chmod +x winetricks
19
20# winetricks command fails while setting up dll registry post installation. During docker build
21# this command fails because it tries to create a regedit window but we do not have DISPLAY set.
22# Failure happens after installing dlls that we need so we ignore the failure.
23# TODO(b:255824543): Find a way to clean install vcrun2015
24./winetricks --force vcrun2015 || true
25ln -fs ~/.wine/drive_c/windows/system32/ucrtbase.dll ~/.wine/drive_c/windows/system32/ucrtbased.dll
26ln -fs ~/.wine/drive_c/windows/system32/vcruntime140.dll ~/.wine/drive_c/windows/system32/vcruntime140d.dll
27sudo rm winetricks
28