The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,641 other followers

Crap: VersionInfo handling broken as of Delphi XE2

Posted by jpluimers on 2012/09/11

Today I found out the hard way that you really need a build integration system for managing VersionInfo in Delphi applications: as of Delphi XE2 it is broken in the IDE.

See these links:

This is the only workable workaround so far:

–jeroen

14 Responses to “Crap: VersionInfo handling broken as of Delphi XE2”

  1. Dave said

    I unfortunately found this out several months ago after upgrading to XE2 and updating my Integrated Testing Helper IDE expert (Spent a month going around in circles trying all sorts of workaround). I now have to manage this all myself through a VersionInfo.RC file built and managed by my IDE expert. If any one is interested http://www.davidghoyle.co.uk/ithelper.html.

  2. Skydvrz said

    jeroen,

    If you are referring to the old build number autoincrement feature in the IDE: It is supposedly fixed in XE3. Lots of folks complained (including me) about the change to an idiotic timestamp instead of bumping the build number by one. Apparently Embarcadero listened to it’s users for once. I have XE3 but haven’t installed it, so I can’t verify the fix just yet.

    • jpluimers said

      Good to hear that part is fixed.

      At least as important is the management of VersionInfo over the various build configurations.
      Boy I wish Delphi had an AssemblyInfo.pas (:

      Some of the links in the comments gives you solutions that are very similar to that though.

      –jeroen

  3. That’s why I have switched to build events and wrote dzPrepBuild for generating the version information resource.
    http://www.dummzeuch.de/delphi/dzprepbuild/englisch.html

    source code on sourceforge:
    http://sourceforge.net/projects/dzprepbuild/

  4. LDS said

    As soon as there is more than one developer working an an application you need a way to set version info data from a “reliable” source – usually a build system would do. What Delphi lacks – and I opened a QC about that – is a way to set the versioninfo data using command line build parameters. Sure, you can modify and compile a resource, but it makes it a little more complicated than it should be.

    • jpluimers said

      You need one as a single developer too. But it can take a lot of energy to convince people to put the money on the table to realize it.

      What QC is it? I’d probably vote on it.

  5. WarrenP said

    Command line build systems are the only way to go for production builds, anyways. It guarantees that the code in version control, and only that code, went into production. Uncomitted local working changes, and other local pollution can too easily get into your builds. Even if you’re the only developer on a project, it’s just one less thing to worry about. Set up jenkins, and use a dedicated build machine. It can tag your versioninfo automatically with your version control revision, the date built, and auto-increment your build counter, all at once. Now you really KNOW what code is in what build, and your Interns, (or you on a day without enough caffeine) can’t mess it up.

    W

    • jpluimers said

      I totally agree. And I urge all clients to do. Regrettably, not all projects that gets passed on have that. If I have the chance, I introduce version control and automatic build systems. I need to get some budget for this one (:

  6. I’d never consider letting Delphi manage the version resource for me. I do all my resources myself.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: