2011-04-13 12 views
10

मैं izpack के साथ एक इंस्टॉलर बना देता हूं। इसकी .jar फ़ाइल में। मैं इसे वितरित करने के लिए इसे .exe फ़ाइल में बनाना चाहता हूं। मैं इसे आसान तरीके से कैसे कर सकता हूं?izpack इंस्टॉलर के लिए .exe फ़ाइल कैसे बनाएं .jar फ़ाइल

उत्तर

0

यदि ऐप। एक जीयूआई है और आप एक वेब साइट से वितरित कर सकते हैं, Java Web Start सबसे अच्छा समाधान प्रदान करता है। जेडब्ल्यूएस जावा का समर्थन करने वाले सभी प्लेटफार्मों के लिए काम करता है, और ओरेकल द्वारा समर्थित है।

(मैंने सुना है कि नेट 'विंडोज केवल' समाधान के लिए अच्छी तरह से काम करता है।)

+0

मेरे ऐप में कोई GUI नहीं है। "जावा वेब स्टार्ट" एक अच्छा समाधान हो सकता है लेकिन मैं Izpack इंस्टॉलर .jar फ़ाइल से .exe फ़ाइल बनाना चाहता हूं। –

+1

क्या आप "izpack2exe" के बारे में जानते थे? –

8

एंड्रयू हमेशा शुरू :) यह एक अच्छा तकनीक है से जावा वेब प्रारंभ प्रौद्योगिकी को बढ़ावा देने पसंद करती है। लेकिन, इससे पहले कि आप इसके साथ झुकाव शुरू कर सकें, आपको तकनीकी भागों को पहले भी सीखना होगा।

अन्यथा, आप इस प्रकार पुरानी शैली EXE वितरण मॉडल के साथ छोड़ दिया जाता है ...

मैं Izpack वैसे भी से परिचित नहीं हूँ। लेकिन, izPack क्या कर सकता है, संयुक्त परिणाम प्राप्त करने के लिए समान अलग-अलग टूल हैं। मेरा पसंदीदा EXE निर्माण और संस्थापक उपकरण Launch4J + InnoSetup + चींटी कार्यग्रहण आईडीई से चल रहे हैं।

लॉन्च 4 जे जावा ऐप लॉन्चर है। InnoSetup एक संस्थापन निर्माता चींटी कार्य डेवलपर्स को निर्माण और एकीकरण चरणों पर सहायता करता है।

का उपयोग कैसे करें Launch4J + InnoSetup + चींटी निर्माण कार्य + ग्रहण आईडीई: http://www.eteks.com/tips/tipCreationExe.html (फ्रेंच में - Google अनुवाद का उपयोग करें)

आप एक जावा के लिए एक डेस्कटॉप आधारित विंडोज EXE फ़ाइल वितरण के बारे में सोच रहे हैं ऐप, आपको लक्षित पर्यावरण के बारे में भी सोचना होगा। यह ठीक है जब आप Windows XP या कम संस्करण को लक्षित कर रहे हैं। लेकिन, जब आप विंडोज विस्टा और विंडोज 7 के तहत इसे ठीक से काम करना चाहते हैं तो यह एक बड़ी निराशा होगी।

एप्लिकेशन कॉन्फ़िगरेशन, अस्थायी फ़ाइलें इत्यादि को स्टोर करना सबसे अच्छा नहीं है, जिसके लिए विंडोज़ के तहत %ProgramFiles% में बचत की आवश्यकता है Vista/Windows 7 के रूप में यह अब केवल फ़ोल्डर बन गया है। इस उद्देश्य के लिए उपयोगकर्ता के प्रोफाइल फ़ोल्डर का प्रयोग करें।

बेशक

, आप इसे "प्रशासक के रूप में चलाने के लिए" के साथ अपने एप्लिकेशन चलाकर बायपास कर सकते हैं, लेकिन यह निम्न सेटअप शामिल है:

