msiexec command line arguments

本文详细介绍了MSIEXEC命令行工具的各种参数用法,包括安装、卸载、修复产品,设置显示模式,重启选项,日志记录,更新及修复选项等。还提供了未公开的命令行参数实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Documented command line arguments

Type MSIEXEC /? and you'll get the following on-screen help:

	Windows ® Installer. V 5.0.7601.17514
	
	msiexec /Option <Required Parameter> [Optional Parameter]
	
	Install Options
		</package | /i> <Product.msi>
			Installs or configures a product
		/a <Product.msi>
			Administrative install - Installs a product on the network
		/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
			Advertises a product - m to all users, u to current user
		</uninstall | /x> <Product.msi | ProductCode>
			Uninstalls the product
	
	Display Options
		/quiet
			Quiet mode, no user interaction
		/passive
			Unattended mode - progress bar only
		/q[n|b|r|f]
			Sets user interface level
			n - No UI
			b - Basic UI
			r - Reduced UI
			f - Full UI (default)
		/help
			Help information
	
	Restart Options
		/norestart
			Do not restart after the installation is complete
		/promptrestart
			Prompts the user for restart if necessary
		/forcerestart
			Always restart the computer after installation
	
	Logging Options
		/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
			i - Status messages
			w - Nonfatal warnings
			e - All error messages
			a - Start up of actions
			r - Action-specific records
			u - User requests
			c - Initial UI parameters
			m - Out-of-memory or fatal exit information
			o - Out-of-disk-space messages
			p - Terminal properties
			v - Verbose output
			x - Extra debugging information
			+ - Append to existing log file
			! - Flush each line to the log
			* - Log all information, except for v and x options
		/log <LogFile>
			Equivalent of /l* <LogFile>
	
	Update Options
		/update <Update1.msp>[;Update2.msp]
			Applies update(s)
		/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
			Remove update(s) for a product
	
	Repair Options
		/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
			Repairs a product
			p - only if file is missing
			o - if file is missing or an older version is installed (default)
			e - if file is missing or an equal or older version is installed
			d - if file is missing or a different version is installed
			c - if file is missing or checksum does not match the calculated value
			a - forces all files to be reinstalled
			u - all required user-specific registry entries (default)
			m - all required computer-specific registry entries (default)
			s - all existing shortcuts (default)
			v - runs from source and recaches local package
	
	Setting Public Properties
		[PROPERTY=PropertyValue]
	
	Consult the Windows ® Installer SDK for additional documentation on the
	command line syntax.
	
	Copyright © Microsoft Corporation. All rights reserved.
	Portions of this software are based in part on the work of the Independent JPEG Group.

Undocumented command line arguments
REMOVE=ALL
ACTION=ADMIN
REINSTALL=ALL
REBOOTPROMPT=""
REBOOT=Force
REBOOT=ReallySuppress
MSIPATCHREMOVE=
PATCH=

Examples:

msiexec /p "D:\software\test.msp" REBOOT=ReallySuppres /qn

msiexec /i "D:\software\test.msi" /qn /norestart

 

转载于:https://www.cnblogs.com/rusking/p/10463272.html

