1

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

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

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

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

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

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

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

4

1 回答 1

0

1)在我的脑海中,也许你缺少像一些 VC++ redist 这样的依赖项?

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

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

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

此外,另一个使用 MakePri 的好例子

于 2018-08-16T06:46:42.447 回答