可以本地化已安装应用程序的程序和功能显示名称吗?
Can an installed application's Programs and Features display name be localized?
已安装的 Windows 应用程序是否可以本地化显示名称?
如果是,我假设更改了此应用程序 DisplayName
注册表项中存储的内容。我之所以问,是因为我对在尝试获取 UninstallString
.
时如何查询可能已本地化的名称感兴趣
安装程序是否具有给定应用程序的可能显示名称或任何其他唯一 ID 的可查询列表?
在不知道您要做什么的情况下,不清楚如何回答这个问题。基于 MSI 的安装通常通过(比如说)英语的基本安装进行本地化,然后您使用 MSI 编辑器(例如 Orca)创建转换。您可以更改 ProductName 以及 UI 中的所有内容。使用该转换(.mst 文件),您使用包含 TRANSFORMS=[mst 文件的路径] 的命令行进行安装,您会看到本地化的 UI、ProductName 等
如果您想知道产品名称(或有关已安装产品的任何其他信息),您可以执行 MsiGetProductInfo 或等效操作:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370130(v=vs.85).aspx
并询问名称、版本、安装的语言或其他)。有一个 MsiEnumProducts API 枚举了 MSI 安装的产品。
没有人使用 UninstallString 进行 MSI 卸载(如果您删除或更改它仍然会卸载)。您只需调用 MsiConfigureProduct:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370070(v=vs.85).aspx
并使其不存在。
有些安装不使用 MSI 进行安装 - 在这些情况下,uninstallstring 可能会有用。他们如何进行本地化取决于用于创建设置的工具——有时他们在文件中有字符串资源。
话虽如此,在许多情况下,ProductName 从未本地化,因为它是一个可识别的品牌和公司名称。我怀疑(使用你的例子)Flash Player 可能总是被称为 Flash Player,因为(比如说)法语的翻译没有意义,而英语在这个名字下是全世界都能识别的。
已安装的 Windows 应用程序是否可以本地化显示名称?
如果是,我假设更改了此应用程序 DisplayName
注册表项中存储的内容。我之所以问,是因为我对在尝试获取 UninstallString
.
安装程序是否具有给定应用程序的可能显示名称或任何其他唯一 ID 的可查询列表?
在不知道您要做什么的情况下,不清楚如何回答这个问题。基于 MSI 的安装通常通过(比如说)英语的基本安装进行本地化,然后您使用 MSI 编辑器(例如 Orca)创建转换。您可以更改 ProductName 以及 UI 中的所有内容。使用该转换(.mst 文件),您使用包含 TRANSFORMS=[mst 文件的路径] 的命令行进行安装,您会看到本地化的 UI、ProductName 等
如果您想知道产品名称(或有关已安装产品的任何其他信息),您可以执行 MsiGetProductInfo 或等效操作:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370130(v=vs.85).aspx
并询问名称、版本、安装的语言或其他)。有一个 MsiEnumProducts API 枚举了 MSI 安装的产品。
没有人使用 UninstallString 进行 MSI 卸载(如果您删除或更改它仍然会卸载)。您只需调用 MsiConfigureProduct:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370070(v=vs.85).aspx
并使其不存在。
有些安装不使用 MSI 进行安装 - 在这些情况下,uninstallstring 可能会有用。他们如何进行本地化取决于用于创建设置的工具——有时他们在文件中有字符串资源。
话虽如此,在许多情况下,ProductName 从未本地化,因为它是一个可识别的品牌和公司名称。我怀疑(使用你的例子)Flash Player 可能总是被称为 Flash Player,因为(比如说)法语的翻译没有意义,而英语在这个名字下是全世界都能识别的。