Run coded ui test with mstest on partner machine - visual-studio-2012

I need to run some Coded UI test on a partner machine on which is installed Visual Studio Professional.
Is there any "standalone" packages with all the test-related dlls or I need to register them manually?

The Visual Studio Agent software allows tests to be run on other machines. The Agent software does not need and version of Visual Studio installed on the same machine.
The agent software includes all the DLLs etc needed to run Coded UI tests. So you should be able (but I have not verified this) to load the DLL of your Coded UI test onto the partner machine and then run the test with mstest.exe.
See http://www.microsoft.com/en-gb/download/details.aspx?id=38186
Note that Visual Studio Professional does not include Coded UI test facilities, they are provided in the Premium and Ultimate versions.

Related

Build Visual Studio Project for Linux Systems

Is there a way to build a project in visual studio for linux sytems? This Github repository (https://github.com/nilaoda/N_m3u8DL-CLI) is very useful for my project, in this repository is just the visual studio project files (.sln ,c# source code etc.), I cloned it in my visual studio and want to build it but not as executable but for linux system? Is this somehow possible?
Looking at their documentation (translated to English), the application is built on the .NET Framework, which is only intended to work on Windows-based devices. Their documentation also states it's supported on Windows XP and up, and requires the .NET Framework 4.6 runtime, which Linux can't use.
If it was using .NET (previously .NET Core) you'd be in business, but as is, without a rewrite in .NET, you won't be able to run this or build it for Linux devices.

Does a user of a rust program on Windows still require to have Visual Studio C++ Build tools installed?

I plan to develop several programs using Rust programming language which will be deployed on the computer of several colleagues using Windows 10 (64 bits). According to what I understand by reading the online installation guide, in order to install Rust develoment environment on Windows, the installation of Microsoft Visual Studio C++ Build tools is a prerequisite.
My question is: Once a program has been compiled and the executable has been created and deployed on the computer of my colleagues, do they also need to have Microsoft Visual Studio C++ Build tools installed on their computers in order to be able to use these programs or this is just a prerequisite for develoment?
The build tools should not be necessary on the target machine, but that machine probably needs the redistributable C++ runtime unless you force statically linking the CRT.
https://stackoverflow.com/a/44387312/8182118
What is the requirements for running a Rust compiled program on another Windows machine?

How to change Visual Studio 2017 Windows build to Linux build

So, I have a project being built and test on Windows platform, since Visual Studio 2017 works and run program most comfortable for me in Windows. Now, that I have completed debug most part of the code, I'll have to change my platform built target to Linux.
I used an external project (lib) to help with the internet control, which it's built target is also Windows.
Both the project are written with under C++17 standards so cross-platform should work fine.
Following the instruction on Microsoft website, I had successfully built a test project on my remote Linux server.
However, all the tutorials seem to ask people to start up a new "Linux Project", in which I did for the test project. The question is, since I already have a project/solution created and the build target is Windows platform, is there a way to switch the build to Linux Remote Build?
I've tried opening project settings, but the "target build" option is always Windows 10 and is not changeable.

How to register Performance Counters Manifest using VS2008 Installer

I have a VC++ (unmanaged) project to which I added performance counters using manifest method. Everything is working great and I even have build steps that do manifest compilation and automatic registration using lodctr.exe tool with /m:manifest switch.
The problem that I'm running into is that I now need to make installer (VS2008 Installer project) do registration on install (unregistration on uninstall).
I tried to set it up by having a custom action that referenced lodctr.exe tool with CustomActionData set to /m:[TARGETDIR]PerfMon.manifest and similar setup using unlodctr.exe for custom uninstall action.
When installer runs, I do see a brief flash of cmd window (which is ok), but counters are not getting registered. I ran SysInternals' ProcMon tool, and I don't see lodctr.exe process even created.
I tested that running lodctr.exe manually on target machine registers the counters.
I googled for an example or explanation how to do it with Visual Studio installer project, but came up empty. It has some .NET oriented examples, but nothing for unmanaged, hard and cold VC++...
How can I register performance counters manifest using installer project?
Visual Studio installer project has very limited functionality. Starting from Visual Studio 2012 Visual Studio installer project is not supported, you should consider to use Windows Installer XML (WIX) instead.
Include your manifest into WIX project and use WIX's PerfCounterManifest with it.

The directory containing the assemblies for the Visual Studio Test Runner is not valid

We have upgraded our TFS installation from 2012 to 2013. When running our builds they will fail with the following error if unit tests are enabled:
TF900547: The directory containing the assemblies for the Visual Studio Test Runner
is not valid ''
The build process template or build definitions has not been changed after the upgrade. The upgrade process did not change them. Where can I provide the path to the Visual Studio Test Runner and where is it located on disk?
I do not know if "Visual Studio Test Runner" is a new option for 2013 or if this setting was also used before, when we were using TFS 2012.
We use Visual Studio Professional 2012 on the build server.
To do the second choice in Oswald's answer:
Right click on your build definition and select "Edit Build Definition..."
Click on the "Process" group in the build definition.
Find the "Automated Tests" group under "Build Process Parameters" and click on the ellipsis.
A "Automated Tests" dialog box will appear, select the test under "Tests to run" that you want to edit.
Click on the "Edit", a "Add/Edit Test Run" dialog box will appear.
Change the test runner to "MSTest.exe test runner"
Note: I am using TFS2012
You have two choices:
Install Visual Studio 2013 or the Agents for Microsoft Visual Studio 2013 if you want to continue to use the Visual Studio Test Runner.
Switch to MS Test as the test runner and change the Tools Version in the Build-Workflow. This will allow you to continue using Visual Studio 2012 on the build server.
Note: Tank you SteveC to post the link to the agents only site
The solution for us was to install the Agents for Microsoft Visual Studio 2013, rather than Visual Studio 2013
As an alternative to installing Visual Studio on the build machine, you can simply copy the files from your local machine to the build machine.
ZIP the TestWindow folder found in
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft
then copy it to the build machine, and unzip to the same location.
We had the same problem as the OP but, because the TFS server is considered a production box (other departments use it for other things), we were not permitted to install VS2013 on the server. The same applied to any third party tools needed for builds, they were a pain to integrate into the build.
I eventually worked round this by using another dev box to act as a build server for TFS. By installing the Build Server component of TFS on the dev box and setting up a controller and build agents on that box, TFS could pass the responsibility for the actual build to the dev box, on which we could install anything, without compromising the TFS server itself.
While it is not perfect - an extra box and VS2013 license needed - it is by far the easiest way to avoid poluting a production TFS box. Alternatively, nominate a developer's own box and install the build agent there - the environment is ready built, it will simply slow down a little during a build.
If your project does not have unit tests, you can just disable the unit test execution on the build definition.
To do that, edit the build definition, under process tab, delete everything in field "Automated Tests"

Resources