E不小心

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题

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
posted on 2022-01-25 16:55  E不小心  阅读(507)  评论(0编辑  收藏  举报