# Windows x86, x86-64 builds

**URL:** <https://forum.graphviz.org/t/windows-x86-x86-64-builds/305>\
**Category:** Help\
**Created:** [August 22, 2020, 12:47am UTC](https://forum.graphviz.org/t/windows-x86-x86-64-builds/305 "2020-08-22T00:47:54Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![magjac](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/magjac/32/16_2.png) [@magjac](https://forum.graphviz.org/u/magjac)\
**Post date:** [August 22, 2020, 6:35am UTC](https://forum.graphviz.org/t/windows-x86-x86-64-builds/305/2 "2020-08-22T06:35:42Z")

</div>

> [@smattr](#):
>
> Why are there no 64-bit MSBuild tasks? I’m sure someone has explained this to me before, but I can’t remember why and can’t locate the relevant issue(s) with the explanation. If it’s explained on Gitlab, could someone drop a pointer to the relevant issue?

TL;DR No one knows how to build them. More info through [The story of Windows releases since 2.38 - #6 by scnorth](https://forum.graphviz.org/t/the-story-of-windows-releases-since-2-38/236/6) and [Compiling dot dlls for 64 bit on windows (#1218) · Issues · graphviz / graphviz · GitLab](https://gitlab.com/graphviz/graphviz/-/issues/1218).

> [@smattr](#):
>
> - why are the 32-bit builds under “x86” for the development binaries but “Win32” for the stable binaries?

~~I currently don’t understand this~~. It should be “Win32” also for development binaries. This is set by the `$Env:platform` environment variable in [.gitlab-ci.yml](https://gitlab.com/graphviz/graphviz/-/blob/master/.gitlab-ci.yml#L154). ~~PowerShell however has the peculiarity that environment variable set in a child process also affects the parent process since [`$Env:` is a _drive_](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7#managing-environment-variables) which means that all bets are off 😱. This needs to be further investigated.~~  
**EDIT:** The reason is that [Set up VCTools variables and import into PowerShell environment](https://gitlab.com/graphviz/graphviz/-/blob/master/.gitlab-ci.yml#L117) changes this environment variable to `x86` (Search for `platform` in [this log](https://gitlab.com/graphviz/graphviz/-/commit/9afa76f20d3627d90126c30c9924c357d0c3d4a9)). This setup was introduced after the latest stable release in [Set up VCTools also for MSBuild tests (9afa76f2) · Commits · graphviz / graphviz · GitLab](https://gitlab.com/graphviz/graphviz/-/commit/9afa76f20d3627d90126c30c9924c357d0c3d4a9), hence the difference. I’ve written an [issue](https://gitlab.com/graphviz/graphviz/-/issues/1803) about it.

> [@smattr](#):
>
> - why are there 64-bit debug CMake development binaries but no 64-bit debug CMake stable binaries?

We introduced them since the latest stable release in [Drive all tests from pytest (!1483) · Merge requests · graphviz / graphviz · GitLab](https://gitlab.com/graphviz/graphviz/-/merge_requests/1483).

> [@smattr](#):
>
> - why are 2.44.1 and 2.38 available, but nothing in-between?

We only host the latest stable release because we don’t have disk space for all of them. The 2.38 release was a [manual mistake](https://gitlab.com/graphviz/graphviz/-/issues/1758#note_373700675) by me and I’ve now removed it. It and other old Windows releases are instead found at [Index of /Archive/stable/windows](https://www2.graphviz.org/Archive/stable/windows/).

---

_[View the full topic](https://forum.graphviz.org/t/windows-x86-x86-64-builds/305)._
