[英]JavaFX Self Installer With Inno Setup 5 - Where put the modify .iss file?
I am using Ant and Inno Setup to build a self deploying EXE for a JavaFX application. 我正在使用Ant和Inno Setup为JavaFX应用程序构建一个自我部署的EXE。
For change the install folder I follow the answer of this topic 要更改安装文件夹,请遵循本主题的答案
JavaFX Self Installer With Inno Setup 5 - Allow user to change install directory 具有Inno Setup 5的JavaFX Self Installer-允许用户更改安装目录
But after make change I have now a problem i don't know where put exactly the new .iss file 但是在进行更改之后,我现在遇到了一个问题,我不知道将新的.iss文件放在什么位置
I use eclipse, this is my project tree : 我使用eclipse,这是我的项目树:
Quizz
|.settings
|bin
|build
|build
|deploy
|bundles
/* Exe here when I not change the iss file */
|dist
|project
|build.xml
|src
This is a part of my iss file, when i run him he don't find the icon and the exe file. 这是我的iss文件的一部分,当我运行他时,他没有找到图标和exe文件。
[Files]
Source: "Quizz\Quizz.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "Quizz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{group}\Quizz"; Filename: "{app}\Quizz.exe"; IconFilename: "{app}\Quizz.ico"; Check: returnTrue()
Name: "{commondesktop}\Quizz"; Filename: "{app}\Quizz.exe"; IconFilename: "{app}\Quizz.ico"; Check: returnFalse()
[Run]
Filename: "{app}\Quizz.exe"; Parameters: "-Xappcds:generatecache"; Check: returnFalse()
Filename: "{app}\Quizz.exe"; Description: "{cm:LaunchProgram,Quizz}"; Flags: nowait postinstall skipifsilent; Check: returnTrue()
Filename: "{app}\Quizz.exe"; Parameters: "-install -svcName ""Quizz"" -svcDesc ""Quizz"" -mainExe ""Quizz.exe"" "; Check: returnFalse()
[UninstallRun]
Filename: "{app}\Quizz.exe "; Parameters: "-uninstall -svcName Quizz -stopOnUninstall"; Check: returnFalse()
So the question is where I should put the iss file ? 所以问题是我应该将iss文件放在哪里?
If someone can help me he will be very very nice. 如果有人可以帮助我,他将非常友好。
I didn't find the answer but I found a workaround : 我没有找到答案,但是找到了解决方法:
There are two .exe
files, the application .exe
that runs the jar, and the self-deploying .exe
generated by Inno-Setup. 有两个
.exe
文件,运行jar的应用程序.exe
和Inno-Setup生成的自部署.exe
。
I used the Ant script to generate the application .exe
, by changing nativeBundles
to "all" like so: 我使用Ant脚本通过将
nativeBundles
更改为“ all”来生成应用程序.exe
,如下所示:
<fx:deploy
...
...
nativeBundles ="all"/>
Once run, the Ant script creates a .jar
, .jnlp
, the jre and the two .exe
. 运行后,Ant脚本将创建一个
.jar
, .jnlp
,jre和两个.exe
。
The application .exe
, which is needed by Inno Setup, is actually generated then destroyed silently when you choose nativeBundles="exe". 实际上,Inno Setup所需的应用程序
.exe
会生成,然后在您选择nativeBundles =“ exe”时将其静默销毁。
So with nativeBundle="all"
I was able to customize my Inno Setup script, so it installs the exe and the jre in the right folder. 因此,使用
nativeBundle="all"
我可以自定义我的Inno Setup脚本,因此它将exe和jre安装在正确的文件夹中。
The answer is: your modified .iss
file should be placed in SAME_DIR_AS_YOUR_ANT_BUILD_FILE\\package\\windows\\
(create those folders if they don't exist). 答案是:修改后的
.iss
文件应放在SAME_DIR_AS_YOUR_ANT_BUILD_FILE\\package\\windows\\
(如果不存在,则创建这些文件夹)。 More info can be found in this Oracle article, section 6.3.3 . 可以在此Oracle文章的6.3.3节中找到更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.