08-16-2011 07:02 PM
Installed LV2011 x64 on a new machine. Branched all our code from our rev control server to this system. Opened up one of our top level VIs and it's broken.
Seems like lvsound.dll is nowhere to be found, but lvsound.lib exists under vi.lib in the 2011 installation.
08-16-2011 10:19 PM
What version of LV are you upgrading from?
I don't have LV2011 installed, so I can't comment on that, but I looked for it in LV 2009 and LV 2010. I found lvsound.dll in C:\Program Files (x86)\National Instruments\LabVIEW 2009\resource\
I would try looking there in the LabVIEW 2011 directory.
08-16-2011 10:32 PM
08-16-2011 10:43 PM - edited 08-16-2011 10:46 PM
Okay, let me rephrase my question. What version LabVIEW was the code written in that you are getting from your Rev control server?
EDIT: I just noticed something you wrote. You said LabVIEW 2011 x64. Does that mean you are using 64 bit LabVIEW? It is very likely that a dll such as LabVIEW sound would be a 32 bit .dll and not be a 64 bit dll. So if you are using 64-bit LV, then it might be called something else or just doesn't exist.
08-17-2011 12:59 PM
Although I found this dll is missing by opening one of my pre-LV2011 files, installation of LV2011 creates a lvsound.llb in c:\Program Files\National Instruments\LabVIEW 2011\vi.lib\sound, which is NI/LabVIEW file, not mine. Opening that llb and then a few of the VIs in it, shows that NI shipped a broken llb that references a non-existent dll. I searched the whole disk and that dll isn't anywhere.
So they either forgot to remove lvsound.llb or create a 64 bit lvsound.dll. There's lvsound2.{llb,dll} but the functionality there is slightly different.
03-11-2013 03:17 PM
Hello,
Same problem exists on Labview 2012 x64. There is no lvsound.dll in the \resource directory for 64-bit Labview installations (resulting in a broken vi). I had to copy the dll from the 32-bit installation to get my vi to run. Can someone at NI confirm this?
03-11-2013 03:27 PM
@mkabatek wrote:
Same problem exists on Labview 2012 x64. There is no lvsound.dll in the \resource directory for 64-bit Labview installations (resulting in a broken vi). I had to copy the dll from the 32-bit installation to get my vi to run. Can someone at NI confirm this?
I filed a service request on this (7329437), and NI's response was "we don't consider this a bug, won't fix"
03-11-2013 03:31 PM - edited 03-11-2013 03:33 PM
Interesting... Any idea what happens when you build the program into an exe and try to run it with the runtime engine? I have not tried this yet, but I am wondering if this will become an issue for deployment.
03-11-2013 03:52 PM
@instrumento wrote:
@mkabatek wrote:Same problem exists on Labview 2012 x64. There is no lvsound.dll in the \resource directory for 64-bit Labview installations (resulting in a broken vi). I had to copy the dll from the 32-bit installation to get my vi to run. Can someone at NI confirm this?
I filed a service request on this (7329437), and NI's response was "we don't consider this a bug, won't fix"
When I hear things like this coupled with the presence of lvsound2.dll I begin to suspect a demoted dll and code that did not migrate well when you mass compiled your library. Although my 2011 32 bit resource folder does contain lvsound.dll
03-11-2013 04:02 PM
On a clean 64 bit install of LV2011, on a clean machine, there will be (or was at the time I found this) a NI supplied .llb that contains .vis that are broken because there isn't a corresponding dll.
A clean install of the 32 bit version will be fine.
Demoted or not demoted, I consider the 64 bit install broken. Either that llb is supplied with the corresponding dll, or the llb removed from the install.
The end result is that old code will continue to work fine on 32 bit LV and be broken on 64 bit LV, which is annying, and may catch someone off guard.