{"id":19176036,"url":"https://github.com/node4good/windows-autoconf","last_synced_at":"2025-05-07T19:21:21.300Z","repository":{"id":57250523,"uuid":"81874722","full_name":"node4good/windows-autoconf","owner":"node4good","description":"Try to find MS build tools, and provide instaltion paths and other info needed for compilation","archived":false,"fork":false,"pushed_at":"2017-04-18T14:39:38.000Z","size":107,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-24T15:02:29.689Z","etag":null,"topics":["autoconf","resolving","visual-studio","visual-studio-2017","windows","windows-autoconf"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/node4good.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-13T21:39:37.000Z","updated_at":"2022-12-11T05:19:39.000Z","dependencies_parsed_at":"2022-08-24T16:51:58.298Z","dependency_job_id":null,"html_url":"https://github.com/node4good/windows-autoconf","commit_stats":null,"previous_names":["node4good/get-vs7-path","node4good/get-vs2017-path"],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node4good%2Fwindows-autoconf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node4good%2Fwindows-autoconf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node4good%2Fwindows-autoconf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node4good%2Fwindows-autoconf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/node4good","download_url":"https://codeload.github.com/node4good/windows-autoconf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252504186,"owners_count":21758657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoconf","resolving","visual-studio","visual-studio-2017","windows","windows-autoconf"],"created_at":"2024-11-09T10:26:58.311Z","updated_at":"2025-05-07T19:21:21.277Z","avatar_url":"https://github.com/node4good.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# windows-autoconf\nTry to find MS build tools, and provide installing path and other info needed for compiling \n\n[![NPM](https://nodei.co/npm/get-vs2017-path.png)](https://nodei.co/npm/get-vs2017-path/)\n[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)\n[![AppVeyor](https://ci.appveyor.com/api/projects/status/u7812xmwxij7ljlh?svg=true)](https://ci.appveyor.com/project/refack/windows-autoconf)\n\n---\nAs of VS7 (a.k.a. Visual Studio 2017) [Microsoft recommends](https://blogs.msdn.microsoft.com/heaths/2016/09/15/changes-to-visual-studio-15-setup/) to query the VS setup state via COM, but not everybody is fluent in COM, and not every language has COM bindings, so I created some scripts that utilize Windows builtin tools to query this information. The resolved information is printed to stdout in JSON, e.g.\n```\n[18:45:29.29] D:\\code\\0tni\\windows-autoconf\u003eTools\\try_powershell.cmd\n    [\n    {\n    \"Product\": \"BuildTools\",\n    \"Version\": \"15.0.26206.0\",\n    \"InstallationPath\": \"D:\\\\bin\\\\dev\\\\VS\\\\2017\\\\BuildTools\",\n    \"IsComplete\": \"true\",\n    \"IsLaunchable\": \"false\",\n    \"CmdPath\": \"D:\\\\bin\\\\dev\\\\VS\\\\2017\\\\BuildTools\\\\Common7\\\\Tools\\\\VsDevCmd.bat\",\n    \"MSBuild\": {\"id\": \"Microsoft.Component.MSBuild\", \"version\":\"15.0.26004.1\"},\n    \"VCTools\": {\"id\": \"Microsoft.VisualStudio.Component.VC.Tools.x86.x64\", \"version\":\"15.0.26109.1\"},\n    \"SDK8\": false,\n    \"SDK10\": \"10.0.14393.79501\",\n    \"SDK\": \"10.0.14393.0\",\n    \"Packages\": [\n...\n```\n\nThere are 3 scripts\n 1. `try_powershell.cmd` will try to JIT compile some C# code that calls COM, and prints the interesting stuff to stdio\n 2. `compile-run.cmd` will try to find a C# compiler to compile the query then run the generated exe\n 3. `try_registry.cmd` will look for undocumented registry traces \n\nAs the tools was getting traction, I added more use cases such as resolving version and location of Windows SDKs, enumerating \"Include\" directories, and outputting configuration files for verius build systems\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode4good%2Fwindows-autoconf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnode4good%2Fwindows-autoconf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode4good%2Fwindows-autoconf/lists"}