03-16-2015 06:05 AM
I'm currently working on several FPGA drivers generated with Labview 2011SP1, which include a dll interface and a test program to test functionality of the dll. I used an installation pacakge to install 1) the dll to system32
2) the .dll/.lib/.h to an absolute path on the target PC.
3) the .exe test program to an absolute path on the target PC.
4) the necessary NI components (The NI Labview Run-Time Engine 2011 SP1 f5 and NI R series RIO 13.1),
via the additional installers section of the Installer dialog.
This has been working fine, up until the customer installed Labview 2013 on his system. When I then gave him the next release of the package, it fails to install, with the message <files> "Incompatible with products already installed". Via trial and error I removed various of the 4 items listed above and the problem only disappears when 4), the NI components are removed. I then uninstalled LV2013, and retried my installation and it works. The customer doesn't need LV2013 on the machine so this fix is ok for now, but I am now concerned that all these similar packages I'm producing, delivered to several different customers, could be prevented from working if a target PC contains a later version of Labview than the one it was developed on.
Can someone confirm this issue and how it can be rectified?
I've found the following http://digital.ni.com/public.nsf/allkb/F41A941BE2AFAC47862574B100736584 issue which is possibly the same issue, but with a much older version of LV (I'd have expected it to have been fixed by LV2011SP1!). The fix for the above issue is to uninstall the runtime engines, however they don't appear on the list of installed NI products, and to unsintall them I apparently need to use an unsupported tool called msiblaster? Even if this worked, if the customer wanted to use LV2013 in the future, how could I support that?
I'm getting increasingly frustrated that I spend more of my time trawling the forums finding fixes for LV bugs than trawling my own code fixing my own bugs...
03-17-2015 07:07 AM
Hey redfrank,
I'm an engineer from NI. I'd like to help look at your issue, but I need more informaiton. Can you please tell us what NI Installers have been installed on your system? And the install orders? And it would be very helpful if you could share the installer your built. Then I can use it to find which is the offending part.
03-17-2015 08:17 AM
@redfrank wrote:
I'm getting increasingly frustrated that I spend more of my time trawling the forums finding fixes for LV bugs than trawling my own code fixing my own bugs...
There's an easy solution to that problem.
Write more buggy code.....
This joke was brought to you by increasing levels of frustration during a day of non-reproducible Real-Time benchmarking.....
03-17-2015 08:19 AM
Sorry, I don't have a solution, I just know that this issue is frustrating. I had a very similar issue, see this thread. I'm assuming it's the same cause.
03-19-2015 10:31 AM
Hi
thanks for getting back to me and sorry for the delay in replying. Unfortunately, the software I have developed is of a confidential nature and so I can't send you a copy. However I'm fairly confident I could repeat the issue by creating an installer which does nothing but install the 2011SP1f5 runtime - could you try doing this yourself?
When you ask what NI Installers are installed on the system, do you mean what NI components have been installed on the target machine by the customer, or what has been installed on my development machine? The customer's machine has CVI 2013 installed on it and had LV2013 on it (until I uninstalled it). My development machine has LV2011SP1 on it and CVI 2010 on it.
03-24-2015 10:51 AM
Hey redfrank,
Sorry, I didn't have a chance to work on it until today. I have tried to follow what you described, but I just could not reproduce the issue. Here is what I have done:
1. prepare a machine with LV2011SP1, 2011SP1f5 and CVI 2010 installed.
2. create an installer that installs only a very simple vi (just adding two numbers) and the LV 2011SP1 f5 runtime
3. prepare another machine with LV 2013 and CVI 2013 installed.
4. run the installer created in step 2 on the machine prepared in step 3. It runs successfully.
Did I miss anything?