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>

發佈了8 篇原創文章 · 獲贊 13 · 訪問量 4596
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章