Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

windows-autoconf

Try to find MS build tools, and provide installing path and other info needed for compiling

NPM Standard - JavaScript Style Guide AppVeyor


As of VS7 (a.k.a. Visual Studio 2017) Microsoft recommends 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.

[18:45:29.29] D:\code\0tni\windows-autoconf>Tools\try_powershell.cmd
    [
    {
    "Product": "BuildTools",
    "Version": "15.0.26206.0",
    "InstallationPath": "D:\\bin\\dev\\VS\\2017\\BuildTools",
    "IsComplete": "true",
    "IsLaunchable": "false",
    "CmdPath": "D:\\bin\\dev\\VS\\2017\\BuildTools\\Common7\\Tools\\VsDevCmd.bat",
    "MSBuild": {"id": "Microsoft.Component.MSBuild", "version":"15.0.26004.1"},
    "VCTools": {"id": "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", "version":"15.0.26109.1"},
    "SDK8": false,
    "SDK10": "10.0.14393.79501",
    "SDK": "10.0.14393.0",
    "Packages": [
...

There are 3 scripts

  1. try_powershell.cmd will try to JIT compile some C# code that calls COM, and prints the interesting stuff to stdio
  2. compile-run.cmd will try to find a C# compiler to compile the query then run the generated exe
  3. try_registry.cmd will look for undocumented registry traces

As 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

About

Try to find MS build tools, and provide instaltion paths and other info needed for compilation

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.