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.
> 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
Take a look at http://www.finalbuilder.com/. Perhaps this helps you without waiting for the next BDS/CDS-Release.
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?
Bernhard Geyer wrote: > Lance R. schrieb: >> 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
> Take a look at http://www.finalbuilder.com/. > Perhaps this helps you without waiting for the next BDS/CDS-Release.
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?
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.
>> 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?
> 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.
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.
>> 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.
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.
> 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).
> 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).
>> 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 ?????
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!
> "LanceR" <lance_sendnos...@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).