Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pre/Post Build Events

219 views
Skip to first unread message

Lance R.

unread,
Jan 12, 2007, 8:00:19 PM1/12/07
to
Does Delphi 2006 (BDS) support Pre-build / Post-build event command line
actions like VS2005 does?

For example, from the IDE, I can sign my builds automatically from the
IDE when a build is made.

IF BDS could support this, I would merge in Vista icons, UPX them and
then code sign them.

Right now, I open the project, make sure that the build options are
appropriate, increment the version, build the app, then run a bat file
that does the Vista icon merge, UPX and sign.

Suggestions?

Lance

Nick Hodges (CodeGear)

unread,
Jan 12, 2007, 8:56:53 PM1/12/07
to
Lance R. wrote:

> Does Delphi 2006 (BDS) support Pre-build / Post-build event command
> line actions like VS2005 does?

No, but the next release of Delphi will, as it will use MSBuild as the
build engine.

--
Nick Hodges
Delphi Product Manager - CodeGear
http://blogs.codegear.com/nickhodges

Bernhard Geyer

unread,
Jan 13, 2007, 1:12:08 AM1/13/07
to
Lance R. schrieb:

Take a look at http://www.finalbuilder.com/.
Perhaps this helps you without waiting for the next BDS/CDS-Release.

JED

unread,
Jan 13, 2007, 1:42:56 AM1/13/07
to
Bernhard Geyer wrote:

> Take a look at http://www.finalbuilder.com/.
> Perhaps this helps you without waiting for the next BDS/CDS-Release.

This tool has saved me countless hours. Thoroughly recommended.

MSBuild integration won't help you if you have support older versions
of the IDE.

--
Compact Framework for Delphi 2006: http://www.jed-software.com/cf.htm
QualityCentral Windows Client: http://www.jed-software.com/qc.htm

Visual Forms IDE Add In: http://www.jed-software.com/vf.htm

LanceR

unread,
Jan 13, 2007, 4:48:15 AM1/13/07
to
Thats great to hear....

How about also code signing applications / assemblies?

Granted, you could do this at the post build... but if you do, it would
be nice to use some of the macros like what VS did, so the build file
name / location isn't hard coded.

I assume this would be for VCL as well as the .NET side?

Lance

LanceR

unread,
Jan 13, 2007, 4:51:25 AM1/13/07
to
I'll take a look at that... See if the pricing and features work for us.

Lance

Nick Hodges (CodeGear)

unread,
Jan 13, 2007, 11:44:16 AM1/13/07
to
LanceR wrote:

> How about also code signing applications / assemblies?

What about it? Not sure what you are asking about here.

> Granted, you could do this at the post build... but if you do, it
> would be nice to use some of the macros like what VS did, so the
> build file name / location isn't hard coded.

If by "Macros" you mean MSBuild Actions, then since we use MSBuild,
you'll be able to use any and all MS Actions in your build.

> I assume this would be for VCL as well as the .NET side?

Yes, even C++, something MS wasn't able to do.

Nick Hodges (CodeGear)

unread,
Jan 13, 2007, 11:45:55 AM1/13/07
to
Bernhard Geyer wrote:

I can't say enough good things about FinalBuilder.

Dean Hill

unread,
Jan 13, 2007, 12:30:46 PM1/13/07
to
Nick Hodges (CodeGear) wrote:

> Bernhard Geyer wrote:
>
> > Take a look at http://www.finalbuilder.com/.
>
> I can't say enough good things about FinalBuilder.

Yes, it really is an excellent product.

Cheers

Dean

David Erbas-White

unread,
Jan 13, 2007, 12:32:30 PM1/13/07
to
Nick Hodges (CodeGear) wrote:
> Bernhard Geyer wrote:
>
>> Take a look at http://www.finalbuilder.com/.
>
> I can't say enough good things about FinalBuilder.
>

Hmmm... Lack of vocabulary skills... let me make a note... <G>

David Erbas-White

LanceR

unread,
Jan 13, 2007, 7:52:19 PM1/13/07
to
What I mean is the ability from within the IDE to provide the ability to
directly sign the builds. If MSBuild provides this feature... then
great. If not, then VS2005 must do it differently, to which I would
like to see this.

