imagej / imagej/imagej2

Create a Windows installer for ImageJ2/Fiji

Open
#72 31 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

deployment
Dominant language
Java
Stars
1.4k
Forks
350
PR merge metrics
No merged PRs in 30d

Description

Right now, Fiji and ImageJ2 have the problem that if unpacked into the `Program Files` directory on Windows, the ImageJ Updater does not have full, unimpeded read/write access to its own directory. This is due to the Windows security model. It is in general very difficult to detect programmatically whether things will work; they might seem to work temporarily until the computer is rebooted, for example.

However, there is a potential solution: distribute the Windows version of ImageJ using an installer such as NSIS or Inno Setup, and have the installer flag the entire ImageJ/Fiji directory as globally writable by all users.

For details, see [this SO answer](http://stackoverflow.com/a/8486370) and [this Inno Setup FAQ entry](http://www.jrsoftware.org/isfaq.php#perms).

Having a Windows installer will be good anyway because Windows users are most comfortable with them (just like OS X users are comfortable with DMG images which they mount and then copy the .app into `/Applications` themselves).

One wrinkle is that we still want to give a helpful error message if ImageJ/Fiji was manually unpacked into `Program Files` _without_ using the installer. To do that, we can have the installer write a stub file into the installation directory, which is not present in the ImageJ/Fiji cross-platform zip distribution. And if the Updater does not see that stub file, it refuses to try to update an installation in `Program Files`.

Migrated-From: http://trac.imagej.net/ticket/2011

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by investigating the Windows distribution and ImageJ Updater entry points, then compare the proposed NSIS or Inno Setup approaches. Done means a Windows installer provides writable installation permissions, writes the installation stub, and the updater gives a helpful error for unpacked installations under Program Files.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.