Jump to content

Maintaining Multiple Driver Versions

Recommended Posts

I was wanting to poll the group to see if anybody has come up with an elegant, or even a semi-workable way to maintain compatibility with multiple versions of the many NI drivers that various clients may be using.

Being that only a single version of any driver can be present on a system can lead to multiple uninstall/reinstall operations on a development system to support a customer who may be running an older version of a specific driver.

The situation I am getting at is as follows:

Customer A has a number of like systems running code developed in LV6.1 and Fieldpoint 4.0. The system was implemented and validated when 6.1/FP4.0 were the current versions. They now come back and ask for a small change to the code. The size of the change does not warrant updating all of the systems to the current versions, so for the mean time, that option is out.

Our development systems are running FP 4.1 which is not compatible with FP 4.0 so an EXE build in LV6.1, with FP 4.1 on the development system will not run on the customer's machine (LV6.1-RTE with FP 4.0).

Short of uninstalling FP 4.1 on my development system and reinstalling 4.0, which I know works but is a real hassle, is there a better method somebody is using? (i.e. Maintaining a seperate library of functions linked to the previous driver's dll)

Link to post
Share on other sites


I have no experience with FP [so I dont even know if my answer is applicable at all], but if the issue where in labview, here is a way to go around without having to recreate an exe everytime.

The exe should be an "intelligent" launcher.

Upon starting up, the initial exe should load all the VIs from a specific folder (lets call it "Upgrade" folder) in memory (if any are presents) then it should load the "regular" (unpatch) code (present in a llb with no diagram for example). Now since LV always check for VIs name in memory first, the new program will be using the VIs from the "Upgrade" Folder. Of course, it is required to plan for this in advance (and also it is required to be able to save the VIs in the appropriate LV version), so it wont be very usefull in your current situation (but may be in the futur...).

hope it help


Link to post
Share on other sites

Hi gsussman,

Here's something that might be a solution for such situations -- ghosting :lightbulb:. We use this for testing various combination of OSes and product versions. Ghosting, for those who do not know, is the process of backing up the entire partition of a hard-disk as an image which can be later restored. Symantec has this product called Norton Ghost which does this and which we have been using successfully for a while now.

The idea is to have two hard disks, or at least two partitions. Let's call them System and Data. System is where your OS is installed. And all those products which you want to ghost. Data is where you store data, and your ghost images.

You can now create images with combinations of the right versions of LabVIEW, FieldPoint, and anything else that needs to be with this combination. You can have many such images with different combinations of LabVIEW and other driver software, and save them on the data disk.

Using Norton Ghost, you can restore any of these images as your system partition. Common files can be on the Data partition. You can also have programs which don't have effect on your development combo on the data disk, like your email client, for instance. However, note that since the System partition has the OS, almost all programs will have some files on that partition (which is fine).

Whenever there's an issue which requires a particular combination, you fire up that combination and you're good to go :thumbup:. The restoring (and ghosting) process is pretty fast -- few minutes. You can also compress the images (takes a little longer though) and burn them onto CDs, or store them on the network.

As I said earlier, we do this on our test system. You could dedicate a machine for such "old issues." But I don't see why your development machine cannot have this. Ghosting the development machine itself from time-to-time seems like a good idea.

In the passing, I must mention that Windows-XP has this feature called "Restore Points" which may sound like a good alternative, but it doesn't restore user files/data. The list of files it restores can be found in: systemroot\System32\Restore\Filelist.xml

Hope this gives you some ideas.


Khalid Ansari

Link to post
Share on other sites

Another good alternative is to purchase a copy of VMware. This is a virtual machine that allows multiple copies of OS to be files on your hard disk. Install each 'clients' combination of drivers on a separate virtual machine. Even better, ghost your clients machine and run virtual on your desktop.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.