New simplified installation procedure on Windows

Today, we are proud to announce that we have deployed a new and easier procedure for finding and installing Windows binaries and we plan to make it even easier going forward.

Background

None of the current maintainers of Graphviz are experienced Windows users and the process of finding and installing Windows binaries has been very complicated for a long time :cold_sweat:. In this article we provide detailed instructions for how to download, install and configure Graphviz for Windows 10 for both advanced users and users with less experience. The instructions will probably be incorporated into the official documentation in some form or another at a later stage.

Feedback. Please! :pray:

Please help us improve the new installation procedure and the instructions in this article by providing feedback as comments below. Most important is of course if something is wrong or missing, but even if it just works without any problems for you, this is good information for us and for other users. Please state which operating system and which web browser you use and also which versions they have if you know how to find out.

We are particularly interested to know if this is working well also for Windows versions other than Windows 10 and if and how the procedure differs.

If you find a bug or want to suggest an enhancement to the software, please report it as a GitHub issue.

Installation instructions :grin:

Below are three sections that are intended for users with different levels of experience. The first two are the same procedure and will give you the exact same result, but differs in how much guidance they provide. Chose the first if you have no prior experience with installing software on Windows and the second if you feel comfortable with this and want a quick and easy installation procedure. Chose the third if you are an advanced user and want to be able select between all the options.

Installation instructions with detailed guidance (recommended for users without installation experience) :thinking:

These instructions provides screenshots for every step in the installation process, but does not show all available options. If you don’t need this guidance, you can jump to the abbreviated section for quicker installation. If you need more options, jump to the advanced section.

The screenshots are from a Windows 10 installation. If you are using another Windows version they may look slightly different. If you are having problems or find significant differences, please ask questions and provide feedback as comments below.

  1. Select if you want to install the 32-bit or 64-bit version of Graphviz.

    • We recommend you to install the 64-bit version unless you have a 32-bit computer.
    • If you don’t know and your computer isn’t very old, it’s probably a 64-bit computer and we recommend you to try the 64-bit version and as a fallback if this doesn’t work, instead install the 32-bit version which should always work.
    • Check this article if you want to learn how to determine which kind of computer you have.
  2. Visit the appropriate download location based on your choice:

  3. Download the graphviz-install-2.44.1-win64.exe file (or whichever version is available).

  4. If you get a question whether to run or save the file, choose Run, otherwise save it and then run it by clicking or double-clicking on it.

  5. Click More info if you see this dialog:
    image

  6. Click Run anyway if you see this dialog:

  7. Click Yes if you see this dialog:

  8. Click Next > in this dialog:
    image

  9. Click I agree in this dialog:
    image

  10. Select Add Graphviz to the system PATH for current user in this dialog:

  11. Click Next > in the dialog above.

  12. Click Next > in this dialog:
    image

  13. Click Install in this dialog:
    image

  14. When the installation is finished; Click Finish in this dialog:
    image

  15. Open the command prompt as an administrator:

    • Press the ❖ (Windows) key on your keyboard
    • Type cmd
    • Click Run as administrator in this dialog:
  16. Click Yes if you see this dialog:

  17. Type dot -c and press Enter in the Administrator Command Promt window:


    If you get an error message like this:
    Error: failed to open C:\Program Files\Graphviz 2.44.1\bin\config6 for write, you probably haven’t opened the command prompt as an administrator and you have to repeat that step above.

  18. Type exit and press Enter in the command window:

  19. Restart any applications or Command prompts where you want to use Graphviz.

Congratulations! You have now successfully installed Graphviz. :muscle:

Try restarting your computer if you still have problems running Graphviz.

Abbreviated installation instructions (recommended for users with installation experience) :cowboy_hat_face:

These instructions do not show every detailed step and do not show all available options. If you find them hard to follow, jump to the detailed guidance section. If you want more options, jump to the advanced section.

  1. Visit the appropriate download location for your computer:
  2. Download and run the graphviz-install-VERSION.exe file.
  3. Ignore any security warnings you might get.
  4. During the installation, make sure you select Add Graphviz top the system PATH for current user.
  5. When the installation is finished, start CMD as an administrator
  6. Run dot -c in the Administrator: Console Prompt window.
  7. Restart any applications or Command prompts where you want to use Graphviz.

Try restarting your computer if you still have problems starting Graphviz.

Installation instructions for custom installations (recommended for advanced users) :nerd_face:

If you find these instructions hard to follow, jump to the detailed guidance section.

There are three steps to install Graphviz. All three steps are necessary in order to use Graphviz:

  • Download
  • Install
  • Configure

Download

Download location

Graphviz binaries for all operating systems are available at:

Selecting what to download

Stable or Development

You can choose to install the latest stable release or the latest development release. Check the CHANGELOG to find out the difference.

CMake or MSBuild

We have two different build variants:

  • CMake (recommended for most users). Offers 32-bit and 64-bit release builds and comes with a GUI installer.
  • MSBuild (for advanced users requiring a debug build). Offers 32-bit debug and release builds and is provided as a .zip archive only.
32-bit or 64-bit

