views:

353

answers:

1

I'd like to create Windows installer, which follows these steps:

  1. warn user to exit all programs
  2. introduce the extension to be installed
  3. if appropriate, ask the user for the name of the registered owner and for the license key
  4. display the extension's licensing agreement and ask the user to accept
  5. recommend a location on the disk to install the extension (but allow user to override this default)
  6. check that a product or a different extension is not already stored at the specified location
  7. ask user which product(s) to are to use this extension (search disk; browse; or skip)
  8. optionally, determine if extension is compatible with selected products
  9. ask user to confirm all details of the install
  10. create marker file to mark root of extension install
  11. copy files to disk (see below)
  12. insert name of registered owner and license key into the "about " description
  13. create an appropriate entry to allow the user to uninstall the extension
  14. write link file in each of the selected products to associate extension with product
  15. offer to show the extension release notes ("readme" file)

(Steps copied from Extension installer creation script)

I have several questions: Has anybody tried to create Windows installer for Eclipse feature before? Did it work for you? Any issues to be prepared for?

I have very little experience with installer packages. Which installer is able to handle all of these steps? For step 7, I'd like to search disk for installed Eclipse products (can be detected by .eclipseproduct file in main directory). Step 8 should check that prerequisite features are installed (not sure how to do this, but simply scanning for installed features in features directory should work for now), and if not, install them (will be bundled in installer)

I'd like to use one of Inno Setup, NSIS, Excelsior Installer, or possibly other. Which one is able to do the trick?

+2  A: 

I believe when it comes to install eclipse itself or upgrading one of its components, the p2 (Provisioning) mechanism ought to be favored upon any other installer.

See for instance the article "Composing and updating custom Eclipse distros" (for eclipse 3.5 Galileo) for more details.

VonC
Thank you for your comment. I don't want to create entire Eclipse distro. I want to help people to install my plugin into their Eclipse-based products (Eclipse itself, Adobe Flex Builder, Adobe Flash Builder, Zend Studio, Aptana Studio, etc.). I want something that is easy ... while "Help > Install New Software" works, it's very far from my definition of *easy* :-) It would be best if I could somehow "push" the plugin into the Eclipse, and Windows installer looks like a way (for windows users at least ;-))
Peter Štibraný
Hmm, but maybe I can use P2 from my installer at least: http://wiki.eclipse.org/Equinox_p2_director_application
Peter Štibraný
And for Eclipse 3.3: http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html
Peter Štibraný
@Peter: I understand: p2 is more about pulling (automatically detecting new versions) than pushing. Equinox installer is great, but I would not recommend it for eclipse version lower than 3.5. P2 has really matured between 3.4 and 3.5.
VonC
In the end I did use P2-based solution :-)
Peter Štibraný