While petty, it does provide one less step and a more direct step when
you do a BUILD ALL to essentially make the EXE and have it signed for
"security" purposes.

Again.... Doing a call to sign the build in a post-build BAT file or
command would be fine.

In terms of macros.. I think what I mean is VS2005 provided a list of
constants, much like Installshield, which contain things such as the
path to the build path... the name of the build... the Path+Build
name.. etc etc. I.E. ($BUILDEXE).

So I was able to do something in the post build, such as CODESIGN.EXE
http://timeurl ($BUILDEXE)

(Not at computer to paste real call). Again.. I'm not sure if this was
part of MSBuild or if its IDE related. Regardless... it would be nice
if this was a feature.

LanceR

unread,
Jan 13, 2007, 7:57:30 PM1/13/07
to
This is more for the Final Builder forum.. But for those that use it...

I noticed it can turn on / off a VM.

I have Delphi 2006 in an XP SP2 VM that is nothing but Delphi and
components. Then actually read and build to a mapped drive to my real
computer.

Likewise, I have InstallShield in its own VM.

Can I put FinalBuilder on the host machine and then control the VM's and
inside of them to build the EXE and make IS builds?

Or would I need to make a VM that would have Delphi, IS and FinalBuilder
all on the same VM?

(Main reason for VM'ing is to deal with snapshots and better backup my
development / building without worrying about reinstalling OS issues and
such)

I'm open to some suggestions regarding how you maybe utilize this?

Lance

Nick Hodges (CodeGear)

unread,
Jan 14, 2007, 11:48:00 AM1/14/07
to
LanceR wrote:

>
> So I was able to do something in the post build, such as CODESIGN.EXE
> http://timeurl ($BUILDEXE)

Yes, exactly. That's what the post-build events in MS Build do.

Harold Howe [TeamB]

unread,
Jan 15, 2007, 2:53:08 PM1/15/07
to

> Right now, I open the project, make sure that the build options are
> appropriate, increment the version, build the app, then run a bat file
> that does the Vista icon merge, UPX and sign.

Have you considered automating your build with NAnt, Ant or MSBuild? Do
you only need the icon merge, UPX, and sign for release builds. If so,
then you can do debug builds and debugging from the IDE. Use a NAnt or
MSBuild script for your releases. This would also open up the door for
tools like CruiseControl.

I have not used FinalBuilder. However, it sounds like it may be overkill
for what you need. But then again, if you are a visual GUI kind of
person, then FinalBuilder might be more to your liking.

H^2

Lance R.

unread,
Jan 15, 2007, 3:29:39 PM1/15/07
to
I've used Ant a few years ago...

Main thing is the distribution. So far I like what I see in
FinalBuilder. GUI is nice, but not mandatory.

I'll take a look at your suggestions. I only need, really, for the
release process. I use Installshield and would need to upload as well,
which is also why FinalBuilder looks attractive.

Lance

Chris Miller

unread,
Jan 15, 2007, 3:54:00 PM1/15/07
to
LanceR wrote:

> This is more for the Final Builder forum.. But for those that use
> it...
>
> I noticed it can turn on / off a VM.
>
> I have Delphi 2006 in an XP SP2 VM that is nothing but Delphi and
> components. Then actually read and build to a mapped drive to my
> real computer.
>
> Likewise, I have InstallShield in its own VM.
>
> Can I put FinalBuilder on the host machine and then control the VM's
> and inside of them to build the EXE and make IS builds?
>
> Or would I need to make a VM that would have Delphi, IS and
> FinalBuilder all on the same VM?
>
> (Main reason for VM'ing is to deal with snapshots and better backup
> my development / building without worrying about reinstalling OS
> issues and such)
>
> I'm open to some suggestions regarding how you maybe utilize this?
>
> Lance

AFAIK, FinalBuilder's support of Virtual Machines is pretty much
limited to starting/stopping/resetting them. You would want to have to
FinalBuilder installed in the same VM session as your build
environment. If you had InstallShield in the same VM, then you could
FinalBuilder drive the entire build process from source control to
install building.


--
Chris Miller
Sr. Software Engineer
VersaTrans Solutions
http://anotherlab.blogspot.com/

Craig Stuntz [TeamB]

unread,
Jan 15, 2007, 3:53:10 PM1/15/07
to
Harold Howe [TeamB] wrote:

