能否将未被Chocolatey管理的应用纳入管理?如何操作?
如何将未被Chocolatey管理的应用纳入其管理体系?
当然可以把这些未被Chocolatey追踪的应用纳入它的管理体系!那些显示的"未被管理的应用",一般是你手动安装、或者通过Chocolatey以外渠道装的软件,Chocolatey没记录它们的安装信息而已。下面是具体的操作步骤:
步骤1:找到对应应用的Chocolatey包
首先得确认你要接管的应用,在Chocolatey仓库里有对应的包。打开管理员权限的命令提示符/PowerShell,执行:
choco search <你的应用名称>
比如你要接管Google Chrome,就运行choco search googlechrome。注意有些应用的包名和显示名称不一样,比如Visual Studio Code的包名是vscode,如果搜不到可以试试缩写或者官方别名。
步骤2:强制安装包以接管应用
找到正确的包名后,执行下面的命令:
choco install <包名> --force --no-progress
这里的--force参数是关键——它会让Chocolatey把这个包标记为已安装,同时不会重新下载覆盖你现有的应用文件(只要你的安装路径和包默认的路径一致)。如果你的应用装在自定义路径,那可以加上--installargs指定路径,比如:
choco install 7zip --force --installargs="INSTALLDIR=C:\MyApps\7-Zip" --no-progress
步骤3:验证结果
执行choco list -li,看看那个应用是不是已经出现在已管理的列表里,未被管理的数量应该也会减少啦。
特殊情况处理
- 如果找不到对应的官方包:你可以自己创建一个自定义Chocolatey包来管理它,用
choco new命令生成模板,然后修改nuspec文件和安装脚本就行,不过这需要一点基础的包开发知识。 - 如果应用是绿色版/便携版:这种情况可能需要更定制化的包脚本,或者考虑用
choco pin来锁定版本,避免后续被意外更新。
内容的提问来源于stack exchange,提问作者Mate Mrše
相关产品推荐
相关产品推荐

