Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Deployed .Net application with legacy controls not showing up in Add/Remove Programs

I want to start off by saying that I called in to National Instruments yesterday and am currently awaiting a response from them. I am posting this for two reasons: I want others to be aware of the problem, and I want to get this resolved as quick as possible.

 

The past few weeks I've noticed that projects I have built and deployed are not showing up in Add/Remove programs. This wasn't a big deal at first, and I thought maybe something got corrupted in the setup project. I pulled down versions of code from a year or two ago and compiled installers and I found myself with the same problem.

 

My computer is completely up to date (Windows and NI Software), I'm running Windows 7 64 bit (deploying packages as 32 bit), Visual Studio 2010 Professional, Measurement Studio 2010, and Measurement Studio Legacy Controls. I use C#.

 

I spent about a week going through every setting imagineable in Visual Studio, and at first I didn't even think this was an NI problem. I also ran Orca on the MSI, and I found a few problems. There were four properties in the MSI that should not have been: ARPSYSTEMCOMPONENT, ARPNOREMOVE, ARPNOMODIFY, ARPNOREPAIR. Now for anybody reading this that doesn't understand, Visual Studio doesn't have any setting to be able to add these to the MSI. These keys perform the following functions on the installed version.

 

ARPSYSTEMCOMPONENT - Installed program will not show up in Add Remove programs list.

ARPNOREMOVE - Installed program will not have ability to be removed from Add Remove programs list.

ARPNOMODIFY - Installed program will not have the ability to be modified from Add Remove programs list.

ARPNOREPAIR - Installed program will not have the ability to be repaired from the Add Remove programs list.

 

From previous problems with National Instruments software, I had to make a PostBuildEvent on my deployment project that would modifiy a value in the MSI. I editted this script file to remove the ARPSYSTEMCOMPONENT, ARPNOREMOVE, ARPNOMODIFY, ARPNOREPAIR properties from the MSI, and this is a possible work around.

 

That being said, I'd like to know why this is happeneing now. In the past I've always been hesitant to update software because I always get burned. Throughout recent problems, NI advised me to update their software on my computer which I did. Now I've come to find out from futher testing that CWUI_OCX.MSM which is being recognized as a dependency automatically in the setup and deployment project is causing this issue. I've taken the following steps to determine that.

 

Verify you have all installed NI updates. Start a new clean Windows form project. When the project loads, add a Setup and Deployment project (use the built in Windows project, not the InstallShield). Add the CWUI_OCX merge module to the project (in my scenario above it was automatically added because of my references in my project, but this is a shortcut to proving my point). Build the installer and check add remove programs. It should not be appearing in the list. Uninstall the application (I usually do it by Visual Studio, right click on the setup project and choose Uninstall... since it doesn't show up in Add Remove programs list). Remove the merge module, rebuild the project, and reinstall and it should now show up in add remove programs.

 

In my scenario above, I was able to target the specific merge module and mark it to exclude it when testing. Through my testing I also found that this seems to be a problem with the updated merge module installed by NI updates. If I use the CD version, no problems are visible.

 

By the way, installers built with the newer merge module do not show up in add remove programs list on Windows 7 or Windows XP. This does not appear to be a Microsoft problem.

 

Surely I am not the first person to have this problem. I've tried 3 different development machines and received the same problem across each. The dev setups were as follows, Windows 7 64 bit with all updates, Windows 7 32 bit with all updates, Windows 7 32 bit with a fresh install with all updates. As a point of curiousity I took a  Windows 7 32 bit with a fresh install and no updates to verify the problem was not there, and that was the case.

0 Kudos
Message 1 of 3
(6,386 Views)

An update for the merge module is available. Goto ni.com/downloads and search for measurement studio updater for visual basic 6.  The actual title is "Measurement Studio Enterprise Edition System (Full Development System) 6.0 - Updater for Visual Basic 6.0 and Visual C++ 6.0 - Windows XP/2000" and it will download an update. 

 

joule.ni.com/nidu/cds/view/p/id/843/lang/en

 

 

I found another forum

http://social.msdn.microsoft.com/Forums/windows/en-US/7f4a9d46-ab2a-4ad0-a606-25d1c1ca10d0/latest-bu...

that gives a post build script to edit the .msi programatically.

 

 

 

0 Kudos
Message 2 of 3
(6,253 Views)

The person on the other forum is me...

 

National Instruments tested and released the fix for the merge modules, though I was hoping they'd release it through their update service. It's mind boggling to me that they would update the controls with a bug and not fix the bug, but National Instruments told me that the merge module is legacy (still in my mind, if you release anything with a known bug you'd be able to release a fixed version). At least they came back with a fix.

0 Kudos
Message 3 of 3
(6,245 Views)