Showing results for 
Search instead for 
Did you mean: 

Creating distribution kit gives "Internal API function call order violation"

Dear all !
When trying to create a distributionkit in Labwindows/CVI 8.0 we experience some strange error messages. First time we try to create the kit a message pops up saying "Unknown error". After that we keep getting "Internal API function call order violation" when trying to create the distribution kit.
(Both runtime and debug executables run splendid.)
Is this a bug ? Or have we made a mistake when creating the kit ? Anybody else seen this before ?
Thanks for your help !
0 Kudos
Message 1 of 18
Hello Han,

If you are seeing this behavior, then some unexpected error has occurred.  In order to track down the cause, I'd like to ask you for some more information.  Open a fresh instance of CVI and load the workspace with the problematic distribution.  Select the "Build>>Distributions>>Edit <name>..." menu item, make sure the tab has focus (dotted box should be around one of the tab labels), and press Ctrl+Shift+L.  This will cause a detailed debug log to be written to your temp directory (Documents and Settings\<username>\Local Settings\Temp\distBuildDbg.log).  Build your distribution, or take whatever steps necessary to reproduce the first "Unknown error" message.

Please post the distBuildDbg.log file, and if possible, your distribution (.cds) file and any relevant project files.  Also, if there is any difficulty in reproducing the error, please try to describe the steps you take to make it happen.  This will hopefully give us enough to determine what the problem is and if there is a workaround.


Mert A.
National Instruments
0 Kudos
Message 2 of 18

Thank you Mert for your comments !

We first cleared the distribution kit entries in the prj-file and tried to make distribution kit with only the executable (and uir). Then we did what you asked (logfile attached).

We see that the logfile shows an error finding NIMdf.dll . This file is present on our system, perhaps CVI has a problem finding it ?




0 Kudos
Message 3 of 18


We placed NIMdf.dll in c:\winnt\system32 and now it was found. But still the message 'unknown error' appears when trying to make a distr. kit.  Now the problems seems to be linked to the NI-4070 DMM. We will try to reinstall the software for it and see whether that helps.

0 Kudos
Message 4 of 18

Is there a clue there? C:\winnt ? I thought CVI 8.0 was not supported on the NT platform? (Or are you using Win2K?)


Message Edited by jr_2005 on 01-04-2006 11:28 AM

0 Kudos
Message 5 of 18
System is WIN2000 5.00.2195 servicepack 4...
0 Kudos
Message 6 of 18
Hello Han,

You don't have to worry about NIMdf.dll not being found -- it is being found, or else you would not be able to begin building or print a log at all (it is installed right next to cvi.exe).  I'm not sure why the log said it could not be found..

The real issue is that some of the direct and indirect (via DAQ) dependencies of the NI-DMM driver that you have selected are not deployable.  These dependency products are found on your system, but they are older versions which do not support deployment.  In order to successfully include NI-DMM in your distribution, all of its dependencies must also be deployable.  In your case, it seems that the problematic dependencies are all RT versions of support drivers.  You will need to go to Add/Remove Programs in your control panel, choose to change National Instruments Software, then choose to modify NI-DAQmx 8.0.  When you get to the feature selection tree, make sure you turn on the Real-Time and Embedded feature so that all the Phar Lap ETS sub-items are selected for installation.  This should solve your problem.

Good luck.

Mert A.
National Instruments
0 Kudos
Message 7 of 18

Hallo Mert,

Just did as you told, included the realtime stuf and tried again with similar results. Unknown error.

The difference is that now I don't get the logfile.

I did find a file, created at the time of the error, MSIa233.log containing:

"You have a higher version on the system.  Please uninstall that version before trying to install this version."

Co ( working with Han on this problem )

0 Kudos
Message 8 of 18
Hello Co,

I want to clarify what I said in the previous post to make sure it was clear.  I mentioned turning on the Real-Time features in the feature selection tree -- this means selecting those features and installing them to your machine from the NI-DAQmx 8.0 installer.  I do not mean selecting RT items in the distribution builder UI. 

If you look at the previously generated log file that Han posted, you'll see at the end there are several lines like
Product 'NI-DMM 2.4.6' depends on a product that cannot be found on the system. 
ID of missing product: 'NI-PAL 1.8.2f0 for Phar Lap ETS' - {981ECDC9-F27F-4E40-BCC8-AD7658866338}
If you check the directory Program Files\National Instruments\Shared\MDF\Manifests\, you should notice the file named NI-PAL for Phar Lap ETS {...}.xml is missing.  This is because a new enough version of this support driver is not installed.  Forcing an install of the RT features from your DAQmx installer should solve this.

As far as the log is concerned, it is not generated by default.  You must follow the steps I gave in my first post to this thread in order for it to be written.  If you continue to have problems after installing the RT features (confirming that the missing Manifest .xml files are present), generate and post another log file, and I'll be happy to look at it.

Good luck.

Mert A.
National Instruments
0 Kudos
Message 9 of 18
Hallo Mert,
Unfortunately you were clear the first time. I did install to the system, not the distribution kit.
No idea what I did wrong yesterday trying to get the log file, but this morning it works.
No complains about NI PAL but it complains about several similar others.
Hope you have a hint?
0 Kudos
Message 10 of 18