簡體   English   中英

使用Inno Setup的JavaFX自安裝程序5 - 允許用戶更改安裝目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM