简体   繁体   中英

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.

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

But after make change I have now a problem i don't know where put exactly the new .iss file

I use eclipse, this is my project tree :

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.

    [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 ?

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.

I used the Ant script to generate the application .exe , by changing nativeBundles to "all" like so:

    <fx:deploy 
      ...
      ...
      nativeBundles ="all"/>

Once run, the Ant script creates a .jar , .jnlp , the jre and the two .exe .

The application .exe , which is needed by Inno Setup, is actually generated then destroyed silently when you choose 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.

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). More info can be found in this Oracle article, section 6.3.3 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM