Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Measurement Studio

Nat. Inst Folks -

I can't believe you're not getting dozens of complaints about this. Your Measurement Studio .NET installer is toasting the normal include paths for Visual C++. This makes Visual C++ unable to find system include files like , and hence unable to compile anything! This is a serious bug and needs to be corrected immediately.

To see the problem, on a machine without Measurement Studio installed.

1) Open Visual Studio 2003 .NET.

2) Select Tools->Options, "Projects" tab, "Show Directories For" pulldown to "Include," platform to Win32.

Note that there are at least five install paths there, $(VCInstallDir)include and several others. Also select the "Show Directories For" pulldown to "Libs" and note that there'
s several library paths in there.

These are critical for Visual Studio's proper functioning in C++. Without them, even the most basic Visual C++ (or even C) program will fail to compile because it can't find it's system headers.

3) Now quit VS, install Measurement Studio, then look in the same places again. Note that Measurement Studio has not APPENDED its paths (as it should), but has instead REPLACED the paths that were there with its own. This is a fairly small bug, but with serious consequences.

This is not something that most Visual C++ programmers will know to check, and manually restoring them is REALLY tedious, since cut-and-paste doesn't work in that dialog and it involves typing precision path names in small hard-to-read fonts.

Please address this issue promptly: Because of system work on our tools, we end up having to reinstall the software multiple times a month; this issue dramatically lengthens the amount of time and effort necessary to do this (the 40 min
ute Measurement Studio install process doesn't help much, either).
0 Kudos
Message 1 of 4
(3,961 Views)
John,
we have not heard of any other customers having this problem, nor have we been able to reproduce it here. However, I have some suspicions about what might be causing the problem.

Visual Studio looks for C++ directories for include, lib, and executable files. It first looks for a file called VCComponents.dat, located in the directory

:\Documents and Settings\\local settings\Application Data\Microsoft\VisualStudio\7.1

If this file does not exist, or is empty, Visual Studio looks in the registry for its directories at:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories

If the VCComponents.dat file does not exist, viewing the C++ directories in the "Options" dialog and clicking "OK" causes it to be created. When the file is created, Visual Studio populates it with the directories from the registry. Note that if the file exists and is empty, this process will not change the file's contents - it will still be empty.

MeasurementStudio appends its directories to those already existing int the VCComponents.dat file. I believe what is happening on your system is this:

1) You have a VCComponents.dat file, but it is empty. This causes visual studio to look in its registry keys for the directories.

2) After installation MeasurementStudio sees that the file in present, and appends it directories to it. Since the file was empty, the only things in it now are the MeasurementStudio directories.

3) Because the VCComponents.dat file is no longer empty, Visual Studio relies solely on its content for the include, lib, and path directories from then on.

To confirm this, can you send me a copy of your VCComponents.dat file BEFORE you install MeasurementStudio on the system? The file is located at:

:\Documents and Settings\\local settings\Application Data\Microsoft\VisualStudio\7.1

This will help us to get a better idea of why your system is ending up in a strange state.

Glenn Burnside
National Instruments
0 Kudos
Message 2 of 4
(3,961 Views)
On an unupdated machine, the file contains the following contents:

[VC\ComponentPickerInfo]
Component Picker Dirs=C:\WINNT\Microsoft.NET\Framework\v1.1.4322\;C:\Program Files\Common Files\Crystal Decisions\1.1\Managed\;C:\Program Files\Microsoft.NET\Primary Interop Assemblies\;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\PublicAssemblies
0 Kudos
Message 3 of 4
(3,961 Views)
John,
Normally, Visual Studio is supposed to keep the VCComponents.dat file directory entries up to date. However, there are scenarios where it doesn't. For example, the VCComponents.dat file is updated when you create a project, but not when you open an existing project from the windows explorer.

The section that is in your file (VC\ComponentPickerInfo) is generated when you add a reference to a .NET component in a C++ project.

Normally, you would also have a [VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories]
section in this file, which would include all of your directories. Since the file is present but that section is not, Measurement Studio is adding its directories, but not getting the default directories (we expect them to alre
ady be in the VCComponents.dat file if the file is present.)

I'm not exactly sure how you were able to end up with a VCComponents.dat file that had the componentpicker directory info but not the path, include, and lib directory info. I would suggest doing the following:

Before installing MeasurementStudio, view the directory lists in the Options dialog in Visual Studio. After looking at them, click "OK." This will cause Visual Studio to push all of the directory info out the VCComponents.dat file. Then install Measurement Studio. With the default directories out in the file, Measurement Studio will append its own directories to the list.
0 Kudos
Message 4 of 4
(3,962 Views)