03-21-2006 10:50 PM
03-22-2006 01:01 AM - edited 03-22-2006 01:01 AM
このメッセージは 03-22-2006 04:02 PMに Makoto が編集しています。
04-12-2006 12:26 AM
Is that to say: both paths will be included into search directories, and IVI directory specified in registry is the priority?:
Also is it same with:
1, I have drivers both under the folders of c:\vxipnp\winnt\bin and c:\program files\ivi\bin,when I specify the IVI directory as c:\vxipnp\winnt\bin, which is marked in the system registry - HKEY_LOCAL_MACHINE\SOFTWARE\IVI\IviStandardRootDir, the driver in c:\vxipnp\winnt\bin will be used?,vice versa?
2, I have the driver only under the folder of c:\program files\ivi\bin. when I specify the IVI directory as c:\vxipnp\winnt\bin, which is marked in the system registry - HKEY_LOCAL_MACHINE\SOFTWARE\IVI\IviStandardRootDir, the driver in c:\program files\ivi\bin also could be automatically be found and used?, vice versa?
04-12-2006 02:57 AM - edited 04-12-2006 02:57 AM
There are two registry entries regarding IVI and VXIpnp standard directories:
HKEY_LOCAL_MACHINE\SOFTWARE\IVI\IviStandardRootDir, and
HKEY_LOCAL_MACHINE\SOFTWARE\VXIPNP_Alliance\VXIPNP\CurrentVersion\FRAMEWORK_PATH
> Is that to say: both paths will be included into search directories, and IVI directory specified in registry is the priority?
No, recent IVI development tools basically look for IVI drivers placed in the IviStandardRootDir directory, however some tools may look for them in both IviStandardRootDir and FRAMEWORK_PATH directories. Also some tools may allow you to explicitly specify the location for DLL/LIB/FP files as well.
> 1, I have drivers both under the folders of c:\vxipnp\winnt\bin and c:\program files\ivi\bin,when I specify the IVI directory as c:\vxipnp\winnt\bin, which is marked in the system registry - HKEY_LOCAL_MACHINE\SOFTWARE\IVI\IviStandardRootDir, the driver in c:\vxipnp\winnt\bin will be used?,vice versa?
If you change the IviStandardRootDir to point to VXIpnp directory, all the IVI drivers to be installed later will be placed in the VXIpnp directory. However, any existing drivers are kept remained. When you have the same DLL module on the two difference directories, which DLL is used is up to PATH environment. The directory that appears former in PATH variable will be finally used when the EXE client is being loaded. However, LabVIEW's CVI driver importer (that imports an IVI driver converting it to VI wrappers) may use the DLL located with the same directory as the FP file that you specify as the importing source. (Sorry but I am not sure about it.)
> 2, I have the driver only under the folder of c:\program files\ivi\bin. when I specify the IVI directory as c:\vxipnp\winnt\bin, which is marked in the system registry - HKEY_LOCAL_MACHINE\SOFTWARE\IVI\IviStandardRootDir, the driver in c:\program files\ivi\bin also could be automatically be found and used?, vice versa?
Yes, the DLL placed in ProgramFiles/IVI/BIN is automatically used, because the directory is at least specified as in PATH variable. Changing registry itself does not affect to PATH environment variable.
---------------------
The IVI-3.1 (Driver Architecture Specification) Chapter 6 Installation Requirements says that an IVI driver installer shall check the IviStandardRootDir registry understanding it as the IVI's root directory. The VXIpnp's FRAMEWORK_PATH registry is not used. I believe recent IVI drivers from instrument manufacturers are almost following this rule.
As for IVI drivers from NI, the driver installer seem like installing into IVI's root directory (by according to IviStandardRootDir registry) as well as into VXIpnp/WinNT directory (by according to FRAMEWORK_PATH registry). The IVI's installer requirement defines the destination directory is the one defined by IviStandardRootDir, and not VXIpnp directory. There is a background that old IVI drivers and old and today's VXI Plug&Play drivers are installed into VXIpnp directory. I believe the installation that NI's installer does is for backward compatibility especially for old LabVIEW and CVI versions, which might look for the IVI and VXI Plug&Play drivers in VXIpnp directory only.
---------------------
Makoto
このメッセージは 04-12-2006 06:00 PMに Makoto が編集しています。
このメッセージは 04-12-2006 06:03 PMに Makoto が編集しています。