Feature #342

NSIS installer for Windows

Added by Carlo Bramini over 3 years ago. Updated 9 months ago.

Status:Closed Start date:September 05, 2013
Priority:Minor Due date:
Assignee:- % Done:

100%

Category:win32
Target version:3.8
Affects version:3.5

Description

Hello,
I implemented an automated installer for audacious.
It uses NSIS as engine because it has several advantages:
- it provides a friendly user interface for easy installation
- it can be open and unpacked where you want like a simple ZIP file, by using your favorite uncompressor.

To apply this improvement, you must:
1) copy attached audacious.nsi.in into contrib/win32 directory of audacious source tree.
2) apply attached patch.

PREREQUISITES =============
on your Windows, you must download and install the latest NSIS package from its homepage:

http://nsis.sourceforge.net/Main_Page

For generating an installer:
1) configure, compile and install audacious and its plugins as usual.
2) copy additional files you need to make audacious working (like GTK+)
3) go into the contrib/win32 directory of your build tree, copy and paste the generated audacious.nsi in the root of your destination directory.
4) right click with the mouse on the NSIS file and select the desired option from the context menu, like it is shown in the attached screenshot.

LIMITATIONS ===========
The audacious.nsi file needs to know where the source files are, so I was forced to assume that the source files are located at the same level of your DESTDIR.
In other words, assuming for example that the sources are stored into $HOME/audacious-3.4.1, when configuring audacious, you must write something like:

./configure --prefix=$HOME/my_audacious

and, in the audacious.nsi files, the resources will be accessed by using ../audacious-3.4.1
Generating directly the path with autoconf won't work, because NSIS does not recognize unix paths, it needs DOS paths.
At the moment, compiling the NSIS file on development version does not work, at least not immediately, because the sources are saved in the "audacious" directory when they are fetched from GIT, while the script always appends the version to the path, for example it could be "audacious-3.5-devel", so that it could be used with the convention used for stable source releases: fixing the directory name where the sources are stored or correcting the NSIS script, in this particular case, is required.

TODO ====
Some improvements may be done on it:
- adding an option like --with-nsis/--without-nsis, for automating the copy of generated audacious.nsi to destination directory if the user wants.
- adding welcome, finish and header bitmaps, for customizing the dialog boxes: code is already implemented and commented, but the bitmaps are missing.
- adding registration of supported file extensions.
- adding shell integration, this means that when the user clicks with the right button of the mouse on a supported file, in the context menu you can select some options like "Play with audacious" or "add to playlist", etc.

Immagine.png (15.2 kB) Carlo Bramini, September 05, 2013 09:27

audacious.nsi.in (4.4 kB) Carlo Bramini, September 05, 2013 09:27

patch.txt Magnifier (275 Bytes) Carlo Bramini, September 05, 2013 09:27

History

#1 Updated by John Lindgren 12 months ago

See also the duplicate report #613.

#2 Updated by John Lindgren 9 months ago

  • Category set to win32
  • Status changed from New to Closed
  • Target version set to 3.8
  • % Done changed from 0 to 100

I tested this out and made a few modifications:
https://github.com/audacious-media-player/audacious/commit/ecbc4619cead19e85b6b6a04448fd7b9cb813c1a

We should have a working installer for 3.8.

Also available in: Atom PDF