Download, Install, and Fix Visual Studio 2017 Community IDE

Step-by-step guide on how to download and install Visual Studio 2017 Community Edition and fix the System.InvalidOperationException startup issue.

Ah yes. Visual Studio 2017. What a good memory. That was a good year before COVID-19 happened.

I still install it sometimes, especially when dealing with older projects that don’t behave nicely in newer Visual Studio versions. Legacy apps are real, and sometimes the safest move is to use the original toolchain.

Here’s how I install Visual Studio 2017 Community Edition, plus how I fix that annoying System.InvalidOperationException startup error that sometimes appears right after installation.

Table of Contents

Video

Not in the mood for reading? Watch the video instead.

Subscribe to Junian Dev YouTube channel

Step 1: Download Visual Studio 2017 Installer

I’ve prepared the official download links for the genuine Visual Studio 2017 installers below. You can, of course, visit the official Visual Studio website, but that usually requires signing in and navigating through several pages to find the correct download.

You can use the Community edition without an active paid subscription, as long as your usage complies with Microsoft’s license terms.

Edition Installer
Visual Studio 2017 Community ⬇️ vs_Community.exe
Visual Studio 2017 Professional ⬇️ vs_Professional.exe
Visual Studio 2017 Enterprise ⬇️ vs_Enterprise.exe

Step 2: Run the Installer

Open the executable you just downloaded. For example, if you downloaded Visual Studio Community 2017, open the vs_Community.exe file.

Visual Studio Community 2017 installer file
Visual Studio Community 2017 installer file

It’ll then show the first dialog, where you can click the Privacy Statement and Software License Terms. You can read them if you want, but I don’t. Just click Continue to agree to the terms.

Visual Studio 2017 Privacy and License
Visual Studio 2017 Privacy and License

The installer will then download additional files in the background. It’s usually quick, but it may be slow sometimes.

Visual Studio 2017 getting installer ready
Visual Studio 2017 getting installer ready

Then you’ll be asked to select workloads. In my case, since I only need WPF and ASP.NET, I select these workloads:

  • .NET Desktop Development
  • ASP.NET and web development

These two cover most of my classic .NET Framework use cases. You can, of course, select other workloads.

These are all available workloads to install:

Windows (3)
  • .NET desktop development

    Build WPF, Windows Forms, and console applications using C#, Visual Basic, and F#.

  • Desktop development with C++

    Build Windows desktop applications using the Microsoft C ++ toolset, ATL, or MFC.

  • Universal Windows Platform development

    Create applications for the Universal Windows Platform with C#, VB, JavaScript, or optionally C++.

Web & Cloud (7)
  • ASP.NET and web development

    Build web applications using ASP.NET, ASP.NET Core, HTML/JavaScript, and Containers including Docker support.

  • Azure development

    Azure SKs, tools, and projects for developing cloud apps, creating resources, and building Containers including Docker support.

  • Python development

    Editing, debugging, interactive development and source control for Python.

  • Node.js development

    Build scalable network applications using Node.js, an asynchronous event-driven JavaScript runtime.

  • Data storage and processing

    Connect, develop, and test data solutions with SQL Server, Azure Data Lake, or Hadoop.

  • Data science and analytical applications

    Languages and tooling for creating data science applications, including Python, R and F#.

  • Office/SharePoint development

    Create Office and SharePoint add-ins, SharePoint solutions, and VSTO add-ins using C#, VB, and JavaScript.

Mobile & Gaming (5)
  • Mobile development with .NET (out of support)

    Build cross-platform applications for iOS, Android or Windows using Xamarin. This version is no longer supported.

  • Game development with Unity

    Create 2D and 3D games with Unity, a powerful cross-platform development environment.

  • Mobile development with JavaScript

    Build Android, iOS and UWP apps using Tools for Apache Cordova.

  • Mobile development with C++

    Build cross-platform applications for iOS, Android or Windows using C++.

  • Game development with C++

    Use the full power of C++ to build professional games powered by Direct, Unreal, or Cocos2d.

Other Toolsets (3)
  • Visual Studio extension development

    Create add-ons and extensions for Visual Studio, including new commands, code analyzers and tool windows.

  • Linux development with C++

    Create and debug applications running in a Linux environment.

  • .NET Core cross-platform development (out of support)

    Build cross-platform applications using .NET Core, ASP.NET Core, HTML/JavaScript, and Containers including Docker support.

Visual Studio 2017 Workloads
Visual Studio 2017 Workloads

Once you’ve finished selecting the workloads, click Install, and now we wait. This part can take a while depending on your internet speed and machine specs. You can get some coffee or cook some ramen.

