juju Windows installer

Nate Finch nate.finch at canonical.com
Mon Aug 26 20:51:01 UTC 2013


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.
   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.
   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).
   4. I called the setup file juju-setup.exe .... 'cause it seemed like a
   good idea.
   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.
   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.
   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).
   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.
   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.
   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.
   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.

And now for some bandwidth-sucking pictures.

Nice big installer icon (multi size up to 256x256)... turns out this is
really easy to make in Gimp (after creating the correctly sized pngs with
Inkscape from the svg files).
[image: Inline image 6]

Ugly UAC dialog box when you run juju-setup.exe
[image: Inline image 8]

If we signed it we'd get something more like this:
[image: Inline image 10]

Here are the actual installer dialogs... let me know if you think anything
should be modified:

[image: Inline image 1]

[image: Inline image 2]
[image: Inline image 3]
[image: Inline image 4]

And here's how it looks in Programs and Features:
[image: Inline image 9]

Uninstall works as expected, including removing the application directory
from the path (if it was added to the path during install).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer2.png
Type: image/png
Size: 15055 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer6.png
Type: image/png
Size: 55587 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signed.png
Type: image/png
Size: 16383 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer4.png
Type: image/png
Size: 13360 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0011.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer UAC.png
Type: image/png
Size: 28039 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0012.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer.png
Type: image/png
Size: 42925 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0013.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer5.png
Type: image/png
Size: 12814 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0014.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: installer3.png
Type: image/png
Size: 12110 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20130826/6306f022/attachment-0015.png>


More information about the Juju-dev mailing list