如何找出在用户计算机上安装了哪些Visual Studio扩展?

问题描述 投票:0回答:1

如何找出在用户计算机上安装了哪些Visual Studio扩展?

我想跟踪在AD环境中用户计算机上安装了哪些VS扩展。我认为通过Windows Installer(* .msi)安装扩展程序很容易。但是VSIX扩展(vsixinstaller.exe)呢?

windows visual-studio active-directory vsix sccm
1个回答
0
投票

我不知道列出所有已安装的VSIX扩展的直接方法,但是vsixInstaller可以选择生成一个日志文件,该日志文件标识它所定位的extension.vsixmanifest文件,每个这样的文件都是一个XML文件,其中包含有关扩展的相关详细信息(名称,版本等)。

要使vsixInstaller生成日志文件,请假装卸载不存在的扩展名。这可能需要一段时间,尤其是如果安装了多个版本的VS(以下内容必须全部放在一行上)。

C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\
   app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service>
   vsixInstaller /logFile:vsix.log /appIdName:VS /uninstall:nosuchxt

例如,生成的日志文件将是%TEMP%\vsix.logFound行指向vsixInstaller所在的扩展名(用%VS20xx%替换根路径):

vsixinstaller.exe version:
16.5.2047
...
BEGIN: Processing extension pack
...
Found '%ProgramFiles(x86)%\COMMON FILES\MICROSOFT\EXTENSIONMANAGER\EXTENSIONS\Microsoft\Windows Kits\10\Desktop SDK\extension.vsixmanifest'
...
Found '%VS2015%\COMMON7\IDE\EXTENSIONS\VSSDK\extension.vsixmanifest'
...
Found '%VS2019%\COMMON7\IDE\EXTENSIONS\VSSDK\extension.vsixmanifest'
...
END: Processing extension pack

列表中引用的每个extension.vsixmanifest文件均以metadata节点开头,该节点标识相应扩展名的名称和版本,例如:

<Metadata>
  <Identity Id="Microsoft.VisualStudio.SDK" 
            Version="16.0"
            Language="en-US"
            Publisher="Microsoft Corporation" />
  <DisplayName>Microsoft Visual Studio SDK</DisplayName>
  <Description>Tools for building Visual Studio extensions</Description>
</Metadata>

通过一些(并非完全不重要的)管道工程,可以在脚本/批处理作业中将其全部自动化。

© www.soinside.com 2019 - 2024. All rights reserved.