0

我们有一个构建脚本,可以构建三种类型的项目——C++、Java,最后是各自的 InstallShield 安装程序。

现在,安装程序构建脚本依赖于 C++ 项目始终构建在发布配置中这一事实。

但现在我希望允许在附加配置中构建它们,即 Profile。

我们正在使用 Jenkins CI 服务器,因此所需的配置是通过专用的 Jenkins 构建参数提供的DRIVER_PROXY_CONFIG,该参数作为具有相同名称的环境变量出现。

现在的问题。根据我们的 InstallShield 人员的说法,IS 不能在源文件路径的一部分中使用环境变量。我引用:

您可以使用“环境变量”或“通过 InstallShield 定义的用户定义的路径变量”作为文件路径。

所以我们可以:

  1. 为每个组件创建“环境变量”(因为“DRIVER_PROXY_CONFIG”只是组件路径的一部分)——不可取。
  2. 将“环境变量”作为组件“用户定义的路径变量”的一部分——不可能,我刚刚尝试过。

有没有人做过这样的事情?安装程序依赖于不同位置的多个源文件,其中位置路径的一部分是DRIVER_PROXY_CONFIG环境变量的值。请注意,这部分既不是路径前缀也不是后缀。

4

3 回答 3

2

迈克尔:

如果 'env' 既不是路径 ( "SomeDir\<env>\SubDir") 的前缀也不是后缀怎么办?

我创建了系统环境config=release
我创建了引用环境“配置”的 IS 变量“MyConf”
我创建了 IS 标准路径MyPath = "SomeDir\<MyConf>\SubDir"

如果我从此路径添加文件 - IS 不会将“MyPath”建议为建议路径!!!

我发现的唯一方法是添加文件,然后直接访问 File 表以更新 ISBuildSourcePath。

于 2012-11-29T14:57:01.900 回答
2

您绝对可以将其创建为路径的一部分。一些确切的行为确实取决于 InstallShield 的版本,但对于最后几个,您甚至可以使用相对父目录。只需转到 Path Variables 视图,添加一个新的环境路径变量(比如Env),然后设置它引用的环境变量。然后添加任意数量的Stn定义为 的标准路径变量(例如 )<Env>\Sub\Dir,或者跳过此步骤并仅引用ISBuildSourcePath相关文件的那些。通常,从定义的路径变量下的路径添加文件将使用该路径变量作为其路径的一部分。

如果您已经添加了文件,则转换源路径向导可能会有所帮助,但您可能会发现直接访问文件表以更新ISBuildSourcePath

然而,至少有一个例外。如果您的环境变量具有值Sub并且您的完整目录名称是SubDirectory,则您不能总是引用<Env>Directory。通常,路径变量支持会将其变为Sub\Directory

于 2012-11-29T13:12:13.563 回答
0

我添加了环境变量作为路径变量,ytou可以在这里设置环境变量类型(不是字符串类型!)

然后你可以在任何你使用路径变量的地方使用它——尽管我确实必须将它括在方括号中而不是通常的角括号中)。它应该在路径中间工作,就像我使用普通路径变量所做的那样。

于 2013-11-27T15:03:04.287 回答