2016-04-04 12 views
7

ich für Fenster mit Elektronen Builder einen Exe-Installer erstellen verwaltet werden, erstellen I 2 package.json wie in der Dokumentation darauf hingewiesen:Electron erstellen MSI-Installer mit elektronen Builder

https://github.com/electron-userland/electron-builder.

Am Ende habe ich einen Ordner mit einem .exe enter image description here

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

Der Build-Abschnitt meiner Haupt package.json Arbeits ist

"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" 
    } 
    } 

Alles funktioniert gut, ich habe und .exe Installer, aber keine Möglichkeit, ein .msi-Installationsprogramm zu haben, das den Inhalt in das Verzeichnis der Programmdateien legt.

enter image description here

Stattdessen landete ich mit einer Installation in der C-up: \ Users \ Userhome \ AppData \ Local \ Elektronen Ordner mit und Installer wie unten.

enter image description here

Gibt es eine Möglichkeit, eine echte .msi Installer Elektronen Builder zu haben, die den Inhalt in der Programmdatei Ordner. Das einzige Projekt, das funktioniert hat, ist dieses https://github.com/theodo/electron-boilerplate, aber es verwendet eine frühere Version von Electron-Builder.

In den Elektronen doc die noMsi auf false setzen, sollte den Trick ...

Should Squirrel.Windows create an MSI installer? 

Antwort

1

Ich habe tut dies entweder (noch) nicht zur Arbeit gekommen, aber mein Verständnis ist, dass es das Gegenteil (schreckliche Benennung).

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

Ja, verstehe auch, aber die Option funktioniert nicht für mich. Ich sehe im Skript ausgeführt, dass das anders ist --no-msi Argument oder nicht, aber am Ende dasselbe Ergebnis kein msi Installer ... – Aaleks

1

wie im wiki of latest electron builder release Sie die msi Option innerhalb build.win verwenden, haben gesagt:

"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

Wenn Sie einen Klick in nsis config (oneClick) deaktivieren, wird der Benutzer aufgefordert, ob das zu tun Einzelplatzinstallation (in AppData) oder pro Maschine (in Program Files).

Wenn Sie nicht ihnen die Wahl wollen geben, können Sie perMachine auf false gesetzt, die in Program Files installieren nur erlaubt:

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

Ich würde ihnen die Möglichkeit, persönlich lassen, wie sie noch installieren ohne Administratorrechte!

In der neuesten Version von electron-builder gibt es auch eine allowToChangeInstallationDirectory Option, die es dem Benutzer ermöglicht, einen beliebigen Installationsort auszuwählen.

0

Wenn Sie nur ein Installationsprogramm im exe-Format (IDK über MSI) möchten, können Sie den Builder electron-builder verwenden, um die exe-Datei in ein Verzeichnis zu kopieren. Schauen Sie sich die Dokumentation unter npmjs.org/package/electron-builder an. Die Dokumentation ist ziemlich einfach. Nachdem Sie den entpackten Ordner mit Ihrer EXE erhalten haben, verwenden Sie "Inno Setup Compiler", um ein professionell aussehendes Installationsprogramm zu erstellen. Sobald Sie den Dreh raus haben, dauert es nur noch 5 Minuten, um das Ganze zu machen.

Verwandte Themen