macOS Kernel Extensions
Installing macOS kernel extensions with electron-builder
can be done using scripts.
First, in package.json
, make sure you’re building a package (.pkg
) and not the default .dmg
:
"mac": {
"target": "pkg"
}
Place your script and the kernel extensions in build/pkg-scripts
, or define a custom directory. Note that the script must be called either preinstall
or postinstall
. Remember to use #!/bin/sh
as the first line in your script. Also, your script must be executable (chmod +x <filename>
).
An example script:
#!/bin/sh
echo "Unloading and uninstalling old extensions..."
# unload old extensions
sudo kextunload /Library/Extensions/myExt.kext
# delete old extensions
sudo rm -rf /Library/Extensions/myExtension.kext
# install new extensions
echo "Installing and loading new extensions..."
sudo cp -R myExt.kext /Library/Extensions/myExt.kext
sudo kextload /Library/Extensions/myExt.kext/