juju Windows installer
John Arbash Meinel
john at arbash-meinel.com
Tue Aug 27 12:03:34 UTC 2013
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2013-08-27 0:51, Nate Finch wrote:
> The Windows installer for juju is complete, modulo what might be
> asked for in response to this email. I went with Inno Setup on
> John's suggestion, since the learning curve was minimal, it does
> everything we need it to do, and the installer generation script is
> nice plain text. Bonus points for being open source.
>
> Some notes:
>
> 1. This creates an exe installer, not an msi. Msi's can be more
> easily packaged together and are somewhat easier to push out to
> many computers on a Windows Domain, but otherwise, the differences
> are minimal.
I think one useful will for msi is automated (unattended install), but
it may be that juju-setup.exe supports that as well.
> 2. I'm not sure where to put the installer files (there's two
> installer scripts, two bitmaps, and an icon) in source control.
> Suggestions welcome.
We *could* have a 'juju-installer' project, but I think just putting
it into juju-core in the scripts/ directory like we have for building
the tarballs, etc.
> 3. I'm not sure how/if this should get tied into the build process
> (note that it does require a Windows box to run Inno Setup).
You could probably run it under Wine. And as for alternatives:
http://www.osalt.com/inno-setup
Lists Nullsoft, Launch4j and InstallJammer. Not that I'm advocating
them, but we might think about it.
I think we treat it like we treat copying tools today. When a release
happens Nate is tasked with running the script and uploading the
juju-setup-1.X.X.exe to launchpad.
> 4. I called the setup file juju-setup.exe .... 'cause it seemed
> like a good idea.
I'd like it to have the version number (juju-setup-1.13.2.exe) but
otherwise fine by me.
I'm also not sure if Windows prefers "juju-1.13.2-setup.exe", but
whatever pushes the right buttons.
> 5. Right now, the installer is not signed, so you get the ugly UAC
> dialog box shown below, if we have a cert that Windows can verify,
> it would look more professional to have the installer signed.
To use U1 as an example, we have
"ubuntuone-3.0.1-windows-installer.exe" and it has a Canonical UK Ltd
signature on it. We should talk to those guys about how to set up a
process for getting signed installers out, but it isn't something we
need to do today.
> 6. I didn't include a way for users to install to a non-default
> location. It's not hard to do, I just wasn't sure if it would be
> important, and in general I like as few steps in my installers as
> possible.
Most installers I've seen have a "install with default settings" vs
"custom install" that lets you set those things. I'd like to see that
if it isn't hard to do.
Especially since juju doesn't really need Admin priviledges, it would
be really good if we could let people install it to their local paths.
> 7. The installer requires 64 bit Windows (it's a 64 bit go
> compilation... we could make an executable and installer for a 32
> bit one as well if people think that's important).
We chatted about this on IRC. We *could* build both, but the client
doesn't really benefit from 64-bits, and the 32-bit version can be
installed everywhere. So it is probably best to just build 32-bit for now.
> 8. There's no license file in the installer... I wasn't really
> sure what license file to include, but if there's an appropriate
> one, please let me know.
There is a LICENSE in juju-core/LICENSE which shows juju is AGPLv3. So
probably we should include that.
> 9. The setup doesn't create desktop or start menu shortcuts, since
> they're pretty useless with a command line tool. However, this
> does mean that it's not exactly clear how to start using Juju
> after running the installer. It might be useful to extract the
> relevant test from the code's README and give the user the ability
> pop that up after install.
That seems ok. If we do create a shortcut it should be to "cmd.exe"
that starts with a PATH that has juju in the path. Otherwise we can
get there when we get there and not worry too much about it today.
> 10. The juju.exe executable currently has no icon (go doesn't
> produce executables with icons). Since it's a command line tool,
> that's not really a big deal, but I figured I'd mention it anyway.
> It's fixable after the fact with some third party tools, but I
> wasn't going to bother unless someone asked for it.
My google-fu turns up:
http://stackoverflow.com/questions/673203/add-icon-to-existing-exe-file-from-the-command-line
Which says that the RCEDIT.exe is provided by WinRun4J (which sounds
like it would be related to the above Launch4j).
I would put it under "something that we want to do". So at least file
a bug about it if we don't want to spend time today doing it.
> 11. The uninstaller won't remove the user's .juju directory. This
> is fairly common, since that is, in effect, user data and not part
> of the installed program itself. However, I wanted to point it
> out.
Sounds perfectly reasonable.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlIclZYACgkQJdeBCYSNAAP23ACeInogUvCkhOGm2VdMWZ9z/1QC
FOwAnRXXRk7Tt5ExIQwW0APgsN66Slt6
=d21U
-----END PGP SIGNATURE-----
More information about the Juju-dev
mailing list