> Have you considered automating your build with NAnt, Ant or MSBuild?

There's also Want, a Delphi-specific version of Ant.

--
Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
Everything You Need to Know About InterBase Character Sets:
http://blogs.teamb.com/craigstuntz/articles/403.aspx

Vincent Parrett (VSoft Technologies)

unread,
Jan 15, 2007, 6:26:29 PM1/15/07
to
"Chris Miller" <Chris....@NoCannedHam.Versatrans.com> wrote in message
news:45abe9e8$1...@newsgroups.borland.com...

> AFAIK, FinalBuilder's support of Virtual Machines is pretty much
> limited to starting/stopping/resetting them. You would want to have to
> FinalBuilder installed in the same VM session as your build
> environment. If you had InstallShield in the same VM, then you could
> FinalBuilder drive the entire build process from source control to
> install building.

FinalBuilder has support for creating snapshots and reverting to snapshots
on VMWare Workstation 5.5. VMWare Server doesn't have any facility for this
from it's com api at this stage, however they have said it will be
implemented in a future release. We will also be adding support for VMWare
Workstation 6.0 soon (It has a new much more capable api).

--
Regards

Vincent Parrett
VSoft Technologies Pty Ltd
http://www.finalbuilder.com

Vincent Parrett (VSoft Technologies)

unread,
Jan 15, 2007, 6:34:27 PM1/15/07
to
"LanceR" <lance_se...@lance.ws> wrote in message
news:45a9803b$1...@newsgroups.borland.com...

> This is more for the Final Builder forum.. But for those that use it...
>
> I noticed it can turn on / off a VM.
>
> I have Delphi 2006 in an XP SP2 VM that is nothing but Delphi and
> components. Then actually read and build to a mapped drive to my real
> computer.
>
> Likewise, I have InstallShield in its own VM.
>
> Can I put FinalBuilder on the host machine and then control the VM's and
> inside of them to build the EXE and make IS builds?
>

Hi Lance,

In general you would create a VM that has everything you need to complete
the build process. So that would include FinalBuilder, Delphi, Installshield
etc. FinalBuilder would then automate the entire build process. This is how
we build FinalBuilder itself, in a virtual machine. You could also start and
stop the VM's from FinalBuilder and use the pstools actions (psexec) to
start processes on the virtual machines, however we found that it is error
prone due to the vagaries of windows/vmware networking when machines are
started (network operations sometimes fail if run too soon after the machine
has started).

HTH

Andre Kaufmann

unread,
Jan 15, 2007, 10:22:14 PM1/15/07
to
Nick Hodges (CodeGear) wrote:
> LanceR wrote:
>
>> How about also code signing applications / assemblies?
>
> What about it? Not sure what you are asking about here.
>
>> Granted, you could do this at the post build... but if you do, it
>> would be nice to use some of the macros like what VS did, so the
>> build file name / location isn't hard coded.
>
> If by "Macros" you mean MSBuild Actions, then since we use MSBuild,
> you'll be able to use any and all MS Actions in your build.

I assume by macros (here) he means environment variable expansion.
You should use it everywhere in the IDE !!!
I haven't checked if it works everywhere in BDS 2006, but in BCB it was
a mess, because for many files I couldn't use my own environment
variables and for resources the IDE hard coded a path in the project
file, which I even wasn't able to change from the IDE.

>> I assume this would be for VCL as well as the .NET side?
>
> Yes, even C++, something MS wasn't able to do.

Could you be more specific, what wasn't or isn't possible ?

As I would interpret it, it's just calling an external application
during a build event. Why should that be language agnostic ?????

Andre


Andre Kaufmann

unread,
Jan 15, 2007, 10:47:31 PM1/15/07
to
Andre Kaufmann wrote:
> Nick Hodges (CodeGear) wrote:
> [...]

>>> I assume this would be for VCL as well as the .NET side?
>>
>> Yes, even C++, something MS wasn't able to do.
>
> Could you be more specific, what wasn't or isn't possible ?

Ok. I see. You meant that MSBuild wasn't used for C++ projects, not as I
interpreted it build events where restricted to .NET assemblies.

> [...]

Andre

Nick Hodges (CodeGear)

