Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

微信推出64位软件 #296

Open
gao-changxu opened this issue Jul 15, 2023 · 13 comments
Open

微信推出64位软件 #296

gao-changxu opened this issue Jul 15, 2023 · 13 comments

Comments

@gao-changxu
Copy link

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

@gao-changxu
Copy link
Author

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

@ChenSino
Copy link

ChenSino commented Aug 2, 2023

解决了吗

1 similar comment
@ChenSino
Copy link

ChenSino commented Aug 2, 2023

解决了吗

@kalimacroot
Copy link

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

@glide-the
Copy link

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

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

@ChinaNuke
Copy link

尝试修改 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
Copy link

/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
Copy link

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

@kalimacroot
Copy link

尝试修改 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
Copy link

/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
Copy link

目前我觉得方便的办法就只有更改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
Copy link

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

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

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

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

@kalimacroot
Copy link

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

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants