I'm developing an Electron Application which uses the Apple Bonjour (https://developer.apple.com/bonjour/), and to compile its native dependencies I need to install the Apple Bonjour SDK for each specific OS.
My CI/CD pipeline is running on Github Actions, which provides me Windows, Ubuntu and MacOS virtual machines. Installing the SDK for Ubuntu and MacOS was pretty easy, however I couldn't find any way to make it work for windows machines via command line.
Does anyone have experience automatising the compilation of the bonjour libraries in windows machines via command line?
I know I could download the SDK and install it manually via interface on windows but I need this via command line because I need to run it on my CI pipeline on Github Actions.
found a way
the .exe installer actually contains many files (you can extract it with 7zip or winrar)
Bonjour.msi
Bonjour64.msi
BonjourSDK.msi
BonjourSDK64.msi
SetupAdmin.exe
the SetupAdmin.exe is useless, the 64bit .msi(s) are the ones we need
in my workflow i've set
# the SDK requires the normal version of Bonjour to be installed first.
- name: install Bonjour (64 bit)
run: |
$currentPath = Get-Location
$msiFilePath = Join-Path -Path $currentPath -ChildPath "Bonjour64.msi"
$msiexecArguments = "/i `"$msiFilePath`" /qn /L*v bonjour64.log"
Start-Process msiexec -ArgumentList $msiexecArguments -NoNewWindow -Wait
- name: install Bonjour SDK (64 bit)
run: |
$currentPath = Get-Location
$msiFilePath = Join-Path -Path $currentPath -ChildPath "BonjourSDK64.msi"
$msiexecArguments = "/i `"$msiFilePath`" /qn /L*v bonjoursdk64.log"
Start-Process msiexec -ArgumentList $msiexecArguments -NoNewWindow -Wait
you can remove the logging if you want
please note that you have to upload the .msi(s) to the runner yourself somehow, i have no clue if mirroring these files is against any kind of license so DYOR on that