Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

This is something I've wrestled with off and on for ages. I have several apps with Inno Setup installers. By default, they install for all users, but the program settings (in an INI file) stored in the user's local app data folder.

There are also data folders associated with the app and these default to a tree off a folder created off the user's My Documents folder - i.e. local to the current user.

Then, there are app data files which default to a folder off local app data.

Finally, there are temp files which default to a folder off %TEMP%.

I'm assuming that the installer will always have admin rights.

My question is: What installation options should I sensibly provide? I figure we have the following 8 combinations (assuming that the app data and temp files will always be local so we don't need an installation option for these):

  • Install for all users, all users share settings, all users share data files.
  • Install for all users, all users share settings, each user has separate data files.
  • Install for all users, each user has separate settings, all users share data files.
  • Install for all users, each user has separate settings, each user has separate data files.
  • Install for current user only, that user shares settings with other users, that user shares data files with other users.
  • Install for current user only, that user shares settings with other users, that user has their own data files.
  • Install for current user only, that user has separate settings, that user shares data files with other users.
  • Install for current user only, that user has separate settings, that user has their own data files.

We can cover all of the 8 combinations by having three extra pages to the installation procedure:

  • choose between "Install for all users" and "Install just for me"
  • choose between "Keep my settings separate from other users" and "Share my settings with other users"
  • choose between "Keep by data separate from other users" and "Share my data with other users"

but that might be a bit cumbersome. I think perhaps we should condense it to the commonly required scenarios and provide just one extra installation page with the ability to choose one. The problem is deciding what those scenarios are. I suspect some of them don't make much sense. Some customers moan about not having the settings common to all users.

I'm leaning towards the following :

  • App will always install "for everyone who uses this computer"
  • Only additional installation option will be to chose between settings/data common to all users ("common"), and settings/data separate for each user ("local")

For "common", the application INI file will be placed in All Users app data, for "local" in Local settings app data.

For "common", the installation default for the user's datafiles will be a folder off commondocs, for "local" a folder off My Documents (this would merely set the folder where the user's "Open data file" dialog would initially be situated when the app was first run).

The application's temp files will always be in Local settings temp, regardless of installation option.

I would appreciate comments.

share|improve this question
add comment

1 Answer

up vote 0 down vote accepted
  • Sharing settings is not a particularly good option. Users often have their own preferences. So I suggest always keeping them in a per-user location.
    • Especially when the configuration is stored in an INI file.
  • "Install for just me" should stay, and if possible it should work even if the user doesn't have Admin rights. Examples: Firefox, which installs to %LocalAppData%.
    • Unless, of course, if the program itself requires Admin to work.
  • Oh, and do not put shortcuts on "All Users" desktop. We have the Start Menu for that.
share|improve this answer
    
One app is used in an environment where many workers use the same PC to run the app. The app is used to access hardware which is communicated with over a COM port. The setting for the COM port in the INI file needs to be common to all users therefore so that the IT admin person can set it after installation and know it will be correct for all users, present and future. –  rossmcm Apr 16 '11 at 20:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.