Очень хороший способ - использовать JNLP (протокол запуска Java Network), все источники идут в JVM. Таким образом, вам не нужен какой-либо процесс установки.
О вашем вопросе«Как я могу сделать установщик с помощью Inno Setup?»
Смотрите ниже:
Существует много информации, как создать его.
Все примеры можно найти в documentation, что помогло мне разобраться.
Здесь я дам вам пример того, что я использовал, и она работала для меня:
[Setup]
AppName=MyApplicationName-O
AppVerName=MyApplicationName-O version 1.5.3.0
AppPublisher=myApplicationSite.com
AppPublisherURL=http://www.myApplicationSite.com
AppSupportURL=http://www.myApplicationSite.com
AppUpdatesURL=http://www.myApplicationSite.com
DefaultDirName={pf}\MyApplicationName-O
DefaultGroupName=MyApplicationName-O
LicenseFile=COPYING
;InfoBeforeFile=README
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
ShowLanguageDialog=yes
UninstallDisplayIcon=C:\workspacePrototype\App\sources\myApplicationName\pixmaps\icon.ico
SetupIconFile=C:\workspacePrototype\App\sources\myApplicationName\pixmaps\icon.ico
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
;;#include "myApplicationName-win32.filelist"
; DLL used to check if the target program is running at install time
Source: psvince.dll; flags: dontcopy
; psvince is installed in {app} folder, so it will be loaded at
; uninstall time to check if the target program is running
Source: psvince.dll; DestDir: {app}
Source: ./bin/avcodec-53.dll; Destdir: {app}; Flags: ignoreversion
Source: ./share/themes/Outcrop/gtk-2.0/Tabs/button_prelight.png; Destdir: {app}\./share/themes/Outcrop/gtk-2.0/Tabs; Flags: ignoreversion
Source: ./share/themes/Outcrop/gtk-2.0/tooltip.png; Destdir: {app}\./share/themes/Outcrop/gtk-2.0; Flags: ignoreversion
Source: ./share/themes/Outcrop/gtk-2.0/trans.png; Destdir: {app}\./share/themes/Outcrop/gtk-2.0; Flags: ignoreversion
Source: ./share/themes/Outcrop/gtk-2.0/trough.png; Destdir: {app}\./share/themes/Outcrop/gtk-2.0; Flags: ignoreversion
;Source: ./share/themes/Raleigh/gtk-2.0/gtkrc; Destdir: {app}\./share/themes/Raleigh/gtk-2.0; Flags: ignoreversion
[Icons]
Name: "{group}\MyApplicationName-O"; Filename: "{app}\MyApplicationName-O.exe" ; WorkingDir: "{app}"
Name: "{userdesktop}\MyApplicationName-O"; Filename: "{app}\MyApplicationName-O.exe"; WorkingDir: "{app}" ; Tasks: desktopicon
[Registry]
Root: HKCR; Subkey: "sip";
Root: HKCR; Subkey: "sip"; ValueData: "URL: SIP protocol" ; ValueType:string
Root: HKCR; Subkey: "sip"; ValueName: "EditFlags"; ValueData: "02 00 00 00" ; ValueType:binary
Root: HKCR; Subkey: "sip"; ValueName: "URL Protocol" ; ValueType:string
Root: HKCR; Subkey: "sip\DefaultIcon"; ValueData: "{app}\MyApplicationName-O.exe"; ValueType:string ; Flags:uninsdeletekey
Root: HKCR; Subkey: "sip\shell"
Root: HKCR; Subkey: "sip\shell\open"
Root: HKCR; Subkey: "sip\shell\open\command"; ValueType:string ; ValueData: "{app}\MyApplicationName-O.exe --workdir {app} --call %1"; Flags:uninsdeletekey
[Run]
Filename: "{app}\MyApplicationName-O.exe"; Description: "{cm:LaunchProgram,MyApplicationName-O}"; WorkingDir: "{app}" ; Flags: nowait postinstall skipifsilent
; Comment out the following two lines if you don't want a Start Menu program group
; to be created. (You'll need to run the uninstaller's EXE directly from its
; folder (e.g. "C:\Program Files\Prompt to Close the Program") if you do.)
[Icons]
Name: "{group}\Uninstall this application"; Filename: "{uninstallexe}"
;-------------------------------------------------------------------------------
Вы можете запустить этот сценарий из Inno sSetup 5 или из командной строки:
ISCC.exe myApplication.iss
Inno Setup 5 Command-Line Compiler
Copyright (C) 1997-2012 Jordan Russell. All rights reserved.
Portions Copyright (C) 2000-2012 Martijn Laan
Inno Setup Preprocessor
Copyright (C) 2001-2004 Alex Yackimoff. All rights reserved.
Compiler engine version: Inno Setup 5.5.2 (a)
[ISPP] Preprocessing.
[ISPP] Preprocessed.
Parsing [Setup] section, line 2
Parsing [Setup] section, line 3
Parsing [Setup] section, line 4
Parsing [Setup] section, line 5
Parsing [Setup] section, line 6
Parsing [Setup] section, line 7
Parsing [Setup] section, line 8
Parsing [Setup] section, line 9
Parsing [Setup] section, line 10
Ответ на вопрос * «Как я могу сделать установщик с помощью Inno Setup?» * Может быть * «Довольно просто!» * Или * «Взгляните на примеры из папки« Примеры »инсталляции InnoSetup.» *; -) На мой взгляд, вы должны сначала узнать, как развернуть приложение с помощью launch4j (особенно, как настраивать пути, или, если это возможно, распространять его и генерировать * .exe ad-hoc из установщика), а затем позаботиться о том, как развернуть его с помощью InnoSetup. Этот вопрос слишком широк ... – TLama
Похоже, у вас есть ошибка, которая не связана с установкой. Вам необходимо изменить код приложения, чтобы он мог работать в разных каталогах. – jpmc26