Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime error can't find nianlys.dll after installing application

I have an installer which installs our application and includes the required native merge modules, however with Vista Business edition I get an error every time I try to run  the application about not being able to find the nianlys.dll file, this file was installed by the msi package I've built (into c:\program files\National Instruments\Shared\Analysis ) However this path isn't searched when running the application.

placing the dll into the application directory causes a different problem (it can't find a dependant dll from the MKL folder). Is there some magic to have the file installed to a recognised/registered  location, or should I just manually add all of the dll's and put them into the application directory ? (Paths that are searched are application,system32, system and windows)


Measurement Studio 8.1 c# VS2005
Installer used is wix 2.

Thanks

Paul
0 Kudos
Message 1 of 23
(9,123 Views)
I've just been trying to work out what to do with this and tried validating the merge modules with Orcas, they don't seem to pass the validation tests with the following errors for nianlys, similar for other merge modules.

ICE03    ERROR    Table: NIPathsRequested Column: Property_ Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleComponents Column: Component Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleComponents Column: ModuleID Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleComponents Column: Language Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleIgnoreTable Column: Table Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Not a valid foreign key; Table: Directory, Column: Directory_Parent, Key(s): NIANALYSISDIR.C864C12F_832A_4CC0_A051_156244869B59
ICE03    ERROR    Table: FeatureComponents Column: Feature_ Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: FeatureComponents Column: Component_ Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleDependency Column: ModuleID Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleDependency Column: ModuleLanguage Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleDependency Column: RequiredID Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleDependency Column: RequiredLanguage Missing specifications in _Validation Table (or Old Database)
ICE03    ERROR    Table: ModuleDependency Column: RequiredVersion Missing specifications in _Validation Table (or Old Database)

I also notice that there are lots more actions/custom tables in the visual studio deployment package and also a labwindows installer msi.

Paul
0 Kudos
Message 2 of 23
(9,110 Views)
Hi Paul,
 
Measurement Studio 8.1 doesn't officially support Vista. I would suggest upgrading to version 8.1.1 and see if the problems you're having persist.
Sarah

Applications Engineer | National Instruments | UK & Ireland
0 Kudos
Message 3 of 23
(9,083 Views)
Hi Paul,

I was able to test out deploying a .NET analysis project with an installer to a Windows Vista Business Edition PC and didn't have any problems running that application. 

Now, I did use Visual Studio to create my installer which grabbed all the appropriate merge modules that I needed.  For the analysis assembly, the merge modules that should have been included in your installer should have been (this information is coming from NI Measurement Studio Help. Navigate to NI Measurement Studio Help >> Deploying Measurement Studio Applications >>  Measurement Studio Merge Modules and Deployment Files >> Measurement Studio .NET Merge Modules):
- mkl.msm
- MStudioEnterpriseAnalysis.2005.msm (this will change depending upon the package of Measurement Studio you have and version of Visual Studio you are using)
- nianlys.msm
- nimetautils.msm

It is also important to note there is something extra you must do when deploying the nimetautils merge module which is noted in the help. It states "Any deployment project that contains the nimetautils.msm merge module must include a SystemFolder entry and a ProgramFilesFolder entry in the Directory Table. To include this entry in Visual Studio, add a "System Folder" and a "Program Files Folder" as a Special Folder in the File System view of the deployment project".  Make sure you have done this.

After you run the installer on your Vista machine, it should have created 2 (maybe 3 if you were deploying the NIMesaDLL merge module) folders in the <National Instruments>\Shared directory which are: MKL, Analysis.

As far as your question is concerned on how we find those DLLs, we actually have a macro that determines the NI shared directory location which allows us to find those DLLs. 

I guess my suggestion at this point would be to make sure you have all the required merge modules (as listed in that help document); you followed that extra note with regards to the nimetautils merge module; and you have those folders on the target machines (MKL, analysis) and they do have files in them.

One test would also be to use Visual Studio to make an installer and see if you can install and run your application. That would tell us there if there is something with Wix.

Hope this helps!

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 4 of 23
(9,075 Views)
Thanks,

I've also opened a helpdesk enquiry Reference#7161555 which has a link to a zip of an example project that I'm using together with the merge modules/wix and batch file to build/generate the msi.

I have tried visual studio installers in the past (and they have worked) but have some problems with them
1) No possibility to include a command line entry for shortcuts.
2) Can't build from the command line, we like to have a single batch file to build any deployment project.
3) Installation for all users can't be done by default

The thing is that the directories are all there on the vista machine (c:\program files\national instruments\shared\....) I just get errors trying to use the application, and the installation works fine on a clean XP SP2 machine, which would suggest that it's the macro that's not working correctly, or a component of the macro is not being installed.

I'm using or at least think I'm using 8.1.1 as it's installed, I don't include the msm files for the .net components as I had problems with this before and now just include the dll's in the application directory, so the versions I'm using are:

cvirte.msm    8.0.1.356
mkl.msm        7.2.1.0
msvcrt.msm    6.0.9782.0
nianlys.msm    8.1.0.271
nimesadll.msm    3.0.0.0
nimetautils.msm    - No files in msm file.

NationalInstruments.Analysis.Enterprise.dll 8.1.20.377
NationalInstruments.Common.dll 8.1.20.235
NationalInstruments.Common.Native.dll    8.1.20.235
 
All of the msm files are included in the sample zip file on the helpdesk entry, however I didn't include the dlls.

Paul
0 Kudos
Message 5 of 23
(9,071 Views)
Hi Paul,

Just a quick questions. Does the application not work on Windows XP SP2 as well? You mentioned that installation was fine but I wanted to clarify and make sure this issue wasn't specific to Windows Vista.  Could you also post any screenshots you get when trying to run your application?

Thanks & Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 6 of 23
(9,068 Views)
Installation seems to be fine on both, and the application works properly on XPSP2, but not on vista where I get an error when trying to use say the curvefitting library.

I don't have any screenshots to hand but will get some later.
0 Kudos
Message 7 of 23
(9,067 Views)
Screenshot of application running(or not) on vista.
0 Kudos
Message 8 of 23
(9,065 Views)
Hi Paul,

The first time I tested the my application, I wasn't making any calls to the analysis DLLs and thus that DLL was never loaded into memory for me. It gets loaded the first time an analysis function is called (just as you observed).

Because of this, I went back and re-tested an application that did make calls into the analysis DLL and everything worked fine on the Vista machine.

Thus, my first question is are you running on a 64-bit Vista OS? Secondly, would it be possible for you to create a simple .NET Windows Form application with a button that does something simple with analysis, creating a Visual Studio installer, and then test that installer and application out on your Vista machine? This test would indicate there is something specific to Wix that is causing the issues.

Let me know what you find!

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 9 of 23
(9,048 Views)
Presumably this was on a very freshly build vista machine WITHOUT Measurement Studio/Visual Studio installed ?

This is running on 32bit Visa Business, but does the same on home/enterprise and ultimate too.

I've just tried a vs install package, and this does exactly the same thing on the test machine whenever the button is pressed, I've attached a zip file containing my c# and setup projects.

Paul
0 Kudos
Message 10 of 23
(9,046 Views)