Thinking about Windows installers

Post Reply
biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Thinking about Windows installers

Post by biolizard89 »

This topic came up at the #namecoin-dev meeting last week, and I thought it would be useful to bring up here. There has been some discussion of Windows installers for a "Namecoin Bundle". The question is how to implement it. Phelix has been working with InnoSetup, while the Bitcoin developers (and therefore Namecoin Core) are using NSIS. I think this disparity should be carefully thought about. Generally speaking, I would prefer to reuse Bitcoin development when feasible. This is particularly the case with the build system because Bitcoin has a lot of expertise with deterministic builds, which is expertise that we simply don't have here. It is also useful because we would be able to merge Bitcoin changes without rewriting them for a different installer system.

So, the question is, should we stick with NSIS and reuse Bitcoin's installer, or should we scrap their installer and do something with InnoSetup? If we use InnoSetup, I would want it to be for a very good reason. I'm particularly interested in Phelix's input here, since he's been handling most of the Windows stuff, although everyone's input is encouraged.

FYI, there's some info about the Bitcoin NSIS system here: http://www.peercointalk.org/index.php?t ... 6#msg25786 (not certain how accurate it is, since this is from half a year ago and relates to an altcoin).

Thoughts?
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: Thinking about Windows installers

Post by phelix »

biolizard89 wrote:This topic came up at the #namecoin-dev meeting last week, and I thought it would be useful to bring up here. There has been some discussion of Windows installers for a "Namecoin Bundle". The question is how to implement it. Phelix has been working with InnoSetup, while the Bitcoin developers (and therefore Namecoin Core) are using NSIS. I think this disparity should be carefully thought about. Generally speaking, I would prefer to reuse Bitcoin development when feasible. This is particularly the case with the build system because Bitcoin has a lot of expertise with deterministic builds, which is expertise that we simply don't have here. It is also useful because we would be able to merge Bitcoin changes without rewriting them for a different installer system.

So, the question is, should we stick with NSIS and reuse Bitcoin's installer, or should we scrap their installer and do something with InnoSetup? If we use InnoSetup, I would want it to be for a very good reason. I'm particularly interested in Phelix's input here, since he's been handling most of the Windows stuff, although everyone's input is encouraged.

FYI, there's some info about the Bitcoin NSIS system here: http://www.peercointalk.org/index.php?t ... 6#msg25786 (not certain how accurate it is, since this is from half a year ago and relates to an altcoin).

Thoughts?
Several years ago I created a simple installer with NSIS and one with Innosetup more recently before the Namecoin installer. IMHO Innosetup is easier to use, that's why I chose it (could be that NSIS is more powerful).
I don't have any strong opinion against using NSIS. Especially if we get everything almost finished we should certainly go with the NSIS installer. For my current manually created installers I don't want to burn time to switch, though.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: Thinking about Windows installers

Post by biolizard89 »

phelix wrote:
biolizard89 wrote:This topic came up at the #namecoin-dev meeting last week, and I thought it would be useful to bring up here. There has been some discussion of Windows installers for a "Namecoin Bundle". The question is how to implement it. Phelix has been working with InnoSetup, while the Bitcoin developers (and therefore Namecoin Core) are using NSIS. I think this disparity should be carefully thought about. Generally speaking, I would prefer to reuse Bitcoin development when feasible. This is particularly the case with the build system because Bitcoin has a lot of expertise with deterministic builds, which is expertise that we simply don't have here. It is also useful because we would be able to merge Bitcoin changes without rewriting them for a different installer system.

So, the question is, should we stick with NSIS and reuse Bitcoin's installer, or should we scrap their installer and do something with InnoSetup? If we use InnoSetup, I would want it to be for a very good reason. I'm particularly interested in Phelix's input here, since he's been handling most of the Windows stuff, although everyone's input is encouraged.

FYI, there's some info about the Bitcoin NSIS system here: http://www.peercointalk.org/index.php?t ... 6#msg25786 (not certain how accurate it is, since this is from half a year ago and relates to an altcoin).

Thoughts?
Several years ago I created a simple installer with NSIS and one with Innosetup more recently before the Namecoin installer. IMHO Innosetup is easier to use, that's why I chose it (could be that NSIS is more powerful).
I don't have any strong opinion against using NSIS. Especially if we get everything almost finished we should certainly go with the NSIS installer. For my current manually created installers I don't want to burn time to switch, though.
Yes, the impression I get is that Innosetup is somewhat easier. I would still prefer NSIS by default, since it lets us reuse Bitcoin's work. Sounds like you're okay with this.

And yeah, this would only be for the installers we generate based on Namecoin Core (i.e. we would basically add NMControl etc. to the Namecoin Core NSIS script). Preexisting installers wouldn't be affected.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

Post Reply