vufa / deepin-wine-wechat-arch

Tencent WeChat on Deepin Wine(com.qq.weixin.deepin) For Archlinux
https://aur.archlinux.org/packages/deepin-wine-wechat/
1.13k stars 58 forks source link

微信推出64位软件 #296

Open gao-changxu opened 1 year ago

gao-changxu commented 1 year ago

微信已经推出64位软件,直接安装的话,deepin-wine会提示不能安装

gao-changxu commented 1 year ago

官方默认提供的是64位的软件了

ChenSino commented 1 year ago

解决了吗

ChenSino commented 1 year ago

解决了吗

kalimacroot commented 1 year ago

先官网下载32位的微信放着。 构建好包后直接打开微信,然后趁deepinwine初始化的时候进/home/mac/.deepinwine/Deepin-WeChat/drive_c/Program Files/Tencent把微信安装文件替换成刚才下载好的32位安装包,速度一定要快。就可以了。

glide-the commented 1 year ago

先官网下载32位的微信放着。 构建好包后直接打开微信,然后趁deepinwine初始化的时候进/home/mac/.deepinwine/Deepin-WeChat/drive_c/Program Files/Tencent把微信安装文件替换成刚才下载好的32位安装包,速度一定要快。就可以了。

这得多少年手速,哈哈哈哈

ChinaNuke commented 1 year ago

尝试修改 PKGBUILD 文件,将开头的 wechat_installer=WeChatSetup 更改为 wechat_installer=WeChatSetup_x86,并更新对应的 md5sum,之后手动用 makepkg 手动构建和安装,在 Extracting Deepin Wine WeChat archive 这一步遇到如下报错:

==> Extracting Deepin Wine WeChat archive ...

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:
1 file, 195705217 bytes (187 MiB)                                         

Extracting archive: /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
--
Path = /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
Type = 7z
Physical Size = 195705217
Headers Size = 15108
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/d::
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/y:
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/winx/extensions.so

Sub items Errors: 3

Archives with Errors: 1

Sub items Errors: 3
==> 错误: 在 build() 中发生一个错误。    正在放弃...

手工执行 PKGBUILD 中报错的解压命令,发现解压的结果中存在 d::y: 两个损坏的符号链接。

$ 7z x -aoa "./src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z" -o"./src/deepinwechatdir"
$ ls -l src/deepinwechatdir/dosdevices
...
lrwxrwxrwx 1 nuke nuke  8  8月13日 17:13 d:: -> /dev/sr0
lrwxrwxrwx 1 nuke nuke  9  8月13日 17:13 y: -> /home/uos

看起来这两个符号链接没有什么大的影响,直接再次修改 PKGBUILD,将报错的那行解压命令替换成:

7z x -aoa "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/files.7z" -o"${srcdir}/deepinwechatdir" || true

重新使用 makepkg 命令手工构建,能够构建并安装。但是通过图标运行微信,安装程序仍然报 “当前系统是32位,无法安装64位的应用”。

查看启动脚本 /opt/apps/com.qq.weixin.deepin/files/run.sh,发现其中使用 WECHAT_INSTALLER="WeChatSetup"WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe" 指定了64位的可执行文件,于是更改为 WECHAT_INSTALLER="WeChatSetup_x86"

再次通过图标启动微信,微信安装程序可以顺利完成,但是安装完启动时报“程序错误”,“程序(未被识别的)遇到严重的问题需要关闭”弹窗,仍然无法使用微信。

image

不是很能理解原因,浪费了一个多小时很伤心,我不玩了😢

glide-the commented 1 year ago

/opt/apps/com.qq.weixin.deepin/files/run.sh 这里的启动器从6改为5

尝试修改 PKGBUILD 文件,将开头的 wechat_installer=WeChatSetup 更改为 wechat_installer=WeChatSetup_x86,并更新对应的 md5sum,之后手动用 makepkg 手动构建和安装,在 Extracting Deepin Wine WeChat archive 这一步遇到如下报错:

==> Extracting Deepin Wine WeChat archive ...

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:
1 file, 195705217 bytes (187 MiB)                                         

Extracting archive: /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
--
Path = /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
Type = 7z
Physical Size = 195705217
Headers Size = 15108
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/d::
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/y:
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/winx/extensions.so

Sub items Errors: 3

Archives with Errors: 1

Sub items Errors: 3
==> 错误: 在 build() 中发生一个错误。    正在放弃...

