我正在使用Ant爲JavaFX應用程序構建自部署EXE。帶有Inno Setup的JavaFX Self Installer 5 - 允許用戶更改安裝目錄
目前Inno Setup的放置EXE位置:C:\ Users \用戶名\ AppData \本地\應用程序名稱
我想向這在不同的位置,並提供用戶覆蓋此選項。但是,我似乎無法找到螞蟻設置來改變這一點。
這可能嗎?
謝謝!
我正在使用Ant爲JavaFX應用程序構建自部署EXE。帶有Inno Setup的JavaFX Self Installer 5 - 允許用戶更改安裝目錄
目前Inno Setup的放置EXE位置:C:\ Users \用戶名\ AppData \本地\應用程序名稱
我想向這在不同的位置,並提供用戶覆蓋此選項。但是,我似乎無法找到螞蟻設置來改變這一點。
這可能嗎?
謝謝!
其實你不能用ANT來改變它。但是,正如您已經知道部署機制使用Inno Setup並且您可以修改其行爲。
在fx:deploy
ANT任務期間,創建了一個默認的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 BUI ld腳本。
如果您到目前爲止,您會在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
我添加了
@MaxiWu你是否檢查過你的JDK是up2date?舊版本沒有包含這個功能 – FibreFoX 2017-08-11 07:09:30
我查看了我的項目 - > properties-> java build path。它是JavaSE-1.8 jre1.8.0_131。還有另一個選項JavaSE-1.7 jdk1.8.0_40。我將安裝最新的jdk並重試。謝謝。 – 2017-08-11 08:13:21
感謝的維護者 - 這是完美的......所以很容易跟隨。 :) – 2015-02-09 15:16:56
雖然一個問題。我使用了{pf}/ApplicationName - 但是當它提示確認安裝位置時,它仍然將它放在C:\ Users \ username \ AppData \ Local \應用程序名稱 – 2015-02-09 15:23:35
這是默認設置的結果:UsePreviousAppDir。我需要先卸載,然後使用我的新位置。謝謝! – 2015-02-09 15:55:23