通用打包 添加浏览器启动软件功能

参考

官方文档
计算机 - - - 浏览器网页打开本地exe程序,网页打开微信,网页打开迅雷

注意

避免在 URI 中使用空格、引号或反斜杠

添加网页启动软件的功能

!include "MUI2.nsh"#使用现代UI
Unicode true #使用Unicode
RequestExecutionLevel admin
!define EXENAME "exe name" #定义常量 exe名称
!define SHORTCUT "快捷方式名称" #定义桌面快捷方式的中文名称
!define PROTOCOL "protocol name" #URI名称

Name "${EXENAME}" #安装程序的title
OutFile "${EXENAME}_Setup.exe" #安装程序的名称

InstallDir "$Desktop\${EXENAME}" #默认安装路径为桌面\exe名称
  #使用现代UI
  !define MUI_ABORTWARNING 
  !define MUI_WELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp
  !define MUI_UNWELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp

  !insertmacro MUI_PAGE_WELCOME  #欢迎界面
  !insertmacro MUI_PAGE_DIRECTORY #设置安装路径
  !insertmacro MUI_PAGE_INSTFILES #显示安装细节
  !insertmacro MUI_PAGE_FINISH #安装完成

 
  !insertmacro MUI_UNPAGE_WELCOME
  !insertmacro MUI_UNPAGE_CONFIRM
  !insertmacro MUI_UNPAGE_INSTFILES
  !insertmacro MUI_UNPAGE_FINISH

  !insertmacro MUI_LANGUAGE "SimpChinese"#安装界面为中文

Section
    SetOutPath $INSTDIR #安装程序生成后的位置
    File *.exe #打包exe文件
    File *.dll
    File /r MonoBleedingEdge
    File /r "${EXENAME}_Data"
    WriteUninstaller $INSTDIR\Uninstall.exe #生成卸载程序
    CreateDirectory "$SMPROGRAMS\${EXENAME}" #开始程序文件夹内创建文件夹
    CreateShortcut "$DESKTOP\${SHORTCUT}.lnk" "$INSTDIR\${EXENAME}.exe" #桌面生成快捷方式 关联exe文件
    CreateShortcut "$SMPROGRAMS\${EXENAME}\${EXENAME}.lnk" "$INSTDIR\${EXENAME}.exe" #开始菜单 创建快捷方式
    CreateShortcut "$SMPROGRAMS\${EXENAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" #开始菜单 创建删除exe的快捷方式
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "DisplayName" "${EXENAME}" #控制面板显示程序名称
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "UninstallString" "$INSTDIR\Uninstall.exe" #设置卸载程序关联的文件
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "DisplayIcon" "$INSTDIR\${EXENAME}.exe" #控制面板显示程序图标
   
    WriteRegStr HKCR "${PROTOCOL}" "" "URL:${EXENAME} Protocol" #创建URI协议的根键
    WriteRegStr HKCR "${PROTOCOL}" "URL Protocol" "" 
    WriteRegStr HKCR "${PROTOCOL}\shell\open\command" "" '"$INSTDIR\${EXENAME}.exe" "%1"' #创建协议的命令处理程序
SectionEnd

Section "Uninstall" #卸载程序的作用
    RMDIR /r $INSTDIR  #移除安装文件内所有内容
    RMDIR /r "$SMPROGRAMS\${EXENAME}" #移除开始菜单\程序名内所有内容
    Delete "$DESKTOP\${SHORTCUT}.lnk" #移除桌面快捷方式
    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" #移除注册表内容
    DeleteRegKey HKCR "${PROTOCOL}" #移除注册表内容
SectionEnd

测试

测试文件目录

在这里插入图片描述
uri名称为:Test.Self
使用Nsis打包,安装打包软件。

网页启动测试

创建一个html文件,填写代码;html拖入网页,点击即可启动软件。
href中指定启动的URL,注意后方URL后方要添加冒号。例如 href=“steam:” 启动steam软件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="Test.Self:">打开TestApp</a>
</body>
</html>

在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值