Skip to content
This repository has been archived by the owner on Feb 22, 2020. It is now read-only.

NSIS Target and Updater #7

Open
11 of 14 tasks
evshiron opened this issue Mar 14, 2017 · 8 comments
Open
11 of 14 tasks

NSIS Target and Updater #7

evshiron opened this issue Mar 14, 2017 · 8 comments
Labels

Comments

@evshiron
Copy link
Owner

evshiron commented Mar 14, 2017

  • NSIS binaries
  • wine integration
  • nsis-compat-updater
  • delta updater
    • Modern UI 2
      • welcome
      • set install dir in installer
        • read install dir from registry in updater
      • create shortcuts in Desktop and Start Menu
      • finish and launch
    • /selfDestroy
    • nsis7z integration
    • remove only installed files
  • WIP custom NSIS scripts
@evshiron
Copy link
Owner Author

NSIS is zlib/libpng licensed, so it should be safe to include in this repo.

Writing NSIS scripts seems painful, and I should firstly give NSIS Quick Setup Script Generator a try.

@evshiron
Copy link
Owner Author

At the moment, we should be able to generate diff scripts from two directories. Here comes the question, how should nwjs-builder-phoenix be able to know which versions to diff with?

I'm thinking of maintaining a versions.nsis.json in the output directory. It collects version, filename, sha256 and which the latest version is (and possibly update channels?), which can be easily used as a manifest file for an update server.

@evshiron
Copy link
Owner Author

evshiron commented Apr 3, 2017

Hmm. I am going to bundle Modern UI 2 for simple installer building, and thinking about ways to support custom scripts.

@evshiron
Copy link
Owner Author

evshiron commented Apr 5, 2017

I am considering using mechanisms like what electron-builder does, it does provide faster and better compression.

BTW concurrent building might also be considered, as every Builder.buildTask should not interfere as far as I know. The problem is, every task is printing states independently, also the progress bar, which altogether result in a mess in stdout, as a result this feature might require further efforts.

@evshiron
Copy link
Owner Author

Integration of nsis7z has greatly reduced building time to around 2/3 (from 150 seconds to 100 seconds).

@fritx
Copy link

fritx commented Apr 26, 2017

Hi there, how could I call just buildNsisTarget against a provided directory?
I need to integrate this feature into my current project, and we already have a packed dir, just want to do the nsis thing automatically.

@evshiron
Copy link
Owner Author

evshiron commented Apr 26, 2017

See /test/nsis-gen/. You can require('nwjs-builder-phoenix/dist/lib/nsis-gen') and use it directly.

We use one of NsisComposer, Nsis7Zipper and NsisDiffer to generate scripts, and call nsisBuild to create installers.

@fritx
Copy link

fritx commented Apr 26, 2017

@evshiron yeah I see, it works, thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants