2015-09-01 46 views
0

我正在使用Ant和Inno Setup爲JavaFX應用程序構建自部署EXE。帶有Inno Setup的JavaFX Self Installer 5 - 在哪裏放置修改.iss文件?

變革的安裝文件夾我按照這個話題

JavaFX Self Installer With Inno Setup 5 - Allow user to change install directory

但要改變之後我現在已經出了問題的答案,我不知道放在哪裏完全新的.iss文件

我使用Eclipse,這是我的項目樹:

Quizz 
|.settings 
|bin 
|build 
    |build 
    |deploy 
    |bundles 
     /* Exe here when I not change the iss file */ 
    |dist 
    |project 
    |build.xml 
|src 

這是我的ISS文件的一部分,當我跑他,他沒有找到圖標nd 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() 

所以問題是我應該把iss文件放在哪裏?

如果有人能幫助我,他會非常好。

回答

2

我沒有找到答案,但我發現了一個解決辦法:

有兩個.exe文件,運行罐子應用.exe和自我部署由Inno-安裝程序生成.exe

我使用Ant腳本生成應用程序.exe,通過改變nativeBundles爲「所有」,例如:

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

一旦運行,Ant腳本創建.jar.jnlp的JRE和兩個.exe

Inno Setup需要的應用程序.exe實際上會生成,然後在您選擇nativeBundles =「exe」時默默銷燬。

因此,使用nativeBundle="all"我可以自定義我的Inno Setup腳本,因此它將exe和jre安裝在正確的文件夾中。

1

答案是:修改後的.iss文件應放置在SAME_DIR_AS_YOUR_ANT_BUILD_FILE\package\windows\(如果它們不存在,請創建這些文件夾)。更多信息可在this Oracle article, section 6.3.3找到。