背景
我创建了一个 Github Actions 工作流程,用于生成一个 .msi
文件,然后我想执行该文件来测试应用程序是否按预期工作。
以下是工作流实现的代码:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2.3.4
- name: Create binary from branch
run: |
choco install make
make build-windows
- name: Generate msi
shell: powershell
run: .\.github\scripts\windows\gen-win.ps1
- name: Install msi
run: |
echo "Start Msiexec"
msiexec /qn /i "file.msi" /L*vx!
echo "End Msiexec"
基本上,这个工作流程创建了
.exe
文件(Create binary from branch
步骤),然后使用PowerShell脚本生成.msi
文件(Generate msi
步骤),最后尝试安装.msi
文件(Install msi
步骤)。
问题
问题出现在Install msi
步骤,执行者日志仅返回:
Start Msiexec
End Msiexec
...而不显示任何日志,或者创建目录和文件,正如安装应该在$HOME
目录上执行的那样。
我尝试过的
使用Windows-latest runner的默认Shell(即cmdlet
),我尝试在工作流程中运行这些命令,但是没有成功,使用 "file.msi"
或者 "path/to/file.msi"
:
msiexec /i "file.msi"
msiexec /qn /i "file.msi"
msiexec /qn /i "file.msi" /L*vx!
虽然我对Windows操作系统不是很熟悉,但根据我在网上搜索的结果,这个msiexec命令应该有效。
我还尝试使用这些命令在Windows 10计算机上手动安装生成的.msi
文件并成功了(因此生成的.msi
文件在本地是有效且可用的)。但是,它会自动打开另一个提示窗口,显示安装和设置日志(它不是在同一个终端窗口中),我想这种情况可能在Github Actions上不会发生。
问题
➡️ 如何通过在windows-latest runner上的命令行从.msi
文件安装此应用程序?
msiexec
命令仍然似乎没有在“安装msi”步骤中执行。 - GuiFalourd