MSI installation quietly with default values
我正在编写Powershell脚本来卸载和安装产品。 卸载和安装过程只需单击接下来的几个按钮,其中将填充默认值。
您能否建议如何安装MSI文件,而不提示用户单击几个下一个按钮,并非常安静地完成安装过程。
如果我想在安装过程中提供自定义的值,那么查找属性名称以及如何以静默方式运行属性的过程可能是什么? 请参考任何参考资料以进一步探索。
我正在使用Powershell 2.0,如果需要更多信息,请告诉我。 提前致谢。
问候,
库玛
要以静默方式安装.msi文件,您应该能够将
如果需要自定义任何内容,则可以设置如下属性值:
共:
要查看所有选项,只需运行不带任何参数的
这个问题也和你的非常相似。
静默运行的基本命令行是(路径被截断):
1 | msiexec.exe /I"C:\\WiX.msi" /QN /L*V"C:\\msilog.log" MYPROPERTY=1 |
您还可以应用转换(请参见下面的说明):
1 | msiexec.exe /I"C:\\WiX.msi" /QN /L*V"C:\\msilog.log" TRANSFORMS="C:\\Wix.mst" |
- / QN:静默运行,在安装过程中或安装后均不提供GUI
- / L * V:写入包含所有信息的详细日志文件
-
MYPROPERTY:在命令行中设置一个属性。您可以设置多个。
-
应当修改MSI文件以供公司使用的方式是使用转换文件(* .mst)。
- 这是一个小的"数据库片段",可以在运行时将MSI文件(它是数据库)应用于该文件后对其进行更改。
- 转换可以从字面上改变MSI中的任何内容,但大多数情况下,它用于调整一些小事情,例如删除快捷方式,消除不希望的运行时等。
- 通过添加关键字TRANSFORMS和* .mst文件的路径,将转换应用于msiexec.exe命令行上的MSI。
您还可以通过多种其他方式(除了msiexec.exe命令行)卸载MSI文件。这是有关如何卸载MSI文件的粗略指南。它包含有关如何使用PowerShell,WMI,VBScript Automation等进行卸载的信息。并且在serverfault.com上还有另一则帖子,内容涉及避免使用msiexec.exe来防止在自动运行过程中弹出不需要的对话框的问题。 。
仅当MSI帮助您时,您才能这样做:)。例如,如果在对话框中将名为SERVERNAME的属性设置为FRED,则可以在命令行上说SERVERNAME = FRED。假定执行安装工作的InstallExecuteSequence仅使用值FRED。当UI序列执行在静默模式下不会发生的其他事情时,会出现问题,因为UI序列不在静默安装中运行。如果UI序列对话框通过(例如)在前面添加\并在末尾添加\ MyShare来更改SERVERNAME,并且在执行序列中使用了\ FRED \ MyShare,那么您需要知道将命令行设置为SERVERNAME =" \ FRED \ MyShare",因为这就是执行顺序所期望的。如果您不知道所有潜在的相关属性值,则可以在UI模式下使用详细日志运行安装并查看它们。因此,在没有用于静默安装的文档的情况下,您需要对它进行一些逆向工程。
如果要指定要安装的功能,请使用ADDLOCAL =逗号分隔的功能名称列表。