deepin-wine-wechat-arch
deepin-wine-wechat-arch copied to clipboard
deepin-wine-wechat 3.6.0.18-1无法安装微信
版本更新到deepin-wine-wechat 3.6.0.18-1(aur上3小时前的版本)后,所有对WINEPREFIX
(~/.deepinwine/Deepin-WeChat/
)的修改均会导致/opt/apps/com.qq.weixin.deepin/files/run.sh
删除其中的所有内容(包括安装微信的操作,安装后重新打开也会清空WINEPREFIX
,又回到了安装前的状态使脚本重新开始安装)
已尝试删除WINEPREFIX
并重新构建安装,无法解决问题
看样子是deepin-wine-helper的/opt/deepinwine/tools/run_v4.sh
文件里APPVER有时不能成功写入:
echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION"
导致后续在UpdateApp时做的版本检查没有通过,触发了删除的逻辑:
if [ -f "$WINEPREFIX/PACKAGE_VERSION" ] && [ "$(cat "$WINEPREFIX/PACKAGE_VERSION")" = "$APPVER" ]; then
return
fi
...
case $BOTTLENAME in
"Deepin-Intelligent" | "Deepin-QQ" | "Deepin-TIM" | "Deepin-WeChat" | "Deepin-WXWork" | "Deepin-Dding")
rm -rf "$WINEPREFIX"
DeployApp
return
;;
esac
所以在安装后(指存在c:/Program Files/Tencent/WeChat/WeChat.exe
),需要检查一下$HOME/.deepinwine/Deepin-WeChat/PACKAGE_VERSION
文件是否存在,如果不存在那么可以试试这个:
cat /opt/apps/com.qq.weixin.deepin/files/files.md5sum > $HOME/.deepinwine/Deepin-WeChat/PACKAGE_VERSION
@TangliziGit 感谢帮助,不能复现这个问题,已经尝试在 run.sh
加入修复:https://github.com/vufa/deepin-wine-wechat-arch/commit/1e28528bef3e649e922da4f505145ae8200e6c24
这是因为 deepin-wine-wechat 自己又定义了 DeployApp 函数。 run_v4.sh 的 DeployApp 函数是有写入 PACKAGE_VERSION 的。
这个问题百分百复现。
run_v4.sh 的 DeployApp 函数实现如下:
DeployApp()
{
ExtractApp "$WINEPREFIX"
if UsePublicDir;then
chgrp -R users "$WINEPREFIX"
chmod -R 0775 "$WINEPREFIX"
fi
echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION"
}
但是 aur 上的版本似乎并没有这个热修复。我尝试了几遍都是这个样子。
deepin-wine-helper 更新到 5.1.39_1-1
了,不知道有没有修复这个问题,可以试试
deepin-wine-helper 更新到
5.1.39_1-1
了,不知道有没有修复这个问题,可以试试
我看到代码里没 pin 住具体版本的安装包地址,这样有新版微信更新之后 MD5 就对不上了,无法安装。比如现在好像安装包就已经更新过一次了,代码里 MD5 是 12dfdf74fa1db8c436da301d0d732685
( https://github.com/vufa/deepin-wine-wechat-arch/blob/bc9d590bf2bcaec522ce8f5ce6a04e293c8d67cf/.SRCINFO#L29 )
> wrestool --extract --raw --type=version ~/.cache/yay/deepin-wine-wechat/WeChatSetup-3.7.0.29.exe | strings -el | grep Version -A 1
FileVersion
3.7.0.1000
--
ProductVersion
3.7.0.0
> md5sum ~/.cache/yay/deepin-wine-wechat/WeChatSetup-3.7.0.29.exe
f051ff988f36b1c9e2ba3b98cebbc7b6 /home/xx/.cache/yay/deepin-wine-wechat/WeChatSetup-3.7.0.29.exe
@JokerQyou 感谢提醒,已经更新:https://github.com/vufa/deepin-wine-wechat-arch/commit/25181da60193d7c54adb0192a3ec0e9bcb618d36 ,目前没有办法下载具体版本的安装包