调用 MSI 文件时尝试传入变量时出错
Error trying to pass in variables when calling MSI file
我对使用 Powershell 非常,但很想学习。
我正在尝试使用 PowerShell 并传入一些变量来安装 MSI 程序包。最终结果是这是一个使用 PowerShell 通过 Jenkins 部署的无人值守安装。请记住我已经更改了此示例的端口号:
msiexec /i /quiet $SYSTEMID ="PC01" $PORT1 =0000 $PORT2 =0001 $TARGETDIR ="C:\Application\" "C:\MSIPackage64bit.msi"
当尝试 运行 以上内容时,我得到了一个 Windows ® 安装程序。弹出窗口,其中列出了 MSIExec 变量选项的负载。
我在网上查了很长时间,现在我认为我遇到问题是因为我对 PowerShell 缺乏了解。
/I 后面需要跟要安装的MSI 的路径。还要去掉 属性 名称前面的 $。最后,TARGETDIR 并不总是 TARGETDIR。一些 MSI 被编写为 INSTALLDIR、INSTALLLOCATION 和其他可能的目录 table 条目名称。添加日志记录 ( /l*v path_to_log ) 通常也是一个不错的选择。
PS- 请注意,由于您正在进行静默安装,因此您需要成为每个用户的安装程序而无需提升,或者您需要已经提升。
我对使用 Powershell 非常,但很想学习。
我正在尝试使用 PowerShell 并传入一些变量来安装 MSI 程序包。最终结果是这是一个使用 PowerShell 通过 Jenkins 部署的无人值守安装。请记住我已经更改了此示例的端口号:
msiexec /i /quiet $SYSTEMID ="PC01" $PORT1 =0000 $PORT2 =0001 $TARGETDIR ="C:\Application\" "C:\MSIPackage64bit.msi"
当尝试 运行 以上内容时,我得到了一个 Windows ® 安装程序。弹出窗口,其中列出了 MSIExec 变量选项的负载。
我在网上查了很长时间,现在我认为我遇到问题是因为我对 PowerShell 缺乏了解。
/I 后面需要跟要安装的MSI 的路径。还要去掉 属性 名称前面的 $。最后,TARGETDIR 并不总是 TARGETDIR。一些 MSI 被编写为 INSTALLDIR、INSTALLLOCATION 和其他可能的目录 table 条目名称。添加日志记录 ( /l*v path_to_log ) 通常也是一个不错的选择。
PS- 请注意,由于您正在进行静默安装,因此您需要成为每个用户的安装程序而无需提升,或者您需要已经提升。