05-27-2010 10:53 AM
Hi
At my company, we have to release the software code into a version control system.
This is so anybody else can retrieve, modify and rebuild the project, especially when or if I, the creator, is gone.
My question is about NI software versions, both the CVI version and all of the required NI driver versions used to create the project.
The project references many include *.h files in their installed location, usually ..\Program Files\National Instruments\.. etc.
Updating a project relies on the fact that the computer which initially released the build stays in-place, or no NI driver updates occurred.
Building the retrieved project on another computer, therefore, does not work.
So, should my archived/released project copy all driver files [like Nidaqex.h, etc] into a "local" \Include folder, which locks-in that drive version,
or continue to rely on the NI installed folder location?
Accompanying my software release is a companion document called a VD [version document] which fully describes the created environment
required for the initial release. This greatly helps anyone in the future to re-build the project with step-by-step instructions.
If there is any other "white papers" within the NI web-site that would enhance this subject, I would be appreciated to be directed to it.
Scott Youngren
05-27-2010 11:06 AM
>> "Building the retrieved project on another computer, therefore, does not work."
Are you sure of your assertion? I continuously switch projects from one computer to another without compiling problems; I also switched during time between PCs with different localization (english vs. italian OS release: it impacts among other things on "program files" directory name) and different OS versions (win2k vs. WinXP) without facing any problem.
IMHO the main hint is to maintain standard SW places when installing NI software on different machines, a fact that permits to switch between them without problems.
A different matter can be the use of non-NI software, for which you will need to investigate on file location for DLLs, include and so on on different machines.