diff options
Diffstat (limited to 'run.sh')
-rwxr-xr-x | run.sh | 33 |
1 files changed, 30 insertions, 3 deletions
@@ -12,8 +12,10 @@ version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; BOTTLENAME="Deepin-QQ" APPVER="9.3.2deepin20" WINEPREFIX="$HOME/.deepinwine/$BOTTLENAME" +QQ_FONTS="$WINEPREFIX/drive_c/windows/Fonts" QQ_VER="9.5.2.27897" EXEC_PATH="c:/Program Files/Tencent/QQ/Bin/QQ.exe" +EXEC_FILE="$WINEPREFIX/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe" START_SHELL_PATH="/opt/deepinwine/tools/run_v4.sh" QQ_INSTALLER="PCQQ2021" QQ_INSTALLER_PATH="c:/Program Files/Tencent/$QQ_INSTALLER-$QQ_VER.exe" @@ -33,6 +35,28 @@ OpenWinecfg() env WINEPREFIX=$WINEPREFIX $APPRUN_CMD winecfg } +DeployApp() +{ + # backup fonts + if [ -d "$QQ_FONTS" ];then + mkdir -p $HOME/.deepinwine/.qq_tmp + cp $QQ_FONTS/* $HOME/.deepinwine/.qq_tmp/ + fi + + # re-deploy bottle + rm -rf "$WINEPREFIX" + # run installer + env LC_ALL=zh_CN.UTF-8 WINEDLLOVERRIDES="winemenubuilder.exe=d" $START_SHELL_PATH $BOTTLENAME $APPVER "$QQ_INSTALLER_PATH" "$@" + + # restore fonts + if [ -d "$HOME/.deepinwine/.qq_tmp" ];then + cp -n $HOME/.deepinwine/.qq_tmp/* $QQ_FONTS/ + rm -rf "$HOME/.deepinwine/.qq_tmp" + fi + touch $WINEPREFIX/reinstalled + cat /opt/apps/$DEB_PACKAGE_NAME/files/files.md5sum > $WINEPREFIX/PACKAGE_VERSION +} + Run() { if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then @@ -41,10 +65,13 @@ Run() if [ -n "$EXEC_PATH" ];then if [ ! -f "$WINEPREFIX/reinstalled" ];then - # run installer - env LC_ALL=zh_CN.UTF-8 WINEDLLOVERRIDES="winemenubuilder.exe=d" $START_SHELL_PATH $BOTTLENAME $APPVER "$QQ_INSTALLER_PATH" "$@" - touch $WINEPREFIX/reinstalled + DeployApp else + # missing exec file + if [ ! -f "$EXEC_FILE" ];then + DeployApp + fi + env LC_ALL=zh_CN.UTF-8 $START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@" fi else |