根据包装名称在Powershell中调用巧克力包装

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

我最近设置了一台新机器,并安装/启用了Chocolatey。据我所记得,我能够基于软件包名称通过powershell调用软件包。例如,如果我想安装mongodb,我曾经键入choco install mongodb-并能够通过在Powershell控制台中简单地键入mongo来调用mongo客户端。有没有办法查看是否有东西绑定到特定的垫片上?还是有启用它的选项?

powershell chocolatey
1个回答
0
投票

我不认为有一种方法可以将软件包与垫片匹配,但是您可以检查垫片所指向的可执行文件,以及有关它的常规信息以及运行垫片会发生的情况:

shimname.exe --shimgen-noop

我曾尝试编写一个命令来检查$env:ChocolateyInstall\bin目录中的所有填充,但不能保证可执行文件中会出现填充。我也尝试过滤掉已知的Chocolatey可执行文件,但是某些包(例如putty)将其实际可执行文件直接放到bin文件夹中,并且不会像您期望的那样响应shim参数。


Install-BinFile cmdlet,它看起来像Chocolatey根本无法跟踪垫片,因为它本身并没有这样做。我认为它使用相同的逻辑来在软件包卸载时跟踪自动生成的垫片,但是使用Install-BinFile显式创建的任何垫片也需要在关联的Install-BinFile脚本中调用Uninstall-BinFile,否则垫片将不会在删除软件包卸载时间。

对于潜在的自动填充程序名称,[chocolateyUninstall.ps1 /$env:ChocolateyInstall\lib\packageName/ chocolateyInstall.ps1脚本的爬行,对于明确的填充程序,您将无法将填充程序与程序包进行匹配。

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