unread,
Jan 16, 2007, 7:28:28 AM1/16/07
to
Andre Kaufmann wrote:

> Could you be more specific, what wasn't or isn't possible ?

VS.NET doesn't use MSBuild for C++.

Lance R.

unread,
Jan 16, 2007, 1:05:39 PM1/16/07
to
Thanks Vincent,

I've been taking a look based on the positive comments here and I agree
you have a great product.

I ended up doing what you suggested and put everything on a VM. I've
been playing with VM6 on a different machine and agree it will be nice!

The only comment I have is that UPX takes an abnormal time compressing
the app compared to running it via a bat file on the real computer. My
BAT file calls UPX with only the --best flag.

I had to create a VBS script and call as a DOS command to use Automation
in Installshield 12 to change the version number of the project file to
match what FinalBuilder project was processing. I couldn't seem to
successfully do the VBS inside as a script action.

I'm very impressed with what I see and thanks for the recommends Nick
and all!

Lance

Andre Kaufmann

unread,
Jan 16, 2007, 1:08:50 PM1/16/07
to
Nick Hodges (CodeGear) wrote:
> Andre Kaufmann wrote:
>
>> Could you be more specific, what wasn't or isn't possible ?
>
> VS.NET doesn't use MSBuild for C++.

True, as I corrected myself in the second post - just misunderstood your
post.

Anyways, regarding Highlanders C++ MSBuild support: Well done.
I appreciate this as a very valuable enhancement.

Andre

David Dean [CodeGear]

unread,
Jan 16, 2007, 1:21:55 PM1/16/07
to
In article <45ad1493$1...@newsgroups.borland.com>,
Andre Kaufmann <andre.kaufm...@t-online.de> wrote:

> Anyways, regarding Highlanders C++ MSBuild support: Well done.
> I appreciate this as a very valuable enhancement.

I'm very pleased with how it is shaping up. I'm glad Nick mentioned
it so that I could blog about it.

--
-David Dean
CodeGear C++ QA Engineer
<http://blogs.codegear.com/ddean/>

Vincent Parrett (VSoft Technologies)

unread,
Jan 16, 2007, 5:34:53 PM1/16/07
to
"Lance R." <la...@lance.ws> wrote in message
news:45ad13dd$1...@newsgroups.borland.com...

> Thanks Vincent,
>
> I've been taking a look based on the positive comments here and I agree
> you have a great product.

Thanks!

> I ended up doing what you suggested and put everything on a VM. I've been
> playing with VM6 on a different machine and agree it will be nice!
>
> The only comment I have is that UPX takes an abnormal time compressing the
> app compared to running it via a bat file on the real computer. My BAT
> file calls UPX with only the --best flag.

Programs that are memory intensive (UPX is) will be slower on virtual
machines. There are some ways around this, by allowing VMWare to preallocate
the memory it needs, but I would only do this if you have ram to spare (at
least 4G).

> I had to create a VBS script and call as a DOS command to use Automation
> in Installshield 12 to change the version number of the project file to
> match what FinalBuilder project was processing. I couldn't seem to
> successfully do the VBS inside as a script action.

Hmmm.. send the script to support at finalbuilder dot com and we'll see
what's going on there.

Nick Hodges (CodeGear)

unread,
Jan 16, 2007, 6:10:21 PM1/16/07
to
Andre Kaufmann wrote:

>
> Anyways, regarding Highlanders C++ MSBuild support: Well done.
> I appreciate this as a very valuable enhancement.

Great --

Cygnes

unread,
Jan 17, 2007, 9:59:35 AM1/17/07
to
>Harold Howe [TeamB] wrote:
>
>> Have you considered automating your build with NAnt, Ant or MSBuild?
>
> There's also Want, a Delphi-specific version of Ant.

Yes, Want is very good. I use it all the time at my job, since I also
have to recompile older projects. Quit handy without installing old
component versions into the IDE all the time.

>
>--
>Craig Stuntz [TeamB] · Vertex Systems Corp. · Columbus, OH
> Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
>Everything You Need to Know About InterBase Character Sets:
> http://blogs.teamb.com/craigstuntz/articles/403.aspx
>

Robin

-------------------------------------
http://projectvalley.com

--- posted by geoForum on http://delphi.newswhat.com

0 new messages