手工执行 PKGBUILD 中报错的解压命令,发现解压的结果中存在 d::y: 两个损坏的符号链接。

$ 7z x -aoa "./src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z" -o"./src/deepinwechatdir"
$ ls -l src/deepinwechatdir/dosdevices
...
lrwxrwxrwx 1 nuke nuke  8  8月13日 17:13 d:: -> /dev/sr0
lrwxrwxrwx 1 nuke nuke  9  8月13日 17:13 y: -> /home/uos

看起来这两个符号链接没有什么大的影响,直接再次修改 PKGBUILD,将报错的那行解压命令替换成:

7z x -aoa "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/files.7z" -o"${srcdir}/deepinwechatdir" || true

重新使用 makepkg 命令手工构建,能够构建并安装。但是通过图标运行微信,安装程序仍然报 “当前系统是32位,无法安装64位的应用”。

查看启动脚本 /opt/apps/com.qq.weixin.deepin/files/run.sh,发现其中使用 WECHAT_INSTALLER="WeChatSetup"WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe" 指定了64位的可执行文件,于是更改为 WECHAT_INSTALLER="WeChatSetup_x86"

再次通过图标启动微信,微信安装程序可以顺利完成,但是安装完启动时报“程序错误”,“程序(未被识别的)遇到严重的问题需要关闭”弹窗,仍然无法使用微信。

image

不是很能理解原因,浪费了一个多小时很伤心,我不玩了cry

kalimacroot commented 1 year ago

目前我觉得方便的办法就只有更改pkgbuild和run文件。自己电脑下个微信的64位安装包,并开启ftp或着web功能,然后把pkgbuild的21行替换成自己电脑上微信的web下载链接,并且把文件里的版本号更改为对应的。run文件也改下版本号就可以直接安装了。我用的是3.9.23的版本。

kalimacroot commented 1 year ago

尝试修改 PKGBUILD 文件,将开头的 wechat_installer=WeChatSetup 更改为 wechat_installer=WeChatSetup_x86,并更新对应的 md5sum,之后手动用 makepkg 手动构建和安装,在 Extracting Deepin Wine WeChat archive 这一步遇到如下报错:

==> Extracting Deepin Wine WeChat archive ...

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:
1 file, 195705217 bytes (187 MiB)                                         

Extracting archive: /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
--
Path = /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
Type = 7z
Physical Size = 195705217
Headers Size = 15108
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/d::
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/y:
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/winx/extensions.so

Sub items Errors: 3

Archives with Errors: 1

Sub items Errors: 3
==> 错误: 在 build() 中发生一个错误。    正在放弃...

手工执行 PKGBUILD 中报错的解压命令,发现解压的结果中存在 d::y: 两个损坏的符号链接。

$ 7z x -aoa "./src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z" -o"./src/deepinwechatdir"
$ ls -l src/deepinwechatdir/dosdevices
...
lrwxrwxrwx 1 nuke nuke  8  8月13日 17:13 d:: -> /dev/sr0
lrwxrwxrwx 1 nuke nuke  9  8月13日 17:13 y: -> /home/uos

看起来这两个符号链接没有什么大的影响,直接再次修改 PKGBUILD,将报错的那行解压命令替换成:

7z x -aoa "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/files.7z" -o"${srcdir}/deepinwechatdir" || true

重新使用 makepkg 命令手工构建,能够构建并安装。但是通过图标运行微信,安装程序仍然报 “当前系统是32位,无法安装64位的应用”。

查看启动脚本 /opt/apps/com.qq.weixin.deepin/files/run.sh,发现其中使用 WECHAT_INSTALLER="WeChatSetup"WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe" 指定了64位的可执行文件,于是更改为 WECHAT_INSTALLER="WeChatSetup_x86"

再次通过图标启动微信,微信安装程序可以顺利完成,但是安装完启动时报“程序错误”,“程序(未被识别的)遇到严重的问题需要关闭”弹窗,仍然无法使用微信。

image

不是很能理解原因,浪费了一个多小时很伤心,我不玩了

尝试修改PKGBUILD文件,将入口的wechat_installer=WeChatSetup更改为wechat_installer=WeChatSetup_x86,并更新对应的 md5sum,之后手动makepkg构建和安装,在Extracting Deepin Wine WeChat archive这一步遇到以下报错:

==> Extracting Deepin Wine WeChat archive ...

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:
1 file, 195705217 bytes (187 MiB)                                         

