Hi folks,
Here's an interesting one for you. Would appreciate any light anyone could shed on this!
I have a LabWindows project which interfaces to a third-party (not NI) piece of hardware via a set of libraries/headers etc. provided by the manufacturer. I build this project into a distribution kit and LabWindows automatically includes one of the required DLLs for this hardware in the distribution kit. On my development machine, everything comes together beautifully and I get a nice distribution kit that installs just fine.
Now, I love my continuous integration, so I have a Windows 2000 box here working as an autobuilder. I use Draco.NET to poll my Subversion repository for changes and when it sees something change, it grabs the latest version of the source and attempts to build me a distribution kit via a NAnt build script which calls a hacked version of NI's ActiveX build.exe program which I've modified to support building of distribution kits.
Here's the problem: these autobuilt distribution kits never include that particular DLL. What makes this stranger is that if I fire off the build by hand on the server (running the NAnt script myself at the command prompt), the distribution kits
do contain the DLL. This would suggest everything is in place that needs to be: the machine is obviously capable of giving me a good build.
Anyone got any clues as to what might be going on here? Could it be something to do with the user the build process is running as? File permissions? Something strange with the ActiveX distribution kit call? I'm sure there's something I've overlooked here, but can't see it myself.
Many thanks,
Andy
PS, NI, I would
love to have full support for building
distribution kits at the command line... you know, just in case some of
your programmers were bored one Sunday afternoon
The ActiveX hack works for me most of the time, but if the build bombs
on the autobuilder for some reason, LabWindows tends to spit out an error dialogue box and
then just sit there. Of course, NAnt never gets to hear about it so it
just fails with a timeout and Draco.NET simply sends me an email to say
the build timed out. All the useful information (the real reason for the build failure) is trapped in that
error box and I'm left with another stranded instance of CVI running on the server. compile.exe project.prj -distributionKit would make me a very happy chap!