2016-04-04 18 views
7

मैं इलेक्ट्रॉन निर्माता का उपयोग करके खिड़कियों के लिए एक .exe इंस्टॉलर बनाने में कामयाब का उपयोग कर MSI इंस्टॉलर बनाने के लिए, मैं 2 package.json के रूप में किए गए दस्तावेज़ों में बताया पैदा करते हैं।इलेक्ट्रॉन इलेक्ट्रॉन बिल्डर

मैं, मेरे पास है और .exe एक .exe enter image description here

"dist:win64": "./node_modules/.bin/build --platform win32 --arch x64" 

अपने मुख्य package.json के निर्माण खंड काम कर के साथ एक फ़ोल्डर होने

"build": { 
    "app-bundle-id": "org.test.mytest", 
    "app-category-type": "public.app-category.graphics-design", 
    "osx": { 
     "contents": [ 
     { 
      "x": 410, 
      "y": 150, 
      "type": "link", 
      "path": "/Applications" 
     }, 
     { 
      "x": 130, 
      "y": 150, 
      "type": "file" 
     } 
     ] 
    }, 
    "win": { 
     "title": "My awesome app", 
     "version": "2.28.999.1", 
     "noMsi": false, 
     "authors": "Author" 
    } 
    } 

सब कुछ ठीक काम करता है समाप्त हो गया इंस्टॉलर लेकिन एक .msi इंस्टॉलर रखने का कोई तरीका नहीं है जो सामग्री फ़ाइलों निर्देशिका में सामग्री डालता है।

enter image description here

इसके बजाय मैं सी में एक स्थापना के साथ समाप्त हो गया: \ Users \ UserHome \ AppData \ के साथ स्थानीय \ इलेक्ट्रॉन फ़ोल्डर और संस्थापक नीचे की तरह।

enter image description here

वहाँ इलेक्ट्रॉन बिल्डर कि कार्यक्रम फ़ाइल फ़ोल्डर पर सामग्री रखते हैं का उपयोग कर एक असली .msi इंस्टॉलर के लिए एक रास्ता है। काम करने वाली एकमात्र परियोजना यह है कि यह https://github.com/theodo/electron-boilerplate है लेकिन यह इलेक्ट्रॉन-निर्माता के पूर्व संस्करण का उपयोग करता है।

इलेक्ट्रॉन डॉक गलत पर noMsi की स्थापना में, चाल करना चाहिए ...

Should Squirrel.Windows create an MSI installer? 

उत्तर

1

मैं यह या तो (अभी तक) काम करने के लिए नहीं मिला है, लेकिन मैं समझता हूँ कि यह विपरीत है (भयानक नामकरण)।

"noMsi": false // will make an MSI 
"noMsi": true // will NOT make an MSI 
+0

हाँ भी यह समझते हैं कि विकल्प मेरे लिए काम नहीं करता है। मैं स्क्रिप्ट में निष्पादित करता हूं कि अलग-अलग-एमएसआई तर्क है या नहीं, लेकिन अंत में कोई भी एमएसआई इंस्टॉलर नहीं है ... – Aaleks

1

रूप wiki of latest electron builder release आप build.win भीतर msi विकल्प का उपयोग करने के लिए है में कहा गया है: आप NSIS config (oneClick) में एक क्लिक अक्षम करते हैं

"build": { 
    "app-bundle-id": "org.test.mytest", 
    "app-category-type": "public.app-category.graphics-design", 
    ... 
    , 
    "win": { 
     "title": "My awesome app", 
     "version": "2.28.999.1", 
     "msi": true, 
     "authors": "Author" 
    } 
    } 
1

, उपयोगकर्ता के लिए प्रेरित किया जाता है, तो है कि क्या एकल उपयोगकर्ता इंस्टॉल (AppData में) या प्रति मशीन (Program Files में)।

आप उन्हें पसंद नहीं देना चाहते, तो आप गलत पर perMachine सेट कर सकते हैं जो केवल प्रोग्राम फ़ाइलें में स्थापित की अनुमति देगा:

"nsis": { 
    "oneClick": false, 
    "perMachine": false 
}, 

मैं व्यक्तिगत रूप से उन्हें विकल्प के रूप में वे अभी भी स्थापित कर सकते हैं छोड़ना होगा व्यवस्थापक अधिकारों के बिना!

electron-builder के नवीनतम संस्करण में allowToChangeInstallationDirectory विकल्प भी है जो उपयोगकर्ता को कोई भी इंस्टॉल स्थान चुनने की अनुमति देता है।

0

यदि आप चाहते हैं कि एक्सई प्रारूप (एमएसआई के बारे में आईडीके) में इंस्टॉलर है तो आप किसी निर्देशिका में एक्सपे को एक्सपेक करने के लिए इलेक्ट्रॉन-निर्माता का उपयोग कर सकते हैं। npmjs.org/package/electron-builder पर प्रलेखन देखें। दस्तावेज़ीकरण बहुत सीधे आगे है। अपने exe के साथ अनपॅक किए गए फ़ोल्डर को प्राप्त करने के बाद, पेशेवर दिखने वाले इंस्टॉलर को बनाने के लिए "इनो सेटअप कंपाइलर" का उपयोग करें। एक बार जब आप इसे लटका लेंगे, तो पूरी चीज करने में बस 5 मिनट लगते हैं।

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