Extracting archive: /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
--
Path = /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
Type = 7z
Physical Size = 195705217
Headers Size = 15108
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/d::
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/y:
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/winx/extensions.so

Sub items Errors: 3

Archives with Errors: 1

Sub items Errors: 3
==> 错误: 在 build() 中发生一个错误。    正在放弃...

手动执行PKGBUILD中报错的解压命令,发现解压的结果中存在d::y:两个损坏的符号链接。

$ 7z x -aoa "./src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z" -o"./src/deepinwechatdir"
$ ls -l src/deepinwechatdir/dosdevices
...
lrwxrwxrwx 1 nuke nuke  8  8月13日 17:13 d:: -> /dev/sr0
lrwxrwxrwx 1 nuke nuke  9  8月13日 17:13 y: -> /home/uos

看起来这两个符号链接没有什么大的影响,直接修改PKGBUILD,将报错的那行解压替换命令变成:

7z x -aoa "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/files.7z" -o"${srcdir}/deepinwechatdir" || true

重新使用makepkg命令手动构建,能够构建并安装。但是通过图标运行微信,安装程序仍然报“当前系统是32位,无法安装64位的应用”。

查看启动脚本/opt/apps/com.qq.weixin.deepin/files/run.sh,发现其中使用WECHAT_INSTALLER="WeChatSetup"WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe"指定了64位的文件,于是更改为WECHAT_INSTALLER="WeChatSetup_x86"

再次通过图标启动微信,微信安装程序可以顺利完成,但是安装启动时报“程序错误”,“程序(附带识别的)遇到严重的问题需要关闭”弹窗,仍然无法使用微信。

图像

不是很能理解原因,浪费了一个多小时很伤心,我不玩了😢

换个微信的版本可能就好了,或者重新打开也有可能好,😭。很神奇,同样的版本不同电脑编译出来结果都不一样,一台能用,一台安装打开后报错,把好的那台的文件拷贝过来后又可以。

ChinaNuke commented 1 year ago

/opt/apps/com.qq.weixin.deepin/files/run.sh 这里的启动器从6改为5

尝试修改 PKGBUILD 文件,将开头的 wechat_installer=WeChatSetup 更改为 wechat_installer=WeChatSetup_x86,并更新对应的 md5sum,之后手动用 makepkg 手动构建和安装,在 Extracting Deepin Wine WeChat archive 这一步遇到如下报错:

==> Extracting Deepin Wine WeChat archive ...

7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)

Scanning the drive for archives:
1 file, 195705217 bytes (187 MiB)                                         

Extracting archive: /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
--
Path = /home/nuke/.cache/yay/deepin-wine-wechat/src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z
Type = 7z
Physical Size = 195705217
Headers Size = 15108
Method = LZMA2:24 BCJ
Solid = +
Blocks = 2

ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/d::
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/dosdevices/y:
ERROR: Can not open output file : 没有那个文件或目录 : /home/nuke/.cache/yay/deepin-wine-wechat/src/deepinwechatdir/winx/extensions.so

Sub items Errors: 3

Archives with Errors: 1

Sub items Errors: 3
==> 错误: 在 build() 中发生一个错误。    正在放弃...

手工执行 PKGBUILD 中报错的解压命令,发现解压的结果中存在 d::y: 两个损坏的符号链接。

$ 7z x -aoa "./src/dpkgdir/opt/apps/com.qq.weixin.deepin/files/files.7z" -o"./src/deepinwechatdir"
$ ls -l src/deepinwechatdir/dosdevices
...
lrwxrwxrwx 1 nuke nuke  8  8月13日 17:13 d:: -> /dev/sr0
lrwxrwxrwx 1 nuke nuke  9  8月13日 17:13 y: -> /home/uos

看起来这两个符号链接没有什么大的影响,直接再次修改 PKGBUILD,将报错的那行解压命令替换成:

7z x -aoa "${srcdir}/dpkgdir/opt/apps/${debpkgname}/files/files.7z" -o"${srcdir}/deepinwechatdir" || true

重新使用 makepkg 命令手工构建,能够构建并安装。但是通过图标运行微信,安装程序仍然报 “当前系统是32位,无法安装64位的应用”。 查看启动脚本 /opt/apps/com.qq.weixin.deepin/files/run.sh,发现其中使用 WECHAT_INSTALLER="WeChatSetup"WECHAT_INSTALLER_PATH="c:/Program Files/Tencent/$WECHAT_INSTALLER-$WECHAT_VER.exe" 指定了64位的可执行文件,于是更改为 WECHAT_INSTALLER="WeChatSetup_x86" 。 再次通过图标启动微信,微信安装程序可以顺利完成,但是安装完启动时报“程序错误”,“程序(未被识别的)遇到严重的问题需要关闭”弹窗,仍然无法使用微信。 image 不是很能理解原因,浪费了一个多小时很伤心,我不玩了cry

