問題
electron-builder使用nsis打包,安裝時不會設置URL Protocol。
解決方法
自定義nsis 腳本
electron-builder 可以自定義打包腳本
https://www.electron.build/configuration/nsis#custom-nsis-script
腳本
!define SCHEMENAME "app" #修改爲你自定義的URL Protocol
!macro customInstall
DetailPrint "Register ${SCHEMENAME} URI Handler"
DeleteRegKey HKCR "${SCHEMENAME}"
WriteRegStr HKCR "${SCHEMENAME}" "" "${PRODUCT_NAME}"
WriteRegStr HKCR "${SCHEMENAME}" "URL Protocol" ""
WriteRegStr HKCR "${SCHEMENAME}\DefaultIcon" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME}"
WriteRegStr HKCR "${SCHEMENAME}\shell" "" ""
WriteRegStr HKCR "${SCHEMENAME}\shell\Open" "" ""
WriteRegStr HKCR "${SCHEMENAME}\shell\Open\command" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME} %1"
!macroend
!macro customUnInstall
DeleteRegKey HKCR "${SCHEMENAME}"
ReadRegStr $0 HKCR "${SCHEMENAME}" ""
DeleteRegKey HKCR "$0"
!macroend