小蓝窗1:“PS C:\Users\Administrator> # 以管理员身份运行此修复脚本 PS C:\Users\Administrator> $ErrorActionPreference = "Stop" PS C:\Users\Administrator> PS C:\Users\Administrator> # 1. 修复模块加载路径 PS C:\Users\Administrator> $modulePath = "$env:WINDIR\System32\WindowsPowerShell\v1.0\Modules" PS C:\Users\Administrator> $securityModule = "$modulePath\Microsoft.PowerShell.Security" PS C:\Users\Administrator> PS C:\Users\Administrator> # 2. 重建模块目录 PS C:\Users\Administrator> Remove-Item $securityModule -Recurse -Force -ErrorAction SilentlyContinue PS C:\Users\Administrator> New-Item -ItemType Directory -Path $securityModule -Force | Out-Null PS C:\Users\Administrator> PS C:\Users\Administrator> # 3. 重新创建模块文件 PS C:\Users\Administrator> @' >> [CmdletBinding()] >> param( >> [Parameter(Mandatory=$true)] >> [ValidateSet('Unrestricted','RemoteSigned','AllSigned','Restricted','Default','Bypass','Undefined')] >> [string]$ExecutionPolicy, >> [ValidateSet('Process','CurrentUser','LocalMachine','UserPolicy','MachinePolicy')] >> [string]$Scope = 'LocalMachine' >> ) >> '@ | Out-File "$securityModule\Set-ExecutionPolicy.ps1" -Encoding UTF8 >> PS C:\Users\Administrator> # 4. 创建模块清单 PS C:\Users\Administrator> @' >> @{ >> ModuleVersion = '1.0.0' >> RootModule = 'Microsoft.PowerShell.Security.psm1' >> FunctionsToExport = @('Set-ExecutionPolicy','Get-ExecutionPolicy','Get-Acl','Set-Acl','Get-PfxCertificate') >> } >> '@ | Out-File "$securityModule\Microsoft.PowerShell.Security.psd1" -Encoding UTF8 >> Out-File : 对路径“C:\Windows\System32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Security\Microsoft.PowerShell.Se curity.psd1”的访问被拒绝。 所在位置 行:7 字符: 6 + '@ | Out-File "$securityModule\Microsoft.PowerShell.Security.psd1" -E ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (:) [Out-File], UnauthorizedAccessException + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand PS C:\Users\Administrator> # 5. 重置注册表策略 PS C:\Users\Administrator> $regPath = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds" PS C:\Users\Administrator> Set-ItemProperty -Path $regPath -Name "ExecutionPolicy" -Value "RemoteSigned" -Force PS C:\Users\Administrator> PS C:\Users\Administrator> Write-Host "✅ PowerShell 安全模块已修复" -ForegroundColor Green ✅ PowerShell 安全模块已修复 PS C:\Users\Administrator> PS C:\Users\Administrator> # 1. 使用 .NET 方法设置执行策略 PS C:\Users\Administrator> $policyClass = [System.Management.Automation.ExecutionPolicy] 找不到类型 [System.Management.Automation.ExecutionPolicy]。 所在位置 行:1 字符: 16 + $policyClass = [System.Management.Automation.ExecutionPolicy] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Manageme...ExecutionPolicy:TypeName) [],ParentContainsErrorRec ordException + FullyQualifiedErrorId : TypeNotFound PS C:\Users\Administrator> $policyClass::Bypass | Out-Null PS C:\Users\Administrator> PS C:\Users\Administrator> # 2. 直接运行脚本内容 PS C:\Users\Administrator> $scriptContent = @' >> # --- Install-CurlTools.ps1 内容 --- >> Write-Host "正在安装 CurlTools..." >> # [实际安装代码] >> '@ >> PS C:\Users\Administrator> # 3. 执行脚本内容 PS C:\Users\Administrator> [System.Management.Automation.ScriptBlock]::Create($scriptContent).Invoke() 正在安装 CurlTools... PS C:\Users\Administrator> PS C:\Users\Administrator> # 1. 创建脚本快捷方式 PS C:\Users\Administrator> $shortcutPath = "$env:USERPROFILE\Desktop\InstallCurl.lnk" PS C:\Users\Administrator> $targetPath = "powershell.exe" PS C:\Users\Administrator> $arguments = "-NoProfile -ExecutionPolicy Bypass -File `"$env:USERPROFILE\Desktop\Install-CurlTools.ps1`"" PS C:\Users\Administrator> PS C:\Users\Administrator> # 2. 创建快捷方式对象 PS C:\Users\Administrator> $WshShell = New-Object -ComObject WScript.Shell PS C:\Users\Administrator> $Shortcut = $WshShell.CreateShortcut($shortcutPath) PS C:\Users\Administrator> $Shortcut.TargetPath = $targetPath PS C:\Users\Administrator> $Shortcut.Arguments = $arguments PS C:\Users\Administrator> $Shortcut.Save() PS C:\Users\Administrator> PS C:\Users\Administrator> # 3. 运行快捷方式 PS C:\Users\Administrator> Start-Process $shortcutPath PS C:\Users\Administrator> sfc /scannow 开始系统扫描。此过程将需要一些时间。 开始系统扫描的验证阶段。 验证 100% 已完成。 Windows 资源保护找到了损坏文件并成功修复了它们。 对于联机修复,位于 windir\Logs\CBS\CBS.log 的 CBS 日志文件中 有详细信息。例如 C:\Windows\Logs\CBS\CBS.log。对于脱机修复, /OFFLOGFILE 标记提供的日志文件中有详细信息。 PS C:\Users\Administrator> dism /Online /Cleanup-Image /RestoreHealth Deployment Image Servicing and Management tool Version: 10.0.22621.2792 Image Version: 10.0.22631.2861 [==========================100.0%==========================] Error: 0x800f081f 找不到源文件。 请使用“源”选项指定还原该功能所需的文件位置。有关指定源位置的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=243077。 The DISM log file can be found at C:\Windows\Logs\DISM\dism.log PS C:\Users\Administrator> sfc /scannow 开始系统扫描。此过程将需要一些时间。 开始系统扫描的验证阶段。 验证 100% 已完成。 Windows 资源保护未找到任何完整性冲突。 PS C:\Users\Administrator> dism /Online /Cleanup-Image /RestoreHealth Deployment Image Servicing and Management tool Version: 10.0.22621.2792 Image Version: 10.0.22631.2861 [==========================100.0%==========================] Error: 0x800f081f 找不到源文件。 请使用“源”选项指定还原该功能所需的文件位置。有关指定源位置的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=243077。 The DISM log file can be found at C:\Windows\Logs\DISM\dism.log PS C:\Users\Administrator> # 删除所有配置文件 PS C:\Users\Administrator> Remove-Item $PROFILE.AllUsersAllHosts -Force -ErrorAction SilentlyContinue PS C:\Users\Administrator> Remove-Item $PROFILE.AllUsersCurrentHost -Force -ErrorAction SilentlyContinue PS C:\Users\Administrator> Remove-Item $PROFILE.CurrentUserAllHosts -Force -ErrorAction SilentlyContinue PS C:\Users\Administrator> Remove-Item $PROFILE.CurrentUserCurrentHost -Force -ErrorAction SilentlyContinue PS C:\Users\Administrator> # 重新注册系统组件 PS C:\Users\Administrator> $source = "https://aka.ms/install-powershell.ps1" PS C:\Users\Administrator> Invoke-RestMethod $source | Invoke-Expression ” 小蓝窗2:“Windows PowerShell 版权所有(C) Microsoft Corporation。保留所有权利。 安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows PS C:\Users\Administrator> # 1. 尝试导入模块 PS C:\Users\Administrator> Import-Module Microsoft.PowerShell.Security -Force -ErrorAction Stop PS C:\Users\Administrator> PS C:\Users\Administrator> # 2. 设置执行策略 PS C:\Users\Administrator> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force PS C:\Users\Administrator> PS C:\Users\Administrator> # 3. 运行测试脚本 PS C:\Users\Administrator> Write-Host "✅ PowerShell 功能已恢复" -ForegroundColor Green ✅ PowerShell 功能已恢复 PS C:\Users\Administrator> winget install --id Microsoft.PowerShell --source winget winget : 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + winget install --id Microsoft.PowerShell --source winget + ~~~~~~ + CategoryInfo : ObjectNotFound: (winget:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator> Checkpoint-Computer -Description "Before PowerShell Repair" -RestorePointType MODIFY_SETTINGS PS C:\Users\Administrator> # 创建虚拟环境 PS C:\Users\Administrator> Install-Module PSSandbox -Force PackageManagement\Install-Package : 找不到与指定的搜索条件和程序包名称“PSSandbox”匹配的项目。请尝试使用 Get-PSReposit ory 查看所有可用的注册程序包源。 所在位置 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 字符: 21 + ... $null = PackageManagement\Install-Package @PSBoundParameters + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Ex ception + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage PS C:\Users\Administrator> New-Sandbox -Name DevEnv -EnableNetworking New-Sandbox : 无法将“New-Sandbox”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径, 请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + New-Sandbox -Name DevEnv -EnableNetworking + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (New-Sandbox:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator> Enter-Sandbox DevEnv Enter-Sandbox : 无法将“Enter-Sandbox”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路 径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Enter-Sandbox DevEnv + ~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Enter-Sandbox:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator>”
最新发布
08-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值