我正在使用Ant和Inno Setup为JavaFX应用程序构建自我部署的EXE。
要更改安装文件夹,请遵循本主题的答案
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
这是我的文件的一部分,当我运行他时,他找不到图标和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文件放在哪里?
如果有人可以帮助我,他会非常好。
答案 0 :(得分:2)
我没有找到答案,但我找到了解决方法:
有两个.exe
个文件,运行jar的应用程序.exe
和Inno-Setup生成的自部署.exe
。
我使用Ant脚本生成应用.exe
,方法是将nativeBundles
更改为"所有"像这样:
<fx:deploy
...
...
nativeBundles ="all"/>
运行后,Ant脚本会创建.jar
,.jnlp
,jre和两个.exe
。
Inno Setup需要的应用程序.exe
实际上会在您选择nativeBundles =&#34; exe&#34;时静默销毁。
所以使用nativeBundle="all"
我可以自定义我的Inno Setup脚本,因此它会将exe和jre安装在正确的文件夹中。