我正在编写一个PowerShell脚本来卸载和安装产品。卸载和安装过程只需单击几个下一个按钮,并填充默认值。
您能否建议如何安装MSI文件而不提示用户点击几个下一个按钮并非常安静地完成安装过程。
如果我想在安装过程中提供自定义值,那么查找属性名称以及如何以静默方式运行它的过程可能是什么。请参阅任何参考资料以进一步探索。
我正在使用PowerShell 2.0,如果需要进一步的信息,请告诉我。提前谢谢。
此致 库马尔
答案 0 :(得分:3)
要以静默方式安装.msi文件,您应该能够将/quiet
开关与msiexec
一起使用。
如果您需要自定义任何内容,可以设置如下属性值:PROPERTY=Value
共有:
msiexec /i C:\Path\To\File.msi /quiet PROPERTY=Value
要查看所有选项,只需运行msiexec
,不带任何参数。
This question也与你的非常相似。
答案 1 :(得分:0)
只有在MSI帮助您的情况下才能执行此操作:)。例如,如果在对话框中将名为SERVERNAME的属性设置为FRED,则可以在命令行上说SERVERNAME = FRED。这假定执行安装工作的InstallExecuteSequence仅使用值FRED。当UI序列执行在静默模式下不会发生的额外事情时会出现问题,因为UI序列不在静默安装中运行。如果UI序列对话框通过(例如)在前端添加\和在末尾添加\ MyShare并在执行序列中使用\ FRED \ MyShare来更改SERVERNAME,那么您需要知道将命令行设置为SERVERNAME =“\ FRED \ MyShare“因为那是执行序列所期望的。如果您不知道所有潜在的相关属性值,则可以在UI模式下使用详细日志运行安装并查看它们。因此,如果没有静默安装的文档,您需要对其进行反向工程。
如果要指定要安装的功能,请使用ADDLOCAL =逗号分隔的功能名称列表。
答案 2 :(得分:0)
静默运行的基本命令行是(路径截断):
msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" MYPROPERTY=1
您还可以应用转换(请参阅下面的说明):
msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\Wix.mst"
MYPROPERTY :在命令行设置属性。您可以设置多个。
MSI文件应该被修改以供公司使用的方式是使用转换文件(* .mst)。
您还可以通过其他各种方式卸载MSI文件(除了msiexec.exe命令行)。 Here is a rough guide for how to uninstall MSI files。它包含有关如何使用PowerShell,WMI,VBScript Automation等卸载的信息...还有another post on serverfault.com关于避免使用msiexec.exe以防止在自动运行期间弹出不需要的对话框的问题。