LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI/2017 new installer issues (customResource0009.dll not found, but is there) - suddenly showing up on LTSC and Windows Arm.

You can have zig runtime installations next to each other. And they don't automatically get removed and are usually not even listed itself, since they can and usually are a dependency of some other compiled LabWindows app. That could be anything you installed and was at some point created with LabWindows. And that developer might have gone to great lengths to try to hide that they used LabWindows for it.

There were for instance NI Max versions that included test panels that were in fact created as LabVIEW or LabWindows executables. And somewhere around 2020/2021 the according Installer Framework of NI had a change that simply prevents creating installers that can be still installed on Windows 7 and 32-bit Windows OSes. It doesn't matter that you use LabWindows 2017, if any NI software from 2021 or later is installed, the according framework is updated and your LabWindows Installer Creater lost its ability to create Windows 7 or older compatible Installers. Even just upgrading NI Package Manager to a version newer than that is enough. And in order to install NI software of a certain version your NI Package Manager has to be that version or newer.

Rolf Kalbermatter
My Blog
Message 21 of 31
(548 Views)

Thanks, Rolf! This matches a theory I was testing today:

 

1. Why does the 2020f3 show up? Where did it come from? Sometime earlier, I installed some NI stuff to get GPIB drivers for reading a power meter. THAT may be where this was introduced, and that was earlier in the year, and the installer builds went bad earlier in the year.

 

2. Fresh install always shows 2017, and those work. The 2020 shared library seems to be the culprit.

 

After removing all the files with NI Package Manager, then uninstalling AGAIN (I do not believe I did anything different), another fresh install of LabWindows 2017 now shows the 2017 shared runtime.

 

That installer looks like it will work -- but I am waiting for our embedded PC to reset to defaults to fully confirm.

 

If this is the case, then I think the NI GPIB stuff was where things went wrong.

 

Would us upgrading to the 2020 release prevent this from happening?

0 Kudos
Message 22 of 31
(539 Views)

No luck. Even getting my laptop to show the 2017 shared runtime, and building that, it produces an installer that won't work.

 

Time to Reset my PC...

0 Kudos
Message 23 of 31
(536 Views)

Resetting my PC and reinstalling has our installer working again on fresh systems.

 

S.W.T.s really bug me ("strange windows things").

Message 24 of 31
(510 Views)

Glad you have a workaround, sorry we couldn't figure out the root cause.

Scott Richardson
https://testeract.com
0 Kudos
Message 25 of 31
(505 Views)

@Scott_Richardson wrote:

Glad you have a workaround, sorry we couldn't figure out the root cause.


Paraphrasing Douglas Adams…

 

”Ah, this is obviously some strange usage of the word ‘workaround’ that I wasn’t previously aware of.” 😉

 

0 Kudos
Message 26 of 31
(500 Views)

This problem remains ongoing. I had thought it "fixed itself" after a fresh install, but back in December we had a new developer start and realized the installer did not work on his "never had it installed before" laptop. At the time, I thought it was a mistake in the project -- there was an FTDI DLL reference that had gotten deleted. We put it back in, and it worked, and I thought that was the root problem.

 

But as I go to try to build a new release, testing on a fresh Windows 11 system (I use a Mac with Parallels and have a fresh Win11 image I restore to specifically to test this issue) and after six or more installer attempts today, I have no idea what the problem is.

 

It certainly does NOT appear to be the two DLLs that LabWindows identifies it needs (both FTDI, I guess it knows from the two .lib files the project has). I have confirmed both are there and in the same location the Distribution Kit thinks they should be.

 

Anyone else using 2017 on Windows 11? I wonder if a Win 11 update caused the issue. LabWindows/CVI 2017 is not supported on Windows 10, says NI.

0 Kudos
Message 27 of 31
(166 Views)

This time around, it is failing on a different file, but that file sure seems to be there. Am I just visually impaired right now???

AllenInIowa_0-1739828068301.png

 

0 Kudos
Message 28 of 31
(162 Views)

Those tmp files are actually DLLs too. It was mainly a LabVIEW thing back in those days, with so called Code Interface Nodes (CINs) that were in fact also just DLLs but embedded in a VI. In order to be able to load and execute them LabVIEW would extract them and copy them as a tmp file to the temporary directory and load them from there.

 

Why LabWindows/CVI 2017 would use that mechanism is however a miracle. CINs have been declared depreciated in LabVIEW since version 8.0 which was released around 2006 or so. And the latest LabVIEW versions don't even support it anymore.

 

Since it is a DLL, it has of course dependencies and if it is a historical CIN based solution, it was created with an ancient Visual C compiler. That ancient Visual C compiler has ancient C runtime library dependencies that you would be very hard pressured to find on a Windows 10 system. In fact there is a very serious chance that the according C runtime can't even be installed on the latest Windows systems, definitely if it is underneath ARM based. Windows does not distinguish between a DLL not being present on the system or it not being able to load the DLL because of missing dependencies. The according LoadLibrary() call simply fails with a File Not Found error. So yes the DLL file can be there but Windows still will fail to load it if a dependency such as a C runtime library (in the exactly correct version until Visual Studio 2015) is installed on the system. In LabVIEW they did at some point try to distinguish between these two cases by checking after such an error, if the actual DLL file is present or not as a file, but that was at some point apparently removed. Likely because it was not fool proof either and therefore to remove obscure, not always well working code paths.

 

Trying to run any NI for Windows software on an ARM system always has been an unsupported feature until today. It's possible that it can be made to work, with the exactly right moon phase, and your favorite magical incantation, but it is not designed for that and was never tested.

Rolf Kalbermatter
My Blog
0 Kudos
Message 29 of 31
(152 Views)

@rolfk wrote:

Those tmp files are actually DLLs too. It was mainly a LabVIEW thing back in those days, with so called Code Interface Nodes (CINs) that were in fact also just DLLs but embedded in a VI. In order to be able to load and execute them LabVIEW would extract them and copy them as a tmp file to the temporary directory and load them from there.

 

Why LabWindows/CVI 2017 would use that mechanism is however a miracle. CINs have been declared depreciated in LabVIEW since version 8.0 which was released around 2006 or so. And the latest LabVIEW versions don't even support it anymore

 We had noticed that the size matched a DLL and wondered about that.

 

More details... this popped up in August 2024, and nothing I built would install. It was first reported on a Windows 10 system, then I tested on Windows 11, and used a virtual machine on my Mac to test a "clean" Windows 11.

 

After days of trying all kinds of things, including scrubbing every NI component on my system, and even trying the 2020 LabWindows trial, nothing worked. I reset my PC and started all over -- and it worked again.

 

For a few months. I suspect it started failing again in October, but we did not realize it -- installing on top of an existing older version works fine, only when we set up a clean fresh PC do we have a problem.

 

My system is dead for building Distribution Kits if I can't figure this out. AS a test, I used Windows 11 Hyper-V and installed a fresh Windows 10 in the VM. Installed LabWindows 2017, and tested the project there. That one builds. We may just have to buy a license for Windows to run in a "clean" VM and use it only for building distribution kits.

 

If I thought we could get any support from NI on this, I'd encourage my management to upgrade us to the 2020 edition (for Windows 11 official support) -- but since I know doing that won't let me make working software in this current state, I'm not too eager to have them spend the money yet.

0 Kudos
Message 30 of 31
(137 Views)