【问题标题】:Disabling auto updates install switch?禁用自动更新安装开关?
【发布时间】:2019-09-17 08:19:15
【问题描述】:

在我当前的环境中,VsCode 正在通过 SCCM 部署给用户,因此他们能够在没有管理员权限的情况下安装应用程序。当前安装支持 /Silent 等开关,但似乎没有任何其他开关可以在安装应用程序时将自动更新定义为默认关闭。原因是我相信你们都知道 VSCode 会提示用户让他们知道有可用的更新。已经完成了一些详细的挖掘工作,您可以更改 settings.Json 文件以禁用更新,如果这是一个“系统范围”即(C:\Program Files\Microsoft VS Code)设置文件,那就太好了,但是作为详细 Here 它指向 %appdata%(用户设置)。

因此,理论上您可以在安装时查询用户,然后只需执行一些强大的魔法将所需的 json 数据放入该设置文件中,用户就会离开并且不必手动关闭自动更新 然而 SCCM 安装安装为提升帐户(系统)而不是作为运行它们的个人用户,因此以这种方式管理它似乎不可行。

因此,从根本上说,如果有一种方法/开关可以在安装时或作为安装后步骤禁用自动更新功能,我将非常感谢有关如何实现这一点的任何线索。

谢谢!

【问题讨论】:

  • 我同意理想情况下应该通过设置开关完成此操作,因此我仅将其发布为评论而不是回答,但 sccm 允许使用用户权限进行安装,也适用于每个登录的用户,因此理论上您可以创建第二个程序来设置设置并在之后部署它。如果其他一切都失败了,您还可以在可执行文件周围包装一个简短的启动脚本(最好是 vbs,因为它是静默的)并在每个程序启动时设置设置(也将阻止用户将该设置更改回超过一个会话)
  • 可以加载一个带有所需配置的 .inf 文件,因为它是一个 INNO 安装程序吗?我将面临的唯一问题是针对用户,即不是系统 %appdata%
  • 我对这个特定的安装程序没有经验,一般只使用 sccm,所以我不能说。如果用户配置文件有任何类型的模板,您可以替换它,以便将来基于模板的所有内容都已经包含您的设置,但是我做了一个快速的谷歌搜索,并没有在那个方向找到任何东西,所以它可能是没有像我描述的那样的解决方法是不可能的

标签: visual-studio-code vscode-settings sccm


【解决方案1】:

要使用 SCCM 实现这一点,您可以执行以下操作(我将针对包\程序进行描述,但也可以通过应用程序实现,选项非常相似):

  1. 如果您不想部署设置(例如 VSCodeSetup.exe /VERYSILENT /MERGETASKS=!runco​​de 作为命令行,并在程序“环境”选项卡中选择“以管理权限运行")
  2. 创建第二个程序,以您希望的方式复制(或创建)设置文件到 %appdata%
  3. 在“环境”中的第二个程序选项中,将“程序可以运行:”设置为“仅当用户登录时”和“运行模式”设置为“以用户权限运行”
  4. 在“高级”选项卡上,将“当此程序分配给计算机时:”设置为“为每个登录的用户运行一次”
  5. 将这两个程序部署到您的集合中

使用此设置,SCCM 基本上可以将您想要的内容拆分为两个不同的设置,以获得所需的相应权限。安装程序并且尚未应用设置的时间很短(可以通过在配置设置中将“首先运行另一个程序:”设置为基本设置来缩短,但这会使事情变得更加复杂,如果新用户在 Windows 更新作业期间的某个时间登录,在部署设置之前会有延迟),但保证永远不会应用设置的唯一方法是用一个脚本替换默认程序启动设置您的选项。

【讨论】:

  • 我很喜欢这个解决方案,并且在过去也实现过类似的解决方案。但是,我几乎总是不得不使用脚本创建应用程序 .exe 的新快捷方式,该脚本会检查 appdata 中的文件是否存在,并在需要时进行复制。这意味着任何用户都可以在系统上使用该应用程序,这是交换机器的组织的要求。
  • 只要您设置为“为 每个 用户运行一次...”您仍然可以交换 - 无论谁登录都会获得文件 - 但我同意这是一个实用的解决方案我也可能会使用脚本,因为它提供了更直接的控制。但是,作为关于 sccm 可以做什么和不可以做什么的一般答案,我认为应该注意这一点
  • 这似乎是最合理的做法!感谢您的解释,我会四处寻找,看看我能做什么。回到我的问题禁令,好像我没有得到赞成票。悲伤的时刻。感谢您的帮助@SolidSid 和 Syberdoor
【解决方案2】:

设置 JSON(可能是与 SCCM 一起部署的那个)只需要这个条目:

"update.mode": "none"

虽然默认情况下它启用了自动更新通道:

"update.mode": "default"

安装后脚本可以做到这一点 - 但是虽然它位于 %appdata%,但用户仍然可以更改它。

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2017-05-08
    • 2021-10-19
    • 1970-01-01
    • 2019-01-01
    • 2018-03-08
    相关资源
    最近更新 更多