解决方案部署,CM,InstallShield

时间:2008-08-20 13:31:37

标签: content-management-system versioning installshield packaging

人,

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

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

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


更新:

我喜欢猎户座的想法。我有一个问题。增加版本号的脚本......它不够智能,不能增加主号等。例如如果其中一个工具包具有1.2.3版本,并且我们处于新版本2.0.0的位置。该脚本可能无法处理此问题。

我认为这需要我们的分支技术做很多事情 - 我们没有。人们认为,由于utils很小,源可能不需要分支。

3 个答案:

答案 0 :(得分:1)

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

详细信息:http://www.pbdr.com/pbtips/ex/autorev.htm

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

答案 1 :(得分:0)

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

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

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

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

每次我们进行构建(每晚自动完成,或者必要时也按需完成),脚本会增加此数字并将文件检回源代码控制。

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

  • 我很确定我们的installshield程序为它们的版本号引用了一个环境变量,但我们不赞成使用wix,因为installshield确实很糟糕
  • 在visual studio的情况下,grep /替换.csproj文件中的数字,并在
  • 中重新检查它们

希望这会给你一些想法

答案 2 :(得分:0)

使用版本控制系统中的元数据应该更简单。这是您的开发人员已经使用该系统的方式。没有其他文件需要维护。我的个人经历教会我使用与主应用程序相同的版本来生成卫星应用程序。 K.I.S.S