Localization Installshield 12:如何共享共享函数的字符串和翻译

Localization Installshield 12:如何共享共享函数的字符串和翻译,localization,internationalization,installshield,Localization,Internationalization,Installshield,我有几个Installshield 12设置(使用基于非msi Installscript的设置)用于几个不同的产品。这些共享了一些代码,我想将它们放入shared.rul文件中。但是,其中一些代码可以报告错误,或者通常向用户显示消息 有没有办法像共享.rul文件那样在项目之间共享字符串(及其翻译)?我看到字符串表包含在ism文件中,一些rtfm和谷歌搜索还没有找到一种简单(甚至任何)的方法来实现这一点。您可以在常规信息视图或通过自动化界面导出和导入字符串表。如果您拥有多种语言,您可能希望将其作

我有几个Installshield 12设置(使用基于非msi Installscript的设置)用于几个不同的产品。这些共享了一些代码,我想将它们放入shared.rul文件中。但是,其中一些代码可以报告错误,或者通常向用户显示消息


有没有办法像共享.rul文件那样在项目之间共享字符串(及其翻译)?我看到字符串表包含在ism文件中,一些rtfm和谷歌搜索还没有找到一种简单(甚至任何)的方法来实现这一点。

您可以在常规信息视图或通过自动化界面导出和导入字符串表。如果您拥有多种语言,您可能希望将其作为一个自动化脚本来执行,以避免让自己发疯。

我有一个CommonIS文件夹,其中包含项目之间共享的.rul和.h文件。其中一些函数通过@ABC引用字符串。顺便说一句,我发现即使项目中没有定义ABC标识符,脚本也会编译。对于给定IS项目从我的公用文件夹中引用的任何函数,我手动将所需字符串添加到ISString表中。我不经常添加新的公共字符串,所以这并不可怕

在一些情况下,我将.rul函数改为接受sz arg,而不是在函数中嵌入@ABC。然后,当我调用该函数时,我将@ABC指定为arg

is有一个自动化接口。其目的(我认为)是允许您自定义构建和维护步骤(我相信在运行时不可访问)。因此,您可以创建一个新的CommonString IS项目,即存储。然后使用自动化界面将这些Sting复制到需要它们的各种其他IS项目


最后,可以将is.ism项目包含到安装程序的临时文件夹中,然后在运行时使用基于COM的XML DOM访问ISString表。缺点可能是您无法使用@ABC语法访问这些字符串。

如果我理解正确,您的意思是,在从ism构建安装程序之前,我可以运行一个脚本,将与其他.rul一起使用的字符串表导入ism?正确。如果您正在运行自动构建,那么将这种步骤集成到其中应该很容易。如果你没有,这可能会有点痛苦。我正在运行自动构建,所以这应该没问题。我只需要看看premier版本附带的命令行客户端是否也能做到这一点。谢谢你的主意。