【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录

踩坑目录

  • 软件结构
  • 第一个坑:ModuleNotFoundError: No module named 'encodings'
  • 第二个坑:urllib.error.HTTPError: HTTP Error 404: Not Found

软件结构

下图为macOS Unlocker for VMware v3.0.4的目录,可以看出该软件是由Python实现的主要功能,cmd实现操作流程,我们在使用软件的时候要右键管理员权限运行“win-install.cmd”。

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第1张图片

第一个坑:ModuleNotFoundError: No module named ‘encodings’

如果我们的电脑上已经安装了Python,那在运行“win-install.cmd”的时候,八成会报如下图所示的错误
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named ‘encodings’
【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第2张图片

为了解决这个问题,我们先右键-编辑“win-install.cmd”,定位到问题所在位置,我们在上图中可以看到,两段报错基本一模一样,在两段相同的报错前,分别为“Patching…”和“Getting VMware Tools…”的文本输出,这让我们能很轻易的找到问题所在的位置,也就是“win-install.cmd”中的这段位置:
【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第3张图片
我们可以看到这两段都是使用了软件中自带的Python可执行程序来执行目录下的.py文件,运行时的报错估计就是Python环境冲突导致的,那我们可以直接把执行.py文件的Python换成我们本地的Python,更改成如下图所示即可:

echo.
echo Patching...
python unlocker.py

echo.
echo Getting VMware Tools...
python gettools.py

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第4张图片
这样运行起来就不会报错了,但是即将我们将会踩到第二个坑

第二个坑:urllib.error.HTTPError: HTTP Error 404: Not Found

这个坑的原因很好理解:下载地址404 Not Found了,而下载地址就是如下图所示的这里:
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/12.2.5/20904517/x86/com.vmware.fusion.zip.tar/metadata.xml.gz

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第5张图片
我们这里就要看一下“gettools.py”的实现逻辑了,用PyCharm打开,还是先定位问题所在位置,在那一长串下载地址前面,有一句“Retrieving Fusion build…”,我们直接Ctrl+F搜索Retrieving就可以查找到下载地址的代码了,也就是我高亮了的file_path

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第6张图片

我们在第113行可以看到,build和file_path都是由parse_fusion_xml(fusion_xml)这个方法赋值的,导入fusion.xml,即可分析出下载地址,然而可能是因为fusion.xml格式更新或者代码逻辑问题,导致我们最终得到的下载地址是错误的,从而导致了404 Not Found错误,我们这里就直接查找到正确的下载地址,然后在第113行对file_path重新赋值即可。

我们先去找到当前正确的下载地址如下图所示:
我直接放在这里方便大家复制:
http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/12.2.5/20904517/x86/core/com.vmware.fusion.zip.tar

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第7张图片

然后将“gettools.py”里113行的代码改成如下图所示即可:

build = 20904517
file_path = "http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/12.2.5/20904517/x86/core/com.vmware.fusion.zip.tar"

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第8张图片

这样修改后再次右键管理员权限运行“win-install.cmd”就可以正常运行了

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第9张图片
等待“win-install.cmd”运行结束后,打开VMware Workstation-创建新的虚拟机,即可在客户机操作系统列表里看到Apple Mac OS了

【macOS Unlocker for VMware v3.0.4】Win10下使用踩坑记录_第10张图片

你可能感兴趣的:(macos,python)