[英]Error while native packaging fx-jar using Inno Setup [fx:deploy] java.io.IOException
[英]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.