Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installer for MacType #436

Closed
sammilucia opened this issue Sep 22, 2018 · 11 comments
Closed

Installer for MacType #436

sammilucia opened this issue Sep 22, 2018 · 11 comments
Assignees
Milestone

Comments

@sammilucia
Copy link
Collaborator

sammilucia commented Sep 22, 2018

This issue is to discuss and decide an installer for future versions of MacType.

The v2017.628.0 installer (Advanced Installer) has had some issues with compatibility between versions of itself making it difficult to maintain, so may not be suitable.

Must-haves

  • Multi-language
  • Easy to maintain
  • Low-cost or ideally free / open source
  • Service creation
  • Registry manipulation
  • Reliable removal of old versions (including stopping services and unloading DLLs)

Nice-to-haves

  • Online/live updates via SSL
  • No scripting required
  • Bug reporting
  • Package signing

Potential Candidates

Visual Studio Installer Deployment

https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/2kt85ked(v%3dvs.100)

Visual Studio ClickOnce

https://docs.microsoft.com/en-us/visualstudio/deployment/publishing-clickonce-applications?view=vs-2017

Advanced Installer

https://www.advancedinstaller.com

Inno Setup

http://www.jrsoftware.org/isinfo.php

NSIS

https://www.pawelporwisz.pl/nsis/nsis_en.php

InstallAware Free

https://www.installaware.com/

  • I can't see the differences between Free and Express - does Free have Web Updates?

Not suitable

@snowie2000
Copy link
Owner

Thank you for your awesome job.

Of course, I would like to switch to something more stable, such as innosetup, but the new installer has to be compatible with the old one. It needs to

  • properly uninstall the previous one
  • get the installation location of the previous installer
  • get the installed component if possible
  • implement all features needed.

Ah... none of which is my thing... 😞

@sammilucia
Copy link
Collaborator Author

I don't mind learning scripting for this... I guess once the script is written it shouldn't be difficult to maintain, it's just a pain to write because we'll only look at it infrequently and forget the language...

InstallAware and Advanced Installer both look good to me

@snowie2000
Copy link
Owner

snowie2000 commented Sep 22, 2018

Advanced installer is what I used so far and is very problematic. Maybe I didn't use it right?

@sammilucia
Copy link
Collaborator Author

@snowie2000 I think we should look at InstallAware Free, it looks similar in terms of features and is no scripting.

I'm happy to to take the lead on working out the installer if you like. I've always wanted to do it but never had a reason... Can you send me the scripts/source for the Advanced Installer package so I can analyse?

@sammilucia
Copy link
Collaborator Author

Or add them to github and I'll work directly in the repo. Whatever's easy for you.

Please also tell me the version of Advanced Installer you used if you can work it out - because you said new versions weren't compatible?

@snowie2000
Copy link
Owner

It's on my private git.
I sent you everything you need via email.

@sammilucia
Copy link
Collaborator Author

Okay ta ++

@mufunyo
Copy link

mufunyo commented Sep 29, 2018

As an end user, I have to say NSIS seems to be by far the fastest / cleanest / most hassle free installer I have ever used. As a programmer, the last (and only) installer software I've used was WISE, which is not free, so irrelevant in this discussion.

@sammilucia
Copy link
Collaborator Author

@mufunyo I agree on NSIS.

@snowie2000 NSIS supports all the features, except it's scripted. I'm happy to convert the Advanced Installer aip to an NSIS script, it should be easy to maintain from there looking at the scripting language it's pretty readable.

Looks like I can either build a new installer for beta2 for release basically today using Advanced Installer ... or probably an NSIS installer with a days work (so I'd have it ready in a week) ... Given AI has a history of some problems, maybe we try NSIS

Wdyt?

@snowie2000
Copy link
Owner

You have plenty of time to try, and I agree that NSIS is a good idea to work on.
Mactype is not ready for a public release yet since there are still some major problems to fix like #437 and #440, #439, and most seriously #271

@sammilucia
Copy link
Collaborator Author

After further investigation I was actually surprised to prefer Inno Setup. NSIS is powerful however some elements of the scripting language are unclear without knowing the language schema, especially with multi-language installs. Whereas Inno Setup I already have a rough working installer and so far it seems to support the same features.

I may change my mind if I hit a blocking issue with Inno Setup.

Thanks for the input guys!! Closing issue as complete.

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

No branches or pull requests

3 participants