首页 > 解决方案 > 有效的 Visual Studio 许可证的命令行查询?

问题描述

有没有办法通过命令行确定 Visual Studio 2017 的特定安装是否具有有效许可证?没有实际执行 Msbuild.exe 并捕获错误消息?

我们有许多相同的开发人员 VM,并且都安装了 VS 2017 Pro 和 Enterprise。我们的开发人员获得了其中一种或另一种的各种许可。有些机器由单个开发人员独占使用,有些是共享的,有些开发人员可能在多个 VM 上工作。

然后我们有构建脚本,作为 .bat 文件,将执行 Msbuild 以编译一系列 VS 解决方案。当然,可以运行的 Msbuild 版本将采用一种或另一种方式,或者它们都将获得许可。但是无论如何,相同的构建脚本必须在每台机器上运行。某种形式的东西:

if ProProductKeyIsActive (
  set MsBuildPath = "...\Professional\MSBuild\15.0\Bin\Msbuild.exe"
) else (
  set MsBuildPath = "...\Enterprise\MSBuild\15.0\Bin\Msbuild.exe"
)

谢谢!

标签: visual-studiobatch-filecommand-linemsbuildvisual-studio-2017

解决方案


有效的 Visual Studio 许可证的命令行查询?

AFAIK,没有这样的方法,通过命令行,您可以确定 Visual Studio 2017 的特定安装是否具有有效许可证。

众所周知,我们可以从以下位置了解包含许可证信息的注册表项:

HKEY_CLASSES_ROOT\Licenses\5C505A59-E312-4B89-9508-E162F8150517

我们可以使用批处理文件来检查我们是否有这个注册表值来确定 Visual Studio 2017 是否有许可证,例如:

从批处理文件中检查办公室许可证状态

但似乎我们无法知道该许可证是否有效。

希望这可以帮助。


推荐阅读