我正在使用Ant为JavaFX应用程序构建一个自我部署的EXE。
当前,Inno Setup将EXE放在此处:C:\Users\username\AppData\Local\application name
我想将其放置在其他位置,并为用户提供覆盖此选项的选项。但是我似乎找不到更改此设置的 Ant 设置。
这可能吗?
谢谢!
最佳答案
实际上,您无法使用ANT更改此设置。但是,您已经知道部署机制使用Inno Setup,并且可以修改其行为。
在fx:deploy
ANT任务期间,将创建一个默认的ApplicationName.iss
文件。该默认文件包含例如设置,它负责安装目录。仅当您不自行提供任何自定义内容时,才会创建此默认文件。因此,我建议运行ANT脚本,复制默认文件并进行修改。如果启用verbose
任务的fx:deploy
标志,则可以使用控制台输出来查找创建默认文件的位置,创建默认文件的位置以及ANT任务在创建默认文件之前搜索您的自定义文件的位置:
<fx:deploy
...
verbose="true">
<fx:info title="${appname}" vendor="${vendor}"/>
...
</fx:deploy>
就我而言,我在
C:\Users\gfkri\AppData\Local\Temp\fxbundler3627681647438085792\windows
并不得不将自定义文件放到
package/windows/ApplicationName.iss
相对于ANT构建脚本。
如果到目前为止,您将在
DisableDirPage=Yes
文件中找到ApplicationName.iss
行。将其更改为DisableDirPage=No
,用户可以更改安装目录。此外,您会发现参数
DefaultDirName
。如果您想在默认情况下将应用程序安装到C:\Program File\ApplicationName
,则可以使用常量{pf}
,例如:DefaultDirName={pf}\ApplicationName
。