VS2015: How to Remove Windows Telemetry Function Call from your C/C++ Binaries


Visual Studio 2015 Update 2 - telemetry call in binary

According to some recent news, the Update 2 of Visual Studio 2015 automatically adds telemetry calls to your C/C++ code. This fact has been discovered around a month ago by a Reddit user called sammiesdog in this thread. But it seems that discovering remained more or less invisible so far.


 
VS2015 Update 2 automatically adds a call to telemetry_main_invoke_trigger. I compiled this very tiny C program with VS2015 Update 2:

int main()
{
  return 0;
}

 
and indeed you can find in both Debug and Release builds telemetry function call:


Visual Studio 2015 Update 2 - telemetry call in binary

 
According to Microsoft’s Steve Carroll (Development Manager for the Visual C++ team), you can remove telemetry calls by adding notelemetry.obj to the command options of the linker:


Visual Studio 2015 Update 2 - how to remove telemetry call in binary

 
I then added this option, recompiled my tiny test and:


Visual Studio 2015 Update 2 - telemetry call removed from binary

 
No more telemetry call!

The third update of VS2015 should remove this functionality.

Here are some links and references for further reading:

4 thoughts on “VS2015: How to Remove Windows Telemetry Function Call from your C/C++ Binaries”

  1. Anonymous Commentor

    Microsoft are completely bastards who spy on their unknowing userbase as much as they think they can get away with. Then, when they get caught they try to defend themselves with flimsy excuses that don’t convince anybody. Then they try again, and so on. And they maintain their customer base as large amounts of Microsoft users (think your most tech-bewildered parent) are tech-illiterate and wouldn’t know what a function called “telemetry” meant even if they saw it, until someone explained to them that they’re being spied on.

    Shame on Microsoft yet again.

Comments are closed.