Visual Studio 2017 installation progress
Visual Studio 2017 installation progress

Step 3: Launch Visual Studio 2017

Once installation is complete, we can start using the Visual Studio 2017 IDE. Just click the Launch button.

Visual Studio 2017 Launch
Visual Studio 2017 Launch

Now here’s where things can get interesting. Normally, it will open the IDE directly. However, if you install it in 2026 like I did on Windows 11, you may run into an issue.

If You See: “Could Not Start Visual Studio due to an error”

As I mentioned earlier, if you install it on a Windows 11 PC, sometimes after clicking Launch, you’ll get an error like:

Could not start Visual Studio due to an error. System.InvalidOperationException: Controller terminated before accepting connections. Exit code: -2147483645.

Could Not Start Visual Studio due to an error
Could Not Start Visual Studio due to an error

The first time this happened to me, I thought the installation was corrupted.

It turns out that, in many cases, the problem is related to Node.js and the NODE_OPTIONS environment variable. If you have Node.js installed (which most developers do), this can interfere with Visual Studio 2017. Read the next section to resolve the issue.

Temporary Fix: Rename NODE_OPTIONS

  1. Open the Start Menu

  2. Type: Environment Variables

  3. Do one of the following:

    1. Click Edit environment variables for your account, or
    2. Click Edit the system environment variables, then click the Environment Variables… button
    Edit environment variables for your account
    Edit environment variables for your account
  4. Under User Variables (or possibly System Variables too), find NODE_OPTIONS

  5. Click the Edit… button.

    Edit NODE_OPTIONS environment variable
    Edit NODE_OPTIONS environment variable
  6. Rename it temporarily to something other than NODE_OPTIONS, such as:

    NODE_OPTIONS_

    (Just add an underscore at the end.)

    Rename NODE_OPTIONS Environment Variable
    Rename NODE_OPTIONS Environment Variable
  7. Click OK after editing.

  8. Click OK again.

    Save NODE_OPTIONS rename
    Save NODE_OPTIONS rename

Now try launching Visual Studio 2017 again. It should open without issues.

Sign In with a Microsoft Account

Once you’ve renamed NODE_OPTIONS, Visual Studio 2017 should launch correctly and ask you to sign in. You can sign in or create a Microsoft account to activate the license.

Microsoft Sign-In for Visual Studio 2017
Microsoft Sign-In for Visual Studio 2017

Once you’re signed in, you’ll see the full IDE.

Restore NODE_OPTIONS After Launch

Once Visual Studio launches successfully and you’ve already signed in, you can rename the NODE_OPTIONS environment variable back.

  1. Go back to Environment Variables

  2. Edit the renamed variable

  3. Remove the trailing underscore from NODE_OPTIONS_ so it becomes:

    NODE_OPTIONS
  4. Click OK.

  5. Click OK again to save the changes.

NODE_OPTIONS Environment Variable
NODE_OPTIONS Environment Variable

Now close and reopen Visual Studio 2017 to confirm everything works properly. It should start normally this time.

Create a New Project with Visual Studio 2017

Now let’s make sure Visual Studio 2017 installed correctly by creating a new project for testing.

I normally create a new Windows Forms project for a quick test.

New Windows Forms Project on Visual Studio 2017
New Windows Forms Project on Visual Studio 2017

Try making some changes, then build and run it. If everything works without issues, Visual Studio 2017 is ready for real work.

Enjoy the coding session!

Uninstall Visual Studio 2017

If you no longer need Visual Studio 2017 in the future, you can uninstall it easily.

To uninstall it, first open Visual Studio Installer from the Start menu.

Visual Studio Installer
Visual Studio Installer

Go to the Visual Studio 2017 section. Click the More button, then click Uninstall.

Uninstall Visual Studio 2017
Uninstall Visual Studio 2017

A final confirmation dialog will appear. If you’re sure you want to uninstall it, click OK. If you change your mind, click Cancel and nothing will be removed.

Uninstall Visual Studio 2017 Confirmation
Uninstall Visual Studio 2017 Confirmation

Once you’ve confirmed, the installer will start removing Visual Studio 2017 from your Windows PC. Just follow along, sit back, and get another cup of coffee.

Final Thoughts

Visual Studio 2017 might be old, but it’s still perfectly usable—especially for maintaining legacy applications.

If you run into the startup error, don’t panic. In many cases, it’s just the NODE_OPTIONS environment variable conflicting with it. A quick rename and restore usually solves the issue.

That’s it. Now you’re ready to build your apps like it’s 2017 again 😄

As usual, if you have any questions or a better method, leave a comment below. Thanks for reading, and see you next time 👋

References