请问是指的哪个启动器呀?把 deepin-wine6-stable 换成 5 吗?

ChinaNuke commented 1 year ago

目前我觉得方便的办法就只有更改pkgbuild和run文件。自己电脑下个微信的64位安装包,并开启ftp或着web功能,然后把pkgbuild的21行替换成自己电脑上微信的web下载链接,并且把文件里的版本号更改为对应的。run文件也改下版本号就可以直接安装了。我用的是3.9.23的版本。

用64位的安装包吗……我看了下 PKGBUILD 里写的下载链接跟微信官网上面Windows版的下载按钮指向的链接是完全一样的,目前是64位版本,下面32位版本的就是 _x86.exe,所以安装包的来源应该是没有什么问题。可能你的3.9.23版本刚好还是32位的而且deepin-wine能够兼容?猜测可能新版本的32位引入了一些不兼容的特性。

ChinaNuke commented 1 year ago

另外个人觉得这个包的 PKGBUILD 里面 wechat_installer 链接保持指向微信官网最新版本,一方面没有必要,另一方面在微信官方更新版本时总是会自动地引入一些不稳定性。

当安装这个包的时候,微信安装包始终是官网上下载的最新版本,但是这个包里面其他跟wine相关的环境和配置(包括更新版本经常会出问题的md5sum)并没办法做到及时地跟着微信官方去更新,导致微信本体和wine环境不一致,要么直接启动不起来要么可能会出现一些非预期的问题,维护者也不可能每个版本都跟着去测,大家遇到问题也不见得能够马上讨论出方案马上能解决,原来装了微信的可能更新后没法用了,新装微信的可能直接装不上没有微信用。

在Linux上能运行微信我想大家应该主要还是持着“能用就行”的态度,并不需要去跟新版本跟得太紧,而且微信近几年的版本更新我也没看到有什么重大的新功能。所以我们能否把某个比较稳定的微信版本通过某些方式缓存起来,将 PKGBUILD 中的链接指向这个固定的版本呢?这样一方面能够减少新装微信用户安装失败的概率,另一方面也能减少包维护者的维护难度,好像会更好一些。

(个人没有维护过AUR包所以不确定这种把包缓存起来不用官方下载链接的方式是否合理,仅是提一下想法,欢迎大家参与讨论)

kalimacroot commented 1 year ago

另外个人觉得这个包的 PKGBUILD 里面 wechat_installer 链接保持指向微信官网最新版本,一方面没有必要,另一方面在微信官方更新版本时总是会自动地引入一些不稳定性。

当安装这个包的时候,微信安装包始终是官网上下载的最新版本,但是这个包里面其他跟wine相关的环境和配置(包括更新版本经常会出问题的md5sum)并没办法做到及时地跟着微信官方去更新,导致微信本体和wine环境不一致,要么直接启动不起来要么可能会出现一些非预期的问题,维护者也不可能每个版本都跟着去测,大家遇到问题也不见得能够马上讨论出方案马上能解决,原来装了微信的可能更新后没法用了,新装微信的可能直接装不上没有微信用。

在Linux上能运行微信我想大家应该主要还是持着“能用就行”的态度,并不需要去跟新版本跟得太紧,而且微信近几年的版本更新我也没看到有什么重大的新功能。所以我们能否把某个比较稳定的微信版本通过某些方式缓存起来,将 PKGBUILD 中的链接指向这个固定的版本呢?这样一方面能够减少新装微信用户安装失败的概率,另一方面也能减少包维护者的维护难度,好像会更好一些。

(个人没有维护过AUR包所以不确定这种把包缓存起来不用官方下载链接的方式是否合理,仅是提一下想法,欢迎大家参与讨论)

我觉得也应该这样,固定了微信版本文件才能减少问题。微信更新太频繁,不可能同步维护项目。我也没研究过aur包,不知道怎么处理,目前我是把更改好的项目文件打包到自己的nas,啥时候要用再重新下载编译。过两天装个deepin看下目前微信和wine是什么版本,看下好不好移植。