2016-04-04 12 views
7

sono riuscito a creare un programma di installazione .exe per Windows utilizzando costruttore di elettroni, creo 2 package.json come sottolineato nella documentazione:Electron creare installer MSI utilizzando elettrone-builder

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

ho finito per avere una cartella con un lavoro .exe enter image description here

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

La sezione di generazione del mio package.json principale è

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

Tutto funziona bene, ho e .exe programma di installazione ma nessun modo per avere un programma di installazione .msi che inserisca il contenuto nella directory dei programmi.

enter image description here

Invece ho finito con un'installazione nella cartella C: \ Users \ UserHome \ AppData \ cartella \ elettrone locale con e installazione come di seguito.

enter image description here

C'è un modo per avere un installatore MSI reale utilizzando costruttore di elettroni che ha messo il contenuto nella cartella File di programma. L'unico progetto che ha funzionato è questo https://github.com/theodo/electron-boilerplate ma utilizza una versione precedente di electron-builder.

Nel documento elettronico impostando il noMsi su false, dovrebbe fare il trucco ...

Should Squirrel.Windows create an MSI installer? 

risposta

1

non ho ottenuto questo lavoro sia (ancora), ma la mia comprensione è che è l'opposto (nome terribile).

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

Sì, capisco anche questo, ma l'opzione non funziona per me. Vedo che nello script eseguito è diverso l'argomento --no-msi o meno ma alla fine lo stesso risultato nessun programma di installazione msi ... – Aaleks

1

come indicato nel wiki of latest electron builder release è necessario utilizzare l'opzione msi entro build.win:

"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

Se si disattiva uno scatto in config INS (oneClick), viene richiesto all'utente se fare il installazione utente singolo (in AppData) o per macchina (in Program Files).

Se non si vuole dare loro la scelta, è possibile impostare perMachine false, che permetterà soltanto installare nella cartella Programmi:

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

Io personalmente lasciare loro la possibilità in quanto possono comunque installare senza diritti di amministratore!

Nell'ultima versione di electron-builder è disponibile anche l'opzione allowToChangeInstallationDirectory che consente all'utente di scegliere qualsiasi posizione di installazione.

0

Se tutto ciò che si desidera è un programma di installazione in formato exe (idk su msi), è possibile utilizzare electron-builder per creare l'exe decompresso in una directory. Controlla la documentazione al npmjs.org/package/electron-builder. La documentazione è piuttosto semplice. Dopo aver ottenuto la cartella decompressa con il tuo exe, usa "Inno Setup Compiler" per creare un programma di installazione dall'aspetto professionale. Una volta capito, ci vogliono solo 5 minuti per fare tutto.