window系统通过inno setup打包软件安装包实现js调用本机的exe文件

参考了太多的其它博客,就不一一列举了,愿原博客博主见谅

主要主关注注册表修改,其它不管,

将jar包打包为exe可执行文件,不用安装jdk即可运行参考https://blog.csdn.net/qq_25189723/article/details/80052389

一、inno setup下载(百度有很多),推荐汉化版,汉化版的帮助文档也是中文的

二、安装制作(百度也有很多)

三、修改inno setup打包软件的脚本,实现安装时注册表修改

下面是根据教程生成的一个示例脚本([Registry]部分是生成之后加入的)

示例脚本里所有都采用默认,用户不能做任何操作

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "TscApp"
#define MyAppVersion "1.5"
#define MyAppPublisher "科创"
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "TscApp.exe"

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={{36616C85-0471-4E05-A010-FD11B6BC6484}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableDirPage=yes
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
OutputDir=C:\Users\yuye\Desktop
OutputBaseFilename=TscApp-setup
SetupIconFile=C:\Users\yuye\Desktop\项目云盘.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Registry]
;在脚本中用""表示一个"字符
;在HKEY_CLASSES_ROOT键下创建一个名为TscApp的子路径,flags:uninsdeletekey表示卸载的时候删除注册表
Root: HKCR; Subkey: "TscApp"; Flags: uninsdeletekey
;在TscApp自路径中创建一个值,名称为""(默认),值为TscAppProtocol
Root: HKCR; Subkey: "TscApp"; ValueType: string; ValueName: ""; ValueData: "TscAppProtocol"
;在TscApp路径中创建一个名称为URL Protocol,值为C:\Program Files (x86)\TscApp\TscApp.exe的值
Root: HKCR; Subkey: "TscApp"; ValueType: string; ValueName: "URL Protocol"; ValueData: "C:\Program Files (x86)\TscApp\TscApp.exe"
;在TscApp目录创建一个DefaultIcon子目录,并创建一个默认名称值为C:\Program Files (x86)\TscApp\TscApp.exe,1的值,其中1为参数占位符
Root: HKCR; Subkey: "TscApp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "C:\Program Files (x86)\TscApp\TscApp.exe,1"
;在TscApp目录下创建一个shell子目录下创建一个open子目录下创建一个command子目录并创建一个默认名称值为"""C:\Program Files (x86)\TscApp\TscApp.exe"" ""%1"""的键
;其中%1为占位符,用于获取参数
Root: HKCR; Subkey: "TscApp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """C:\Program Files (x86)\TscApp\TscApp.exe"" ""%1"""
;实际中只需要将TscApp修改为你想要的名称,所有路径修改为exe文件对用的路径就可以了,其他不用做任何修改

[Files]
Source: "C:\Users\yuye\Desktop\TscApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\yuye\Desktop\jre\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

可以查看帮助文档

[Registry]部分说明

帮助文档中注册表项对注册表的各个参数有详细的说明

Root:根目录,表示在那个目录下创建下级,可取值

HKCU(HKEY_CURRENT_USER)
HKLM(HKEY_LOCAL_MACHINE)
HKCR(HKEY_CLASSES_ROOT)
HKU(HKEY_USERS)
HKCC(HKEY_CURRENT_CONFIG)

Subkey:表示在root根键下创建的一个键值,可以有多层目录

ValueType:值类型,可取值(none,string,expandsz,multisz,dword,qword,binary)

ValueName:创建的值名称

ValueData:创建名称所对应的值

Flags:表示对注册表做怎样的操作,如安装和删除的时候怎么操作,可取值在帮助文档中

<a href="tscapp://http://localhost:8080/files/qrcode/2019/11/29/1574990893604.png">执行可执行文件</a>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值