2

我必须为我的客户发布的应用程序创建语言包,创建语言包设置的最佳方法是什么,因此它将安装在顶级客户发布的应用程序上。

我还应该为用户提供安装和卸载语言包的选项。建议我通过 installshield 2011 执行此操作的最佳方法。

4

1 回答 1

0

我会这样做。

当然,您的应用程序在安装时会将安装文件夹存储在注册表中。然后您的语言包搜索此注册表项。

  • 如果安装位置未存储在注册表中,则说明您的应用程序未安装:报告错误并退出。
  • 否则你知道在哪里复制语言文件,所以继续安装你的语言包。

您的语言包将在“添加/删除程序”中有自己的条目。
如果您不想要它,还有其他两种选择:

  1. 将语言包注册为应用程序的更新。然后它只会在用户选择查看已安装的更新时显示。过滤添加或删除程序列表
    中解释了如何执行此操作。
  2. 从添加/删除程序中隐藏您的包。在这种情况下,您必须提供另一种卸载包的方法。

还有一件事:主应用程序的卸载程序应该(可以)提供卸载所有已安装语言包的选项。您不想让用户手动卸载它们,对吗?

这很棘手。我想到的最简单的方法是您的主要卸载程序枚举已安装的语言包并安排其删除。然而,这可能对 UAC 不友好。

实现删除语言包的方法取决于这些包的创建方式。如果您的卸载程序有一个引导程序,一个 .exe 而不是裸露的 .msi,那么它可能非常容易。引导程序启动主应用程序的卸载过程。如果成功,则继续删除语言包。而且它对 UAC 友好:引导程序在启动时要求提升,因此它启动的所有进程也将被提升。

于 2012-03-14T07:38:49.720 回答