[英]Inno Setup: Install other installer and run it before continuing my install
[英]JavaFX Self Installer With Inno Setup 5 - Allow user to change install directory
我正在使用Ant为JavaFX应用程序构建自部署EXE。
目前Inno Setup将EXE置于此处:C:\\ Users \\ username \\ AppData \\ Local \\ application name
我想将它放在不同的位置,并为用户提供覆盖它的选项。 但是我似乎无法找到蚂蚁设置来改变它。
这可能吗?
谢谢!
实际上你无法使用ANT改变这一点。 但是,您已经知道部署机制使用Inno Setup,您可以修改其行为。
在fx:deploy
ANT任务期间, fx:deploy
创建一个默认的ApplicationName.iss
文件。 此默认文件包含例如设置,该设置负责安装目录。 如果您不自行提供任何自定义,则仅创建此默认文件。 所以,我建议运行ANT脚本,复制默认文件并进行修改。 如果启用fx:deploy
任务的verbose
标志,则可以使用控制台输出来查找创建默认文件的位置以及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构建脚本。
如果你到目前为止,你会在ApplicationName.iss
文件中找到DisableDirPage=Yes
行。 将其更改为DisableDirPage=No
,用户可以更改安装目录。
您还可以找到参数DefaultDirName
。 如果要将应用程序安装到C:\\Program File\\ApplicationName
,则可以使用常量{pf}
例如: DefaultDirName={pf}\\ApplicationName
。
最初的答案不再适用,因为该功能已添加到JDK中(只是不知道何时,但在使用1.8.0u60左右时它就在那里)。
只需将<installdirChooser>
添加为<bundleArguments>
并将其设置为true
:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.4.0</version>
<configuration>
<mainClass>your.mainclass</mainClass>
<verbose>true</verbose>
<bundleArguments>
<identifier>SOME-GUID-USED-FOR-UPDATE-DETECTION</identifier>
<installdirChooser>true</installdirChooser>
</bundleArguments>
</configuration>
</plugin>
免责声明:我是javafx-maven-plugin的维护者
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.