LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Windows LTSC and LabWindows - any issues?

I recently received an embedded PC running Windows LTSC. I have had a number of issues with it trying to get our LabWindows software running, and thought I'd ask if anyone knew of any gotchas or incompatiblities.

 

1. Our program that runs fine on normal Windows 10 systems will not run on LTSC. It needed some extra 2010 runtime installed. I found a link elsewhere in the forum for the installer.

 

2. After having issues getting our program to start up, I did a full factory reset/fresh start reinstall of Windows. Same issues.

 

Our app is 64-bit, if that matters.

 

I wonder if the 2010 runtime has some conflict. I'd like to know which DLLs are actually needed, and see if I could just bundle those with the app rather than use the full installer.

 

Any thoughts would be apprecaited.

0 Kudos
Message 1 of 13
(2,139 Views)

As far as I know, CVI 2010 is not officially supported on Windows 10 (no matter if CBB, LTSB or LTSC).

I tried to use a 32-bit application built with CVI 2010 SP1 on Win 10 LTSC.

Basically my application works, but I saw some unexpected behaviors.

I don't have experience with 64-bit application, but I suggest you to upgrade CVI to a newer version.

 

I know it's a pain (because I did it for the same reason some years ago), but you're going to loose your time trying to have CVI 2010 working on Win 10.

Vix
-------------------------------------------
In claris non fit interpretatio

-------------------------------------------
Using LV from 7
Using LW/CVI from 6.0
0 Kudos
Message 2 of 13
(2,074 Views)

Let me clarify ... we have CVI 2017. But in order to install it on LTSC, we had to install some Microsoft Visual Studio 2010 runtime (vcredist_x64.exe).

0 Kudos
Message 3 of 13
(2,064 Views)

deleted duplicate

Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 13
(1,931 Views)

Well, LabWindows CVI is compiled with Visual Studio. And many of the drivers you may want to use in a LabWindows CVI program too. Not all of these drivers were developed at the same time, nor some of the tools they may install such as NI-MAX and many more things.

 

If you create an application you need to have a number of things installed on the target computer in order to be able to run that executable. The basic rule is as follows:

 

1) CVI Runtime engine, this is the minimum necessary and it will also install whatever Visual C runtime that corresponds to the Visual Studio version used to compile LabWindows CVI in.

 

2) Any driver software such as NI-DAQmx, NI-VISA, NI-448.2, NI-MXI, NI-RIO etc. etc. that your application may use in some ways. Most of these drivers come with a runtime installer and a full development installer. For use in an executable you can usually go with the runtime installer, which is usually quite a bit smaller. Do not try to guess at the DLLs your application will use and attempt to install them directly with your application installer. These drivers are way to complex usually and have usually many more dependencies that you will never be able to track all down on your own.

 

3) If your application uses any third party DLL, or one you developed in house, you also should have a full installer for that, which takes care about installing their own dependencies including Visual Studio C runtimes according to the version used to develop it.

 

There is a good chance that your 3rd party DLL you may use doesn't come with a real installer and simply "hopes" to be run on a Windows system with the according Visual Studio C runtime already installed. On most standard PCs this "hope" often is satisfied, since Windows itself comes with various internal tools that all have been compiled with different versions of Visual Studio. On an LTSC version there is a much bigger chance that it doesn't already have a particular Visual Studio runtime installed. They are specifically trimmed to a leaner and more easily supportable footprint.

 

If you use the official National Instrument installers for the LabWindows CVI runtime and driver software installation, there should be never a situation where a C runtime driver is missing. These installers take care of installing all necessary dependencies. You even can in the CVI project add the according installers including driver installers to your application installer. 

 

For 3rd party DLLs or your own inhouse developed DLLs NI can not even start to guess what dependencies may be needed and hence they don't even try to. That is your responsibility or the responsibility of the 3rd party driver provider who should provide you with a full installer for its software.

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 13
(1,930 Views)

Thanks for the reply.

 

We have since found other issues with LTSC, even involving standalone C#/.Net programs that run fine on a fresh Windows 10 system. We have yet find a list of what is missing on LTSC versus Windows 10 Home/Pro, and support folks we have spoke to simply tell us "we don't support LTSC."

 

And it turns out, the whole reason we chose LTSC didn't end up doing what we thought, so it's been quite the time sink 🙂

0 Kudos
Message 6 of 13
(1,905 Views)

We never were able to find a list of what DLLs are needed for LabWindows 2017 to run in Windows LTSC. The VC++ Redistributable I downloaded per a link elsewhere in this forum is listed at not supporting Windows 10. I found the current redistributable (showing a date of 2015-2022 I think it says, VC_redist.x86 for the filename) and it does not have what it takes for the program to run on LTSC. MSVCP100.DLL is missing on this redistributable, so claims the error.

 

Back when this first came up, I played Whack-A-Mole(tm) dropping in DLLs as it complained, until it got to a different error that wasn’t specifying a missing file. I gave up at that point, we we've been using the 2010 install ever since.

 

Since our LabWindows is a 2017 version, I would hope it made us of something newer than a 2010 runtime?

 

(I did find a security update to the 2010 installer on Microsoft's website, with a release date from 2021, but that one does not have the DLL, apparently.)

 

This LTSC thing has been a real pain.

0 Kudos
Message 7 of 13
(1,673 Views)

For future searchers…

 

MSVCP100.DLL

MSVCR100.DLL

 

0 Kudos
Message 8 of 13
(1,670 Views)

LabWindos/CVI 2017 itself is supposedly compiled with Microsoft Visual Studio 2015. So that does not explain the MSC 10.0 runtime dependencies. Visual Studio 2015 uses the MSC 14.0 runtime libraries! And the LabWindows/CVI runtime engine installer includes the MSC 14.0 C runtime libraries.

 

That means some DLLs contained in your project were created in Visual Studio 2010 which uses MSVC 10.0, but certainly not LabWindows/CVI itself.

Rolf Kalbermatter
My Blog
0 Kudos
Message 9 of 13
(1,663 Views)

Interesting. The program is pure LabWindows, but makes use of an FTDI DLL for USB serial.

 

I have finally located two DLLs that make it run, and can add them to the installer without needing the 2010 install. It’s something weird with LTSC since it’s just fine on the other systems we have.

 

I am going to compile up the sample used interface program and see what it does. That will be 100% just LabWindows code. (I have sometime today. My DELL is down for the fifth time so … dealing with their support all day.)

0 Kudos
Message 10 of 13
(1,657 Views)