Installation 使用默认值进行MSI安装

Installation 使用默认值进行MSI安装,installation,windows-installer,powershell-2.0,Installation,Windows Installer,Powershell 2.0,我正在编写powershell脚本以卸载和安装产品。卸载和安装过程只需单击几个下一步按钮,并填充默认值 请您建议如何安装MSI文件,而不提示用户单击几个下一步按钮,并非常安静地完成安装过程 如果我想在安装过程中提供自定义值,那么查找属性名称以及如何以静默方式运行它的过程可能是什么。请参考任何参考资料以进一步了解 我正在使用powershell 2.0,如果需要更多信息,请告诉我。提前谢谢 问候,, Kumar要以静默方式安装.msi文件,您应该能够使用带有msiexec的/quiet开关。 如果

我正在编写powershell脚本以卸载和安装产品。卸载和安装过程只需单击几个下一步按钮,并填充默认值

请您建议如何安装MSI文件,而不提示用户单击几个下一步按钮,并非常安静地完成安装过程

如果我想在安装过程中提供自定义值,那么查找属性名称以及如何以静默方式运行它的过程可能是什么。请参考任何参考资料以进一步了解

我正在使用powershell 2.0,如果需要更多信息,请告诉我。提前谢谢

问候,,
Kumar

要以静默方式安装.msi文件,您应该能够使用带有
msiexec
/quiet
开关。 如果需要自定义任何内容,可以如下设置属性值:
property=Value

总共:
msiexec/ic:\Path\To\File.msi/quiet PROPERTY=Value

要查看所有选项,只需在不带任何参数的情况下运行
msiexec

也与您的非常相似。

只有在MSI帮助下,您才能这样做:)。例如,如果在对话框中将名为SERVERNAME的属性设置为FRED,则可以在命令行中说SERVERNAME=FRED。这假设执行安装工作的InstallExecuteSequence只使用值FRED。当UI序列执行在静默模式下不会发生的额外操作时,会出现问题,因为UI序列不会在静默安装中运行。如果UI序列对话框通过(例如)在前端添加\并在末尾添加\MyShare来更改SERVERNAME,并且在执行序列中使用了\FRED\MyShare,那么您需要知道将命令行设置为SERVERNAME=“\FRED\MyShare”,因为执行序列需要这样做。如果您不知道所有潜在的相关属性值,您可以在UI模式下运行安装,并使用详细日志查看它们。因此,在没有静默安装文档的情况下,您需要对其进行一点反向工程


如果要指定要安装的功能,请使用ADDLOCAL=逗号分隔的功能名称列表。

静默运行的基本命令行是(路径截断):

还可以应用变换(请参见下面的说明):

  • /QN:在安装过程中或安装后以静默方式运行,无GUI
  • /L*V:编写包含所有信息的详细日志文件
  • MYPROPERTY:在命令行中设置属性。您可以设置多个

  • MSI文件被修改以供公司使用的方式是使用转换文件(*.mst)

    • 这是一个小“数据库片段”,它可以在运行时更改MSI文件(它是一个数据库)
    • 转换实际上可以改变MSI中的任何内容,但它通常用于调整一些小事情,如删除快捷方式、消除不需要的运行时等
    • 在msiexec.exe命令行上,通过添加关键字TRANSFORMS,后跟*.mst文件的路径,将转换应用于MSI

您还可以通过多种其他方式卸载MSI文件(除了msiexec.exe命令行)。它包括有关如何使用PowerShell、WMI、VBScript自动化等卸载的信息。。。还有一个问题是避免使用msiexec.exe来防止在自动运行期间弹出不需要的对话框。

感谢您的输入。它似乎工作正常,但当我从共享网络提供msi文件路径时,它就不工作了。是否必须从本地文件系统提供MSI文件路径?似乎其他人也有这个问题。您可以尝试将网络共享映射到本地驱动器,并从那里引用文件。。。
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"