1

Closed

Designer tests don't run on a machine that has both VS2012 and VS2013 installed

description

There seem to be multiple issues related to the VS host that effectively prevent the tests from running on a machine that has both versions of VS installed, regardless of whether you are doing the VS2012 or the VS2013 build.

In addition to that the wixproj for VSIDETestHost needs to be fixed to use WixExtDir variable for the path to the Wix Tools instead of reading the hardcoded registry setting.
Closed Oct 3, 2013 at 5:46 PM by Mugdhak
verified as fixed

comments

moozzyk wrote Sep 12, 2013 at 1:22 AM

Fixed with the following changesets in the designer repo:

3d15ce7

Fixing unit tests to run correctly on a machine with both VS2012 and VS2013

One of the referenced dlls did not have a version and the version included in the unit test project (always 12) from the one that was used by the product (11 or 12 depending on the VS version). The mismatch resulted in an NRE in the test and a failure

901ea7c

GrayAndBlueCanCoExistIfTheyHaveAllCaps - fixing VSTesthostIDE so that it can work on boxes with both VS2012 and VS2013 installed.

c470e00

DoubleIdentity - Fixing a csproj file to build against the correct version of Microsoft.VisualStudio.DataDesign.Interfaces assembly

cf84c5f

env vs. var - 0:1

Wix used $(env.VisualStudioVersion) environment variable to reason about the version of VS. However this variable is not by default defined in the developer command prompt (build.cmd defines it so once you run build.cmd it will be there until you close your command prompt). However msbuild always defines VisualStudioVersion so we can pass it to wix instead of relying on the environment variable.

4c4d6ea

Crapuśniaczek - cleaning up VSIdeTestHost, fixing InProcTests
  • removing ETW tracing from VSIDETestHost
  • changing the installer to not create a folder inside Program Files - it only contained a doc with some technical details which you typically never need. If you need it it is in the repo.
  • fixing a few tests which would fail on Dev11 if .NET Framework 3.5 was not installed (the default on Windows 8.1)