11-08-2016 12:38 PM
I have a WiX deployment project for a program I wrote a few years ago. The program is written in C# with Visual Studio 2012 and uses Measurement Studio components. I have to update the program with some minor changes. I am only allowed to make as few changes as possible, so I am required to stay with VS2012. When I rebuilt the program, it linked to Measurement Studio 2015 instead of 2013 as 2013 was no longer installed. This is fine- I am OK with that update. However, when I build the installer, it packs the Measurement Studio 2013 merge modules into the exe. When the program is installed and runs, it fails because the program looks for version 15.xxxx of the NationalInstruments.WindowsForms.dll and can't find it. Version 13.xxxx is installed in the GAC.
The file MStudioUIWinforms.2012_x64.msm located in C:\Program Files (x86)\Common Files\Merge Modules contains the 13.xxxx version of the DLL in question. I have searched extensively on this topic and I am aware of this KB: http://digital.ni.com/public.nsf/allkb/52003B0C6C29B3F386257E650054929D
The merge module for the correct version is either not being installed, or it is installed elsewhere. I do not want to convert to the Measurement Studio Installer Builder as WiX is what I use for everything else and I am required to make as few changes as possible.
Can anyone tell me what's happening here? Where are the correct merge modules? This is an urgent matter for me and any help is appreciated.
11-09-2016 03:28 PM
Hello,
I know that you are aware of the KB that you linked, but I want to confirm first off that you repaired your Measurement Studio Installation and it did not change your behavior. Is this correct?
Could I know how exactly you are verifying that merge modules currently contain the 13.xx version of the DLL? Does it only do this with the WindowsForm DLL and not anything else like NationalInstruments.Common? I just want to know if this is a specific issue with one DLL or if it is all 2015 DLLs that you are working with.
Best,
Shamik C
Applications Engineer
National Instruments
11-09-2016 03:35 PM
I did "repair" and "reinstall" operations multiple times. These did not change anything. Since the WindowsForms dll was the one that gave me the issue, I concentrated on that one. I can't say what the other packages were doing.
I verified that the merge module I had was "wrong" by opening it in Orca and seeing what version was listed for the contained files. I also verified it by installing the resulting exe on a test machine. Only the older versions were loaded in the GAC on the test machine (a freshly imaged machine), and the program failed to run stating that it couldn't find the correct version of the dll.
I can't help you out much more than that because I was pressed for time and ended up uninstalling ALL Measurement Studio components. I scoured my hard drive for any trace of this stuff because I really can't afford to lose days on things like this again. Several "Analysis" files were left on my machine, so I deleted those. After a complete reinstall of only Measurement Studio 2015 for Visual Studio 2012 and 2013 and its required components, the program built, installed, and ran correctly. I also verified, as above, that the version of the WindowsForms dll in the merge module was the newer, correct version.