विंडोज विस्टा और विंडोज 7 के माध्यम से एक सख्त उपयोगकर्ता पहुँच नीति पेश किया है उपयोगकर्ता पहुंच नियंत्रण (यूएसी) त्वरित सुविधा। सॉफ़्टवेयर स्थापना व्यवस्थापक समूह के अंतर्गत उपयोगकर्ता खाते का उपयोग करके किया जाना चाहिए। डिफ़ॉल्ट विंडोज़ ' सिस्टम Program Files के तहत सभी फ़ोल्डरों को केवल पढ़ने के लिए पर सेट किया गया है और इसमें कुछ सहेजने की कोशिश करते समय गैर-व्यवस्थापक उपयोगकर्ता खातों में कोई समस्या हो सकती है। गैर-व्यवस्थापक उपयोगकर्ता खाते का उपयोग कर जावा ऐप चलाने के लिए, एप्लिकेशन गुण Run as administrator को सक्षम करना होगा। शॉर्टकट डेस्कटॉप में बनाया जाएगा और साथ ही Run as administrator को सक्षम करने के लिए सेट किया जाएगा।

निम्न समस्याओं को हल करने के लिए:

(1) Windows Vista/विंडोज 7 में AppUserModelID जावा समर्थन के साथ जारी निम्नलिखित समाधान की जरूरत है: Launch4j, NSIS, and duplicate pinned Windows 7 taskbar icons

(2) अंक के साथ जावा ऐप के लिए Run as Administrator निम्न समाधान की आवश्यकता है: Request admin privileges for Java app on Windows Vista

उन लोगों के अलावा, आपको 64-बिट विंडोज संस्करण के तहत चलते समय %ProgramFiles% पर भी जांच करने की आवश्यकता है। पथ 32-बिट विंडोज और 64-बिट विंडोज़ के बीच समान नहीं है। 64-बिट विंडोज के तहत, सभी 32-बिट ऐप्स %ProgramFiles(x86)% में जाएंगे।

तो, अपने जावा ऐप के फ़ोल्डर और %ProgramFiles% में स्थापित उप-फ़ोल्डर में हार्ड-कोडित फ़ाइल पथ मान का उपयोग करते समय सावधान रहें। Windows environment variable सेट करना बेहतर है जो निम्नलिखित आईएसएस फ़ाइल स्निपेट में इनोसेटअप द्वारा उत्पन्न किया जा सकता है। उपयोग जावा System.getenv("MYAPP_HOME") चर को पुनः प्राप्त करने:

[Registry] 
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; Flags: uninsdeletevalue; ValueType: string; ValueName: "MYAPP_HOME"; ValueData: "{app}\" 

[Tasks] 
Name: modifypath; Description:"Add application directory to your environmental path"; Flags: unchecked 

[Run] 
Filename: "{app}\MyApp.EXE"; Parameters: """{app}""\"; WorkingDir: "{app}\"; Description: "Run MyApp"; Flags: postinstall nowait skipifsilent 

[Code] 

const 
    ModPathName = 'modifypath'; 
    ModPathType = 'system'; 

function ModPathDir(): TArrayOfString; 
begin 
    setArrayLength(Result, 1) 
    Result[0] := ExpandConstant('{app}'); 
end; 
#include "modpath.iss" 

प्रयोग और आनंद लें!

+0

"जावा वेब स्टार्ट" एक अच्छा समाधान हो सकता है लेकिन मैं Izpack इंस्टॉलर .jar फ़ाइल से .exe फ़ाइल बनाना चाहता हूं। –

+0

क्या आप "izpack2exe" के बारे में जानते थे? –

0

winrun4j उपयोग करना बहुत आसान है, इसके साथ मेरा एकमात्र मुद्दा यह है कि जब तक आप एक एम्बेडेड जेवीएम के साथ वितरण नहीं कर लेते हैं तो आपको शायद 64 बिट और 32 बिट डाउनलोड दोनों प्रदान करना होगा।

संबंधित मुद्दे