我试图在一组远程计算机上使用install安装msi,但是我一直得到交互式提示来安装nuget。有什么办法关掉那个提示吗?
install-package software.msi
The provider 'nuget v2.8.5.208' is not installed.
nuget may be manually downloaded from
https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll and installed.
Would you like PackageManagement to automatically download and install 'nuget' now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
发布于 2019-10-22 14:51:31
显然,您可以从Install-Package
安装原始的MSI。为了不提示Nuget提供程序安装,以及防止发生其他提示,请与MSI提供程序一起运行Install-Package
:
Install-Package -ProviderName msi -Force software.msi
这并不是说这是不可能的,但从表面上看,我看不到向Powershell 6及更高版本的MSI传递附加参数的方法(Powershell 5.1确实有一个-AdditionalArguments
参数)。因此,如果您的MSI安装程序确实需要传递其他参数,请记住这一点。如果我想办法做到这一点,我会更新答案。
发布于 2019-10-22 14:19:24
我认为您是在寻找msiexec
,而不是Install-Package
,因为后者从存储库中安装了一个特别格式化的包。
如果您想用software.msi
安装msiexec
,可以这样做:
msiexec /i $pathToSoftwareMsi /qn
如果要将安装日志写入文件,可以添加日志记录参数:
msiexec /i $pathToSoftwareMsi /qn /l*v $pathToOutputLogFile
解释参数
msiexec
安装packageq
告诉msiexec
在没有用户交互的情况下执行。n
将UI级别设置为No UI
。这些都有助于确保安装程序在无人值守的installation./l
表示要将日志输出到文件,而*v
则表示所有日志记录选项加上详细的.。
通过运行msiexec /?
,您可以看到所有选项
发布于 2021-12-06 14:32:41
Nuget安装命令:
install-packageprovider nuget -force
https://stackoverflow.com/questions/58506193
复制相似问题