This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 168443

Summary: Install on Windows should use user's Application Data folders, not home directory
Product: installer Reporter: nimarukan <nimarukan>
Component: CodeAssignee: Jiri Rechtacek <jrechtacek>
Status: RESOLVED DUPLICATE    
Severity: blocker CC: anebuzelsky, romantoo
Priority: P3    
Version: 7.0.1   
Hardware: PC   
OS: Windows 7   
Issue Type: DEFECT Exception Reporter:

Description nimarukan 2009-07-11 22:57:58 UTC
Netbeans clutters user's home directory with directories such as
.nbi/
.nbprofiler/
.netbeans/
.netbeans-registration/

1. clutter: On windows, folder names that start with '.' are not hidden, so these are listed first and clutter the
users' directory (and may leave some resentment for cluttering their directory, making navigation harder).

2. backups: windows applications separate the application created files into (a) user settings, and (b) local-machine
caches.  
NetBeans settings could be stored in subdirectories under  
  %HOME%/Application Data/NetBeans/     a.k.a. %APPDATA%/NetBeans/
NetBeans caches, logs, and temporaries would be stored in subdirectories under
  %HOME%/Local Settings/Application Data/NetBeans/

The bulky Netbeans caches of downloaded data would be appropriate for the latter.  I backup the user settings but not
the local caches; it would be easier if Netbeans already made the distinction.

Most other software with installers, including OpenOffice and even the current Gnu Emacs, use the Application Data
directory for user settings, and many use the Local Settings/Application Data directory for recomputable caches as well.

For reference:
----------
Application Specification for Microsoft Windows 2000 for Desktop Applications
Chapter 4: Data and Settings Management
4.2  Classify and store application data correctly
Using Application Data Folders

http://msdn.microsoft.com/en-us/library/ms995853.aspx

* CSIDL_APPDATA

  As part of the User profile, this folder will roam. Use this
  folder to store all user-specific application preferences. For
  example, if a user can specify a custom dictionary to be used in
  your application, you should store it here. That way if the user
  roams from computer to computer, their dictionary will roam with
  them. This also allows other users to have their own individual
  custom dictionaries.

* CSIDL_LOCAL_APPDATA

  This folder is for application data that does not roam. It is
  still part of the User profile, so this is still per-user
  information. Application data that is machine-dependent, such as
  user specified monitor resolution, should be stored here. This
  data must not roam because different machines have different
  monitors. In addition, large blocks of data which can easily be
  re-created should be placed here to minimize download time that is
  incurred when roaming. For example, Internet Explorer keeps its
  cache of downloaded html/gif pages here so that they don't roam
  with the user. But the smaller cookie and history lists are stored
  in CSIDL_APPDATA so that they roam.
----------
Comment 1 dlipin 2009-07-14 13:33:12 UTC
->enhancement.
Comment 2 dlipin 2010-01-24 23:27:57 UTC
*** Bug 179820 has been marked as a duplicate of this bug. ***
Comment 3 jeff_sd 2010-01-28 10:13:38 UTC
I can confirm same behavior on Windows 7 x64.

These directories should be put in their proper locations as noted in original report, or at least the installer should provide option to set the storage location.
Comment 4 dlipin 2010-03-31 17:03:32 UTC
*** Bug 179820 has been marked as a duplicate of this bug. ***
Comment 5 flybyray 2010-12-22 14:15:55 UTC
I appreciate that this will be done soon.
If you want to create a clean portable app of netbeans this is very important.

> http://portableapps.com/node/25974#comment-166420
Comment 6 Jiri Rechtacek 2011-11-10 09:55:57 UTC
I guess it's dup of issue 196075, planned for the next release.

*** This bug has been marked as a duplicate of bug 196075 ***