【问题标题】:MiKTeX dvipdfmx stopped working under Windows XPMiKTeX dvipdfmx 在 Windows XP 下停止工作
【发布时间】:2018-01-25 04:47:42
【问题描述】:

在我们的 PC 上(Windows XP 下有MiKTeX,多年来一直运行良好。然而,几个月前,在安装了最新版本(从 2017 年 9 月 16 日开始设置)后,dvipdfmx停止工作报告类似'它不是win32应用程序'。似乎问题是由mgs.exeMiKTeX的幽灵脚本)引起的。首先想到的是mgs.exe的64位版本是错误的包含在 32 位 MiKteX 中。但是,它似乎不是错误:MiKTeX 团队说它在 32 位 Windows 7 下工作。

我知道官方 MiKTeX 现在需要 Windows 7 或更高版本(因此,不支持 XP)。然而。在最新的更新之前一切都很好,即使现在latex.exeyap.exe 和其他人仍然可以工作。那么问题来了:有没有可能在 XP 中解决这个问题?

【问题讨论】:

    标签: ghostscript miktex


    【解决方案1】:

    在不知道实际问题是什么的情况下,不可能提供任何建议。引用错误时,请务必引用准确错误消息。

    “类似‘它不是 win32 应用程序’”不够精确。

    这也不是 Ghostscript 问题,因为“mgs.exe”不是 Ghostscript,它显然是某种分支。

    我的猜测是,您使用的是旧版本的 Windows,很可能该应用程序不再与这么旧的版本兼容,可能是因为构建它的人使用的是较新版本的 Visual Studio。

    为了构建适用于 Windows XP 的 Ghostscript,我认为您需要使用 Visual Studio 2005 或更早版本,更新的版本将创建一个无法在 Windows XP 上运行的可执行文件。

    对此的唯一解决方案是使用旧版本的 Visual Studio 构建“mgs.exe”,或者尝试从 ghostscript.com 网站的下载部分下载的预构建可执行文件“gswin32.exe” .显然,这与 mgs.exe 不同,但我无法帮助您使用 fork,因为我不知道做了什么。

    首先要尝试从命令行运行“mgs.exe”,如果它无法正常工作,那么几乎可以肯定是因为构建它的开发人员使用的 Visual Studio 版本太新。

    如果是这种情况,那么不,您无法在 Windows XP 中修复它,您需要执行以下操作之一:

    1) 升级到更新的操作系统

    2) 降级您的 MikTeX 并使用旧版本,直到您准备升级您的操作系统。

    3) 使用旧版本的 Visual Studio 自己重建“mgs.exe”。这可能具有挑战性,因为我在 MikTeX 网站上找不到他们提供源文件的任何地方。我去过他们的 Github 存储库,我也无法从 Ghostscript 那里找到任何东西。我将不得不联系开发人员,他们没有使用 Ghostscript 的股票版本,他们似乎没有提供他们的修订版,尽管他们正确地将 Ghostscript 引用为 AGPL 我在安装或他们的 Github 存储库中的任何地方都看不到将 Artifex 列为所有者或指向 Artifex 网站。他们也不会复制许可证或自述文件(为他们打耳光)。

    我打算尝试使用常规的 Ghostscript 而不是修改后的版本,但我对 MikTeX 一无所知,所以我无法测试它是否有效。在我看来,它可能会,因为看起来 MikTeX 将 Ghostscript 分叉为一个进程。因此,复制和重命名 Ghostscript 二进制文件的 64 位 Windows 版本可能会奏效。

    正如您所说,开发人员声明他们不再支持 Windows XP。

    【讨论】:

    • KenS,感谢您的回复。启动msg.exe 时,显示“msg.exe 不是win32 应用程序”。
    • 那么它的构建方式与 Windows XP 不兼容。您要么需要升级您的 Windows,降级您的 MikTeX,使用 VS 2005 自己重建 mgs.exe(我找不到这样做的方法),要么尝试使用我们使用 VS 2005 专门构建的标准 Ghostscript,以便它适用于旧版本的 Windows。或者,当然,向 MikTeX 开发人员投诉。
    • KenS,感谢您的快速回复。您的一些建议已经尝试过,但还没有尝试过。谢谢..
    • 来自 MikTeX 开发人员的信息表明,发行版中包含的 Ghostscript 本质上是 Ghostscript 的香草版本。因此,如果您将 gswin64c.exe 和 gsdll64.dll 从标准 Ghostscript Windows 发行版(64 位)复制到 MiKTeX 'bin' 文件夹中的 mgs.exe 和 mgsdll64.dll,那么它可能会起作用。
    • 我今天一定很慢......你可以做的另一件事是从早期版本的 MikTeX 复制 mgs.exe 和 mgsdll64.dll。这应该没有问题。显然,如果您这样做,那么您将慢慢落后于 Ghostscript 版本,从而使您面临安全问题和错误。但它应该可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 2015-10-09
    • 2013-08-23
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多