0

人们,

我们有 4 或 5 个实用程序与我们的应用程序一起工作。这些实用程序要么是 .bat 文件,要么是 VB 应用程序、PowerBuilder 等。我试图在源代码管理中管理这些实用程序,并试图找出一种更好的方法来为它们分配版本。现在,开发人员使用版本控制的元数据——特别是标签——来存储工具的版本号。

我的目标是为每个实用程序提供单独的 InstallShield 包,以及一种简单的方法来管理和分配这些包的版本号。

您会推荐一个带有信息的单独 .ini 文件,还是将信息存储在 InstallShield .ism 文件本身中,或者只使用版本控制工具中的元数据信息?


更新:

我喜欢猎户座的想法。我有一个担心。增加版本号的脚本......它不能足够智能来增加主要号码等。对。例如,如果其中一个实用程序的版本为 1.2.3,而我们正处于新版本为 2.0.0 的地步。脚本可能无法处理此问题。

我认为这与我们的分支技术有很大关系——我们没有。人们认为,由于 utils 如此之小,源可能不需要分支。

4

3 回答 3

1

特别是 PowerBuilder 有一个很好的技巧,您可以将 ini 文件中的内部版本号合并到已编译的应用程序中。

详情在这里:http ://www.pbdr.com/pbtips/ex/autorev.htm

我们在源代码控制中有 ini 文件,它存储构建号,它的值在我们的构建脚本中用于确定在成功构建后应用到源树的标签。非常适合我们的需求。当我们分支时,我们确实必须手动启动文件以增加正确的数字。

于 2008-09-02T19:50:15.130 回答
0

使用版本控制系统中的元数据应该让事情变得更简单。这就是您的开发人员已经使用该系统的方式。无需维护其他文件。我的个人经验教会我将卫星应用程序的版本与主应用程序的版本相同。吻

于 2008-09-20T16:41:29.807 回答
0

我在上一份工作中管理了我们的构建系统,这似乎与您的要求有一些相似之处。

有大约 30 个 C++ 项目需要编译,还有各种 .NET/Java 的东西,还有奇怪的 perl 脚本。

这一切都是使用 NAnt 在我们的构建机器上构建的——如果我今天这样做,我会使用rake,但想法是一样的。

我们基本上有一个自动递增的内部版本号,它存储在存储库根目录下的 version.txt 文件中。

每次我们进行构建时(每晚自动完成,或者如果需要,也可以按需完成),脚本会增加这个数字并将文件重新检查到源代码控制中。

所有其他应用程序都引用此文件的版本号,或者对于不支持这样工作的东西,脚本将设置环境变量或执行其他解决方法

  • 我很确定我们的 installshield 程序为它们的版本号引用了一个环境变量,但是我们不赞成使用它们来支持wix,因为 installshield 确实很糟糕
  • 在 Visual Studio 的情况下,grep/replace .csproj 文件中的数字,然后重新签入

希望这能给你一些想法

于 2008-08-21T01:58:08.550 回答