Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Mon, 24 Jul 2000 21:53:35 -0400 Message-Id: <200007250153.VAA10202@envy.delorie.com> From: DJ Delorie To: cygwin-developers AT sources DOT redhat DOT com Subject: sample setup "version chooser" I've had to build a custom control for the next thing I'm working on in setup, so please try this and comment on it: http://www.delorie.com/sample-chooser.exe A little info about what I'm trying to accomplish: The setup.ini file that we use allows us to specify up to three versions of each package that are available for download. We label these: * the current stable version * the previous stable version (for paranoids) * an experimental version (for the daring) In addition, there's a fourth version - the one the user already has installed (they can choose to keep that version). When you add "Uninstall", we get a maximum of five options for what to do about each package. These options are in the "New" column in the chooser (the one with the cycling arrows icon), and the user would click on entries in that column to change them (the final version would have suitable instructions in the dialog). The sample pre-fills the list with some test cases. Setup.ini will also, in the near future, be able to specify whether a package is installed by default, or skipped by default. My original idea was for the user to select a default level of paranoia/daring that I call "trust" (how much you trust the packages to work right). Then, when they run setup, it checks to see what the appropriate version of each package is based on their tags and your trust, and automatically updates your system to match that. However, the chooser I've created allows the user to override that default on a package-by-package basis, so you could (for example) try an experimental version of just one package, or choose to uninstall a single package. If the user selects to install a package that isn't installed by default, should it get upgraded automatically by default after that? Same for uninstalling a package that's installed by default. What you can't do at the moment are these: You can't have different default trust levels for each package. I.e. you can't automatically get new experimental releases for some packages, but stick with stable releases for others. You can't easily choose a new trust level while looking at the list of packages. If this is a popular request, I may rewrite the code to support it, but at the moment it's all picked at startup.