32-bit downloads are available both for CMake and MSBuild, while 64-bit downloads are available only for CMake.

Release or Debug

Release builds are available both for CMake and MSBuild, while Debug builds are available only for MSBuild and only for 32-bit

Installation of CMake binaries

Just run the installer as an administrator. We recommend you select Add Graphviz top the system PATH for current user during the installation to avoid having to do this manually.

Installation of MSBuild binaries

Unzip the .zip archive to a location of your choice and add that location followed by \Graphviz\Bin to the PATH environment variable.

Configuration of plugins

As an administrator, run dot -c. If you run without administrator privileges, you will get an error message like:

Error: failed to open C:\Program Files\Graphviz 2.44.1\bin\config6 for write.

Direct links to all possible Windows downloads

Build Stable Development
CMake MSBuild CMake MSBuild
32-bit release yes yes yes yes
32-bit debug no yes no yes
64-bit release yes no yes no
64-bit debug no no no no

Troubleshooting common error messages :confused:

Format: "svg" not recognized. Use one of:

If you get this or a similar error message when running a Graphviz command without any information regarding which formats that are available, you probably haven’t run the dot -c as an administrator. See the instructions above how to do that.

Error: failed to open C:\Program Files\Graphviz 2.44.1\bin\config6 for write.

If you get this error message when running dot -c, you probably are not running it as an administrator. See the instructions above how to do that.

Uninstalling Graphviz

  1. Open the Control Panel
  2. Click on Uninstall a program
  3. Click on the Graphviz version you want to uninstall
  4. Click on Uninstall/Change
  5. Click on Yes
  6. Click on Uninstall
  7. When the uninstallation is complete, click on Close

Known issues

These issues are already known to us and will be addressed as soon as we are able:

1 Like

Excellent! This has been one of the biggest problems for years (on the Graphviz site and on stackoverflow). And extra courage points for non-Windows developers to do this!
OK:
OS Name: Microsoft Windows 10 Home
OS Version: 10.0.18363 N/A Build 18363
Browser: Firefox 78.0
User level, Windows user for many years, a Linux developer, but not a Windows developer

I installed 64-bit, mostly following instructions (they were very clear & detailed, but I’ve been installing programs on Windows for decades). The installation was straight-forward with no surprises - except:

  • neato, gvpr, fdp and some others were not part of the installation (if you need a list, I’ll provide) This was a surprise. If it was intentional, the documentation should call it out.

One other suggestion, my old version (Graphviz2.38) was left untouched. This is fine with me, but the installation instructions might mention how to remove old versions if so desired.

All-in-all clean-and-tidy! Good work!

p.s. running systeminfo in the cmd window gives the desired OS info

1 Like

Thank you so much for the detailed review and the kind words.

It was a surprise to me too. None of us current maintainers know the intentions of the current state.

I filed an issue about it. You are welcome to fill in with the complete list and other info that you might have.

Good point. In the future we might have an installer that does this, but I’ve added it to the instructions now.

Thanks, that was new to me. I think however that users needing instructions for this are better served by the article I linked so I’ll leave the instructions as they are.

That’s really cool, things keep improving. Although I use linux a lot, I always need Windows.
As a developper, I cannot judge how hard is the install for unexprienced users, but I do have questions, or feedbacks, comments.

  • Is it possible to have a windows standalone zip binary ? In other words, is the install really necessary. I’m no expert in installs, I think it’s mainly needed for registry update and licensing checks, open source sw have the luxury to be able to avoid that.

  • Is there any interest in Docker ? where dot would be provided as a service through a port ? less efficient when on the same machine indeed, but might allow different deployment and usage models.

  • Here now a bit more of imagination. What is still the difference between the installable binaries and the wasm port of them ? I’ve seen that node-graphviz also needs graphviz to be installed, maybe in the future wasm will come to node and we’d solve all those install steps.

1 Like

I think this is what is described here, but if you mean something else, please clarify.

We currently use Docker containers with installed prerequisites when building for Linux and plan to create Docker images for Windows too at a later stage, but haven’t thought of providing Docker images including Graphviz.

Installable binaries run natively on the computer while WASM runs in a browser (at least this is the primary purpose).

Thanks for the answers,
I got confused about the binaries, and checked only the first that had an installer, but it’s actually the MSBuild that is a standalone zip install. Then everything is perfect.

Creating a docker image with graphviz is trivial for advanced docker users. This point might be relevant only in case it would be planned to support a sort of server service with a rest API on top of dot binary. I’ve seen this done once, maybe I can prototype that in the near future. I admit that given the high portability of Graphviz, it is less interesting to call it through a rest API hosted on another server, as a usage model as it can easily be included in every server or even web page. Here I might refer to the http://www.plantuml.com/plantuml/ service as example, it makes integration easier in code editors plugins, but I also don’t like much the runtime dependency to an external server, so this point is not of much relevance.

The difference between WASM and a native binary is clear. I had doubts if the WASM port would produce any different result or would have any limitation in terms of features or options, but given the answers I assume that results produced by both are either binary identical or at least very similar within the computation precision variations of each platform.

Thanks a gain and keep up the good work.