diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index 0ea7f99ac..e2705c484 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,9 @@ +2005-05-18 Brian Dessent + + * install.texinfo ("How do I uninstall..."): Rewrite to cover + removing services, dealing with permissions, and other common + tasks for removing Cygwin completely. + 2005-05-08 Joshua Daniel Franklin * how-programming.texinfo: Replace MAKE_MODE entry with FAQ about diff --git a/winsup/doc/install.texinfo b/winsup/doc/install.texinfo index 10bbe469c..372be44d2 100644 --- a/winsup/doc/install.texinfo +++ b/winsup/doc/install.texinfo @@ -252,30 +252,60 @@ the action reads ``Uninstall''. Proceed by clicking ``Next''. @subsection How do I uninstall @strong{all} of Cygwin? -Setup has no automatic uninstall facility. Just delete everything -manually: +Setup has no automatic uninstall facility. The recommended method to remove all +of Cygwin is as follows: -@itemize @bullet -@item Cygwin shortcuts on the Desktop and Start Menu +@enumerate -@item The registry tree @samp{Software\Cygnus Solutions} under -@code{HKEY_LOCAL_MACHINE} and/or @code{HKEY_CURRENT_USER}. +@item Remove all Cygwin services. If a service is currently running, it must +first be stopped with @samp{cygrunsrv -E name}, where @samp{name} +is the name of the service. Then use @samp{cygrunsrv -R name} to uninstall the +service from the registry. Repeat this for all services that you installed. +Common services that might have been installed are @code{sshd}, @code{cron}, +@code{cygserver}, @code{inetd}, @code{apache}, and so on. -@item Anything under the Cygwin root folder, @samp{C:\cygwin} by -default. - -@item Anything created by setup in its temporary working directory. - -@end itemize - -It's up to you to deal with other changes you made to your system, such -as installing the inetd service, altering system paths, etc. Setup -would not have done any of these things for you. - -If you want to save your mount points for a later reinstall, save the -output of @samp{mount -m} as described at +@item Stop the X11 server if it is running, and terminate any Cygwin programs +that might be running in the background. Remove all mount information by typing +@samp{umount -A} and then exit the command prompt and ensure that no Cygwin +processes remain. Note: If you want to save your mount points for a later +reinstall, first save the output of @samp{mount -m} as described at @file{http://cygwin.com/cygwin-ug-net/using-utils.html#mount}. +@item Delete the Cygwin root folder and all subfolders. If you get an error +that an object is in use, then ensure that you've stopped all services and +closed all Cygwin programs. If you get a 'Permission Denied' error then you +will need to modify the permissions and/or ownership of the files or folders +that are causing the error. For example, sometimes files used by system +services end up owned by the SYSTEM account and not writable by regular users. + +The quickest way to delete the entire tree if you run into this problem is to +change the ownership of all files and folders to your account. To do this in +Windows Explorer, right click on the root Cygwin folder, choose Properties, then +the Security tab. Select Advanced, then go to the Owner tab and make sure your +account is listed as the owner. Select the 'Replace owner on subcontainers and +objects' checkbox and press Ok. After Explorer applies the changes you should +be able to delete the entire tree in one operation. Note that you can also +achieve this in Cygwin by typing @samp{chown -R user /} or by using other tools +such as CACLS.EXE. + +@item Delete the Cygwin shortcuts on the Desktop and Start Menu, and anything +left by setup.exe in the download directory. However, if you plan to reinstall +Cygwin it's a good idea to keep your setup.exe download directory since you can +reinstall the packages left in its cache without redownloading them. + +@item If you added Cygwin to your system path, you should remove it unless you +plan to reinstall Cygwin to the same location. Similarly, if you set your +CYGWIN environment variable system-wide and don't plan to reinstall, you should +remove it. + +@item Finally, if you want to be thorough you can delete the registry tree +@samp{Software\Cygnus Solutions} under @code{HKEY_LOCAL_MACHINE} and/or +@code{HKEY_CURRENT_USER}. However, if you followed the directions above you +will have already removed all the mount information which is typically the only +thing stored in the registry. + +@end enumerate + @subsection How do I install snapshots? First, are you sure you want to do this? Snapshots are risky. They