【问题标题】:Windows Installer ugly font renderingWindows Installer 丑陋字体渲染
【发布时间】:2019-01-13 19:33:47
【问题描述】:

问题仅出现在 Windows Installer 上。 如何解决?

【问题讨论】:

  • 我从未见过这个。只是这台 MSI 和/或仅在这台机器上?你登录安装程序了吗?它是否显示任何警告或错误?
  • 我在不同软件的几个安装程序上看到了这一点(不是全部或并非总是如此)。只在我的机器上。不,还没有登录。
  • 这似乎表明您的机器有些奇怪。如果没有日志或操作系统的线索,我不可能告诉你那是什么。
  • 嘿,您仍然可以访问此 MSI 吗?您能否检查一下它是否已将 UTF-8 设置为代码页进行编译?在某些情况下,这显然会导致一些奇怪的字体显示。如果您安装了 Orca,请打开有问题的 MSI 并转到 Tools => Code Page... 它是否显示 65001?那将是UTF-8。正常是1252 - Latin(或类似的字符编码 - 例如1251 - Cyrillic)。或者将 MSI 放在某个共享位置以便我们检查?
  • 我不认为我有那个 msi 了。

标签: fonts windows-installer installation font-rendering


【解决方案1】:

新发现,请看维基百科:https://en.wikipedia.org/wiki/AppLocale

"AppLoc.tmp 在 AppPatch 文件夹 (%windir%\apppatch) 会导致 Windows Installer 的 Mojibake 问题...Mojibake 是乱码文本,是使用意外字符编码对文本进行解码的结果...结果是系统替换符号完全不相关,通常来自不同的书写系统。”

虽然上面的对话框显示了正确的文本,只是显示非常乱码(不是不同代码页的乱码字符),但我想在此处添加此问题,以防有人在遇到乱码 MSI 对话框时在寻找答案时发现它.

【讨论】:

    【解决方案2】:

    这不可能是显卡问题,因为字幕没问题。您不是在虚拟机中运行此 MSI 吗?或者更糟糕的是,在 Wine (Linux) 中?

    在技术层面上,MSI(如果存在)中的 TextStyle Table 控制 MSI 对话框中使用的字体。 我假设您系统上的特定字体要么损坏,要么在您可能运行的任何模拟环境中都无法正常工作。这就解释了为什么它只会发生包含一些 MSI 文件,而不是全部(每个 MSI 可能使用不同的字体)。

    仅作记录:我怀疑 日志 会告诉您很多信息,但请尝试使用 msiexec.exe /I "Setup.msi" /L*V! "C:\Temp\msilog.log"。显然,酌情替换路径。这将创建一个详细的日志文件并刷新到日志(缓慢,但会记录所有内容 - 不会丢失日志缓冲区)。我想您可以搜索与字体、文本样式或字体相关的任何内容。

    真正的解决方案显然是找出你的字体出了什么问题,但在此之前我们需要知道你是否处于模拟环境中。显然,在 Windows 资源管理器中的字体文件夹中放置的字体会自动在系统上注册,但您也可以使用 VBScript:http://windowsitpro.com/scripting/trick-installing-fonts-vbscript-or-powershell-script。所以我想结论是你可以从你周围的任何机器上抓取问题字体,最好是同一操作系统的机器,然后将字体拖放到你的字体文件夹中,看看是否这解决了问题。显然,使用上面列出的 TextStyle 表确定确切的问题字体。并备份已经存在的字体(如果有的话)。

    为了查看 TextStyle 表,您需要一个工具来打开 MSI 文件。免费的是来自 Windows SDK 的Orca.exe。如果您的 PC 上已经安装了 Windows SDK,请搜索“Orca-x86_en-us.msi”并安装它。然后在开始菜单中找到 Orca。

    如果您没有安装 Windows SDK 并且不想全部安装(它很大),那么有很多替代工具:What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc。其中大部分是大型商业工具。你最快的赌注可能是Super Orca(我用的不多,但对于这么简单的任务应该没问题)。

    这里是一个可能更清楚(更好的概述)的工具列表:http://www.installsite.org/pages/en/msi/authoring.htm

    更新:

    • 您是否识别出损坏的字体、安装它然后重新启动并再次测试?
    • 据我所知,重启应该会重建字体缓存,但是这里有关于如何自己删除缓存的描述。虽然它适用于 Windows 8,但在 Win10 中应该是相同的:http://www.trishtech.com/2013/11/rebuild-fonts-cache-windows-8/

    【讨论】:

    • >您不是在虚拟机中运行此 MSI 吗?或者更糟糕的是,在 Wine (Linux) 中没有。没有。
    • 好的,这是否意味着字体安装没有解决问题?如果是这样,请参阅上面的更新答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2012-09-07
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多