[英]run install-package without it prompting to install nuget
我正在嘗試在一組遠程計算機上使用 install-package 安裝 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"):
我認為您正在尋找msiexec
,而不是Install-Package
,因為后者會從存儲庫中安裝特殊格式的 package 。
如果你想用msiexec
安裝software.msi
,你可以這樣做:
msiexec /i $pathToSoftwareMsi /qn
如果要將安裝日志寫入文件,可以添加日志記錄參數:
msiexec /i $pathToSoftwareMsi /qn /l*v $pathToOutputLogFile
msiexec
安裝 packageq
告訴msiexec
在沒有用戶交互的情況下執行。 n
將 UI 級別設置為No UI
。 這些有助於確保安裝程序在無人值守的安裝過程中不要求輸入。/l
表示要將 output 記錄到文件中, *v
表示所有記錄選項加上詳細。 您可以通過運行msiexec /?
查看全部選項
顯然,您可以從Install-Package
安裝原始 MSI。 為了不提示安裝 Nuget 提供程序,以及防止發生其他提示,請使用 MSI 提供程序運行Install-Package
:
Install-Package -ProviderName msi -Force software.msi
並不是說這是不可能的,但從表面上看,我看不到將額外的 arguments 傳遞到 Powershell 6 及更高版本的 MSI 的方法(Powershell 5.1 確實有一個-AdditionalArguments
參數)。 因此,如果您的 MSI 安裝程序確實需要傳入其他參數,請記住這一點。如果我找到了這樣做的方法,我將更新答案。
Nuget 安裝命令:
install-packageprovider nuget -force
Install-Package 主要用於在 .NET 項目的上下文中安裝 NuGet 包。
要安裝 msi,您可以只運行 msi 或使用 msiexec。 我在這里找到了一個很好的解釋: https://powershellexplained.com/2016-10-21-powershell-installing-msi-files/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.