2012-06-05 104 views
1

是否有可能通過Install4J來爲Windows創建一個單一的媒體文件,用戶已安裝的32位或64位JRE時,可以在兩種情況下運行?運行在64位JRE install4j在Win

我在那裏我包裝有沒有需要64位操作系統功能的應用程序的情況下。所以我選擇了一個32位(Install4J)可執行文件來生成。當我們試圖在安裝了64位JRE的64位Win7上安裝時,我們最終遇到了問題。安裝者抱怨缺少32位JRE。

在Install4J的幫助指南,我發現以下幾點:

在Windows上,本機可執行程序可以是32位或64位可執行文件。如果您的應用程序需要64位JRE,則可以選擇爲媒體文件生成64位安裝程序和啓動程序。 請注意,無法創建可同時使用64位和32位JRE的啓動器。由於啓動器通過加載JVM DLL來啓動具有JNI接口的JVM,因此架構必須相同。如果您同時定位32位和64位JRE和操作系統,則必須爲它們生成不同的媒體文件。

我希望大膽指的是當你需要特定的64位功能的情況下。

任何幫助?提前致謝。

+0

看起來你很清楚你需要兩個媒體文件。 –

回答

0

我已成功地找到了解決辦法,實際上是一種「黑客」。

的想法是收拾正確的32位Java作爲軟件包,並指示Install4J不使用用戶的Java,而不是依賴於它。由於輸出Install4J將在安裝應用程序的同一級別上創建「jre」文件夾。通過這樣做,甚至可以在用戶沒有在機器上安裝JRE時運行安裝程序和應用程序。

我已經創造了這樣Install4J配置的方式是以下幾點:

  • 開放「媒體」,然後選擇「窗口」(或任何其他,如果你想捆綁JRE用於Unix或Mac)
  • 選擇「捆綁的JRE」
  • 檢查‘捆綁以下JRE’,然後找到Java版本你想
  • 不選中這兩個‘安裝爲共享JRE’和‘只有在沒有其他合適的JRE發現安裝’(這將放置JRE中文件夾,你已經安裝了應用程序)
+0

根據媒體文件嚮導中的設置,啓動器和安裝程序可能是32位或64位。在任何情況下,您的配置只能使用32位JRE。 –

1

不幸的是,目前還不可能。我建議使用32位JRE包。這將適用於32位Windows和64位Windows。已安裝的64位JRE的情況可能並不那麼重要。

+0

嗨Ingo任何更新 - 這個功能可用 – rxx

+0

沒有任何變化。我們不打算爲Windows開發混合型32位/ 64位安裝程序。 –

+0

產品啓動時是否可以檢查JRE版本/體系結構(安裝成功並點擊可執行文件後) – rxx

0

較新版本的install4j在媒體文件中有一個32/64位切換。我認爲從install4j開始4.

您仍然需要在目標環境中有一個匹配的JRE,或者您編寫了捆綁包。如果安裝程序的大小不是問題,捆綁是更安全的方式。

相關問題