簡體   English   中英

如何將參數從 Java FX Ant 任務傳遞到 Inno Setup?

[英]How to pass parameters from Java FX Ant task to Inno Setup?

我是 JavaFX 的新手,只有一些關於 Ant 的基本知識。 目前我正在學習如何使用 FX Ant 任務來部署應用程序。 編輯:通過使用<fx:deploy nativeBundles="exe" ../> Ant 自動使用 Inno Setup 創建擴展名為.exe的安裝文件。

由於我們公司有一些附屬公司,所以我們的大部分應用程序都需要為每個公司部署一次。 這是因為創建了一些 Windows 注冊表項,它們應該是這樣的(不是我的想法,管理層希望它是這樣的!):

“HKCU\\Software\\附屬公司名稱\\AppName\\Settings”

現在我想知道,是否可以將我的build.xml中的參數傳遞給.iss以動態插入粗體部分。

我發現了這個問題,其中建議將/DMyParameterName=MyValue傳遞給 Inno Setup 編譯器 (ISC),但我不知道如何從build.xml執行此操作,因為我找不到對 ISC 的任何直接調用。

我希望你能理解我的問題(英語不是我的母語)。 如果您需要更多信息來幫助我,請隨時詢問,我會盡快添加它們。

Java FX 不允許您向ISCC.exe傳遞任何其他參數。

至少根據 OpenJFX 源代碼:

//run candle
ProcessBuilder pb = new ProcessBuilder(
        TOOL_INNO_SETUP_COMPILER_EXECUTABLE.fetchFrom(params),
        "/o"+outdir.getAbsolutePath(),
        getConfig_ExeProjectFile(params).getAbsolutePath());
pb = pb.directory(EXE_IMAGE_DIR.fetchFrom(params));
IOUtils.exec(pb, VERBOSE.fetchFrom(params));

您可以設置環境變量而不是參數並使用以下語法使用它:

{%VARNAME}

請參閱Inno Setup Constants文檔。


對於那些正在尋找純 Ant 解決方案(沒有 Java FX)的人:

Inno Setup 編譯器 ( ISCC.exe ) 是一個普通的控制台可執行文件。

您使用基本的Exec Ant 任務運行編譯器:

<project>
  <exec executable="ISCC.exe">
    <arg value="Example1.iss"/>
    <arg value="/DMyParameterName=MyValue"/>
  </exec>
</project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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