【问题标题】:Desktop Bridge Application Launch & Localization Issues桌面桥应用程序启动和本地化问题
【发布时间】:2019-01-21 03:31:58
【问题描述】:

我有一个旧版 win32 应用程序,我尝试使用从应用程序安装程序提供 .msi 的 DAC 进行转换,并且该应用程序的工作方式与转换后一样。但我在下面有几个问题。

  1. 我使用与我的操作系统版本相同的基本映像进行转换。但转换后的应用程序无法在 RS1 和 RS2 操作系统映像上启动。它会引发以下错误。

“此应用程序无法正确启动(0xc0000142)。单击确定关闭应用程序。”

  1. 我的旧应用程序安装程序在安装包中同时具有 Setup.exe 和 .msi 文件。 setup exe 只有语言选择功能。根据用户选择,特定的 .mst 文件作为参数传递给 msi 并启动。

现在在转换我的桌面应用程序时,我是否应该通过在转换时将所有语言的 .mst 文件名作为参数提供给 .msi 来生成多个 appx 文件?

如何处理上述情况,以便我转换后的应用程序应该以基于操作系统的特定语言启动?

另外,当 appx 安装时,App Installer 是否可以以该操作系统语言显示?在这种转换后的应用场景中如何支持?

【问题讨论】:

    标签: uwp desktop-bridge desktop-app-converter


    【解决方案1】:

    1) 在我的脑海中,也许您缺少一些 VC++ redist 之类的依赖项?

    2) 转换过程将仅捕获用于安装应用程序的语言,即您在命令行中指定的语言。即使您的 MST 存在,它也无法检测并包含所有语言。

    据我所知,appx/msix 软件包的 AppInstaller 无法显示语言选择对话框,这一切都由操作系统处理,对最终用户透明。

    如果您计划构建一个包含多种语言资源的包,您需要use MakePri。检查链接的线程以获取示例。

    另外,另一个很棒的example on using MakePri

    【讨论】:

    • 在这种情况下如何获取缺少的依赖项?我们不能在转换过程中将依赖项打包在转换后的应用程序中吗?但它正在处理 RS3 和 RS4 图像.. 你仍然认为这是 VC++ 依赖的问题吗?
    • 如果所有 RS 图像都是干净的,那么这很可能不是依赖关系问题。从我过去看到的情况来看,DAC 应该会自动检测您的依赖项。尝试使用 ProcMon 查看有关错误的更多详细信息。docs.microsoft.com/en-us/sysinternals/downloads/procmon
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多