我可以通过lorawan module禁用特定扩展名的自动扩展名更新。但是,当我想在无人参与模式下在团队的所有计算机上禁用扩展名FOO的自动更新时,该怎么办?
我想要一个使用AD GPO或修改Windows注册表以使特定的Visual Studio扩展停止接收自动更新的选项。现在有可能吗?
答案 0 :(得分:1)
我今天也遇到了类似的问题。我没有一个完全自动化的解决方案,因为我不需要它,但我想我已经收集了足够的信息,因此您将能够正确准备一个可以完成此任务的小型应用程序。
从Visual Studio 2017开始,配置不再存储在中央注册表中,而是存储在%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_ <somekind_of_id>\privateregistry.bin
的私有文件中。我不确定如何确定somekind_of_id
(在我的情况下是3eeca950
,为简单起见,我在所有路径中都保留了这种价值,只是用您的路径代替)。该文件已被Visual Studio锁定,因此在尝试对其进行修改之前必须将其关闭(VS释放锁定需要花费几秒钟)。
可以使用RegLoadAppKeyA
将此文件导入到配置单元中。此函数将创建一个HKEY
,可以与RegSetKeyValueA
一起使用来修改所需的值。
您感兴趣的密钥是Software\Microsoft\VisualStudio\15.0_3eeca950\ExtensionManager\ExtensionAutoUpdateEnrollment
。在其下列出了所有已安装的扩展,每个扩展都是DWORD值,其中0
值表示没有自动更新,1
表示它已自动更新。
每个扩展名都以扩展名ID以及当前版本命名。例如WixToolset.VisualStudioExtension.Dev15,0.9.21.62588
。
您可以在扩展程序包的manifest.json
文件中检查此ID(例如,您可以使用7-Zip打开.vsix文件)。如果没有.vsix文件,则可以在%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_3eeca950\Extensions\
下找到扩展名数据。
答案 1 :(得分:0)
我完全阻止VS检查更新。
对于VS2019:
vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0
对于VS2017:
vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0
答案 2 :(得分:0)
要停止从Visual Studio Marketplace扩展到TFS本地服务器的自动更新
在1Tfs_configuration1中运行以下命令
update [Tfs_Configuration].[dbo].[tbl_JobDefinition]
set EnabledState = 2
where PartitionId > 0 and JobId = 'A8F60BD0-BCBA-4343-82B3-FD6B40D657D8'
它应使用JobId A8F60BD0-BCBA-4343-82B3-FD6B40D657D8
停止扩展名的自动更新。