* bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation @ 2024-01-27 9:24 Дилян Палаузов 2024-01-28 3:00 ` Stefan Kangas 0 siblings, 1 reply; 10+ messages in thread From: Дилян Палаузов @ 2024-01-27 9:24 UTC (permalink / raw) To: 68756 Hello, I have installed Emacs on Windows using emacs-29.1_2-installer.exe . It has put a folder named “Emacs 29.1” in the Start Menu. That folder has two icons “Emacs” and “Uninstall”. Then I installed emacs-29.2-installer.exe . It asks “Select the Start Menu folder in which you would like to create program's shortcuts. You can also enter a name to create a new folder” and the system suggests as name “Emacs-29.2”. I «Close» to complete the setup with the suggested folder. Now I have for each emacs version a separate directory under C:\Program Files\Emacs . I also have two Start Menu folders: Emacs-29.1 containing “Emacs” and “Uninstall” and Emacs-29.2 containing only “Emacs”. I click on “Uninstall”. It says “Emacs-29.2 will be uninstalled”, despite being in the 29.1 folder, but it actually deletes the emacs-29.1 and emacs-29.2 files. After the deinstallation the Start Menu folders “Emacs-29.1 and Emacs-29.2” are still present. • Uninstalling emacs should remove the Start Menu directories, created during installing emacs. • Installing emacs should ask to first remove the previously installed emacs version, as long as it does not do inplace upgrade (substitution). Kind regards Дилян ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-01-27 9:24 bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation Дилян Палаузов @ 2024-01-28 3:00 ` Stefan Kangas 2024-01-28 17:56 ` Corwin Brust 0 siblings, 1 reply; 10+ messages in thread From: Stefan Kangas @ 2024-01-28 3:00 UTC (permalink / raw) To: Дилян Палаузов, 68756 Cc: Corwin Brust Дилян Палаузов <dilyan.palauzov@aegee.org> writes: > Hello, > > I have installed Emacs on Windows using emacs-29.1_2-installer.exe . It has put a folder named “Emacs 29.1” in the Start Menu. That folder has two icons “Emacs” and “Uninstall”. > > Then I installed emacs-29.2-installer.exe . It asks “Select the Start Menu folder in which you would like to create program's shortcuts. You can also enter a name to create a new folder” and the system suggests as name “Emacs-29.2”. I «Close» to complete the setup with the suggested folder. Now I have for each emacs version a separate directory under C:\Program Files\Emacs . > > I also have two Start Menu folders: Emacs-29.1 containing “Emacs” and “Uninstall” and Emacs-29.2 containing only “Emacs”. I click on “Uninstall”. It says “Emacs-29.2 will be uninstalled”, despite being in the 29.1 folder, but it actually deletes the emacs-29.1 and emacs-29.2 files. After the deinstallation the Start Menu folders “Emacs-29.1 and Emacs-29.2” are still present. > > • Uninstalling emacs should remove the Start Menu directories, created during installing emacs. > • Installing emacs should ask to first remove the previously installed emacs version, as long as it does not do inplace upgrade (substitution). > > Kind regards > Дилян Corwin, could you please take a look at the above bug report? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-01-28 3:00 ` Stefan Kangas @ 2024-01-28 17:56 ` Corwin Brust 2024-01-28 20:04 ` Stefan Kangas 0 siblings, 1 reply; 10+ messages in thread From: Corwin Brust @ 2024-01-28 17:56 UTC (permalink / raw) To: Stefan Kangas Cc: 68756, Дилян Палаузов On Sat, Jan 27, 2024 at 9:00 PM Stefan Kangas <stefankangas@gmail.com> wrote: > > Дилян Палаузов <dilyan.palauzov@aegee.org> writes: > > > > > • Uninstalling emacs should remove the Start Menu directories, created during installing emacs. > > • Installing emacs should ask to first remove the previously installed emacs version, as long as it does not do inplace upgrade (substitution). > > > > Kind regards > > Дилян > > Corwin, could you please take a look at the above bug report? > Absolutely; I saw this but have not started digging in, nor did I make a simple "ACK" reply, as probably I ought to have done. Is there anything in the tracker or otherwise I should do to "assign to self"/claim/volunteer, or is the correct way simply to reply back "thank you for the bug report, I plan to look <but-life|soonish>"? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-01-28 17:56 ` Corwin Brust @ 2024-01-28 20:04 ` Stefan Kangas 2024-02-11 22:56 ` bug#67667: " Corwin Brust 0 siblings, 1 reply; 10+ messages in thread From: Stefan Kangas @ 2024-01-28 20:04 UTC (permalink / raw) To: Corwin Brust Cc: 68756, Дилян Палаузов Corwin Brust <corwin@bru.st> writes: > Is there anything in the tracker or otherwise I should do to "assign > to self"/claim/volunteer, or is the correct way simply to reply back > "thank you for the bug report, I plan to look <but-life|soonish>"? Given the limitations of our bug tracker, that's the only way I know of. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#67667: bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-01-28 20:04 ` Stefan Kangas @ 2024-02-11 22:56 ` Corwin Brust 2024-02-15 18:27 ` Дилян Палаузов 0 siblings, 1 reply; 10+ messages in thread From: Corwin Brust @ 2024-02-11 22:56 UTC (permalink / raw) To: Stefan Kangas, Дилян Палаузов Cc: 68756, 67667 [-- Attachment #1: Type: text/plain, Size: 2789 bytes --] tags 68756 + patch thanks Дилян, I have created an installer based on the attached patch and posted it to my own site. If you try that out please let me know what you think. https://bru.st/i/emacs-29.2.50_bug%2358756-installer.exe Note, this is based on the "tip" of the emacs-29 branch, and not built from the release sources for no other reason than expediency: I am running a CI locally so I can easily test changes to the NSI installer without (especially) compiling other things. And that also means I'm quite open to trying things, if we come up with more adventurous changes than those proposed here. Reprising your original expectations: > • Uninstalling emacs should remove the Start Menu directories, created during installing emacs. This is fixed, I believe, however a bug remains (I will file a new bug given we wind up taking things in pieces, as I'm suggesting): customizing the name of the Start Menu folder isn't working for me with or without this patch. Meanwhile: > • Installing emacs should ask to first remove the previously installed emacs version, as long as it does not do inplace upgrade (substitution). Per this patch I did not add any Sections or controls, however a given uninstaller will no-longer delete any other versions beside the one it installed. I am open to better and more dramatic changes, but I think it might make sense to work in stages, perhaps under quite granular bug reports. In any event, I expect to "work my way up" to any more complex changes needed to the NSI script incrementally. Stefan, I think the attached minimal change, plus the other patch for not needing to "accept" licensing in 67667 (which tracker I've added in CC), would be a good basis for making a 29.2_2. Ideally, we could push these two and then I will create a 29.2_2 set. From there, I'll probably focus on improving things for the 30.1 series pre-tests notwithstanding "show stoppers" with the top-of-stack 29.x binaries. I can work on (each of) this smaller changes as much as needed, but I'd like to keep the installer simple while we do. (E.g. defer adding any new Sections/pages or controls we can live without until Emacs 30.) As an example of something not addressed by the patch, only the mostly recently installed Emacs can be uninstalled. To address that will require giving each uninstaller a unique name as part of creating it under the installation target directory. I'm fairly confident I'll get that right, but I'm not as confident as I am of the one attached. Moreover, I would prioritize fixing the issue of (potentially) deleting several installed versions without mentioning (which, Дилян, thank you again for reporting that that is happening). Corwin [-- Attachment #2: 0001-admin-nt-dist-build-emacs.nsi-Uninstall-delete-one-version-only.patch --] [-- Type: application/octet-stream, Size: 1475 bytes --] * admin/nt/dist-build/emacs.nsi: (Uninstall) delete only one version Previously, the uninstaller would recursively, unconditionally, remove the parent folder, rather than the sub-folder containing the binaries corrisponding to the installer. Now Uninstall will always remove the files copied during Install and remove (e.g.) "Program Files\Emacs" only if no other (e.g.) copies of Emacs (or other files) remain therein. Additionally, the uninstaller did not remove the Shortcut to runemacs.exe, preventing deletion of the Start Menu entry. (Bug#56856) --- admin/nt/dist-build/emacs.nsi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/admin/nt/dist-build/emacs.nsi b/admin/nt/dist-build/emacs.nsi index 557bb106dde..bc9db61b9ae 100644 --- a/admin/nt/dist-build/emacs.nsi +++ b/admin/nt/dist-build/emacs.nsi @@ -66,12 +66,16 @@ Section "Uninstall" # Always delete uninstaller first Delete "$INSTDIR\Uninstall.exe" - # now delete installed directory - RMDir /r "$INSTDIR" + # recursively delete directory for this version + RMDir /r "$INSTDIR\emacs-${VERSION_BRANCH}" + + # remove the Emacs directory in Program Files (if empty) RMDir "$INSTDIR" !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder + # remove Start Menu Program shortcuts + Delete "$SMPROGRAMS\$StartMenuFolder\Emacs.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" RMDir "$SMPROGRAMS\$StartMenuFolder" SectionEnd -- 2.36.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-02-11 22:56 ` bug#67667: " Corwin Brust @ 2024-02-15 18:27 ` Дилян Палаузов 2024-02-15 18:47 ` bug#68756: bug#67667: " Corwin Brust 0 siblings, 1 reply; 10+ messages in thread From: Дилян Палаузов @ 2024-02-15 18:27 UTC (permalink / raw) To: Corwin Brust, Stefan Kangas; +Cc: 68756, 67667 [-- Attachment #1: Type: text/plain, Size: 3712 bytes --] Hello Corwin, before installing emacs-29.2.50_bug#58756-installer.exe I have installed emacs-29.2-installer.exe . The latter has created a Start Menu group emacs 29.2 with two icons - emacs and uninstall. After installing emacs-29.2.50_bug#58756-installer.exe it creates separate Start Menu directory 29.2.50. The Start menu Emacs 29.2/uninstall disappears. After clicking Start Menu/emacs 29.2.50/uninstall the entry Emacs 29.2/uninstall appears again, but it is now dysfunctional. Apart from this, uninstalling 29.2.50 does remove the Start Menu entries it has created. I cannot test if two different versions work during install/uninstall as expected, since I have no two different versions which are at the same time “fixed”. Kind regards Дилян На 11 февруари 2024 г. 22:56:17 UTC, Corwin Brust <corwin@bru.st> написа: >tags 68756 + patch >thanks > >Дилян, I have created an installer based on the attached patch and >posted it to my own site. If you try that out please let me know what >you think. > >https://bru.st/i/emacs-29.2.50_bug%2358756-installer.exe > >Note, this is based on the "tip" of the emacs-29 branch, and not built >from the release sources for no other reason than expediency: I am >running a CI locally so I can easily test changes to the NSI installer >without (especially) compiling other things. And that also means I'm >quite open to trying things, if we come up with more adventurous >changes than those proposed here. > >Reprising your original expectations: > >> • Uninstalling emacs should remove the Start Menu directories, created during installing emacs. > >This is fixed, I believe, however a bug remains (I will file a new bug >given we wind up taking things in pieces, as I'm suggesting): >customizing the name of the Start Menu folder isn't working for me >with or without this patch. Meanwhile: > >> • Installing emacs should ask to first remove the previously installed emacs version, as long as it does not do inplace upgrade (substitution). > >Per this patch I did not add any Sections or controls, however a given >uninstaller will no-longer delete any other versions beside the one it >installed. > >I am open to better and more dramatic changes, but I think it might >make sense to work in stages, perhaps under quite granular bug >reports. In any event, I expect to "work my way up" to any more >complex changes needed to the NSI script incrementally. > >Stefan, > >I think the attached minimal change, plus the other patch for not >needing to "accept" licensing in 67667 (which tracker I've added in >CC), would be a good basis for making a 29.2_2. Ideally, we could >push these two and then I will create a 29.2_2 set. From there, I'll >probably focus on improving things for the 30.1 series pre-tests >notwithstanding "show stoppers" with the top-of-stack 29.x binaries. >I can work on (each of) this smaller changes as much as needed, but >I'd like to keep the installer simple while we do. (E.g. defer adding >any new Sections/pages or controls we can live without until Emacs >30.) > >As an example of something not addressed by the patch, only the mostly >recently installed Emacs can be uninstalled. To address that will >require giving each uninstaller a unique name as part of creating it >under the installation target directory. I'm fairly confident I'll >get that right, but I'm not as confident as I am of the one attached. >Moreover, I would prioritize fixing the issue of (potentially) >deleting several installed versions without mentioning (which, Дилян, >thank you again for reporting that that is happening). > > >Corwin [-- Attachment #2: Type: text/html, Size: 4514 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: bug#67667: bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-02-15 18:27 ` Дилян Палаузов @ 2024-02-15 18:47 ` Corwin Brust 2024-02-15 19:30 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Corwin Brust @ 2024-02-15 18:47 UTC (permalink / raw) To: Дилян Палаузов, Eli Zaretskii, Stefan Kangas Cc: 68756 On Thu, Feb 15, 2024 at 12:27 PM Дилян Палаузов <Dilyan.Palauzov@aegee.org> wrote: > > Hello Corwin, > > before installing emacs-29.2.50_bug#58756-installer.exe I have installed emacs-29.2-installer.exe . The latter has created a Start Menu group emacs 29.2 with two icons - emacs and uninstall. After installing emacs-29.2.50_bug#58756-installer.exe it creates separate Start Menu directory 29.2.50. The Start menu Emacs 29.2/uninstall disappears. After clicking Start Menu/emacs 29.2.50/uninstall the entry Emacs 29.2/uninstall appears again, but it is now dysfunctional. Apart from this, uninstalling 29.2.50 does remove the Start Menu entries it has created. I cannot test if two different versions work during install/uninstall as expected, since I have no two different versions which are at the same time “fixed”. > Thank you very much for testing Дилян. This is as I would expect: I won't be able to change the behavior of previously created installers. For this reason we should probably put out some type of advisory that using executing any version of the installer published so far will unconditionally remove <program files>\Emacs and all version of Emacs therein. Stefan, Eli, Do you have thoughts on alerting users of the windows installer to this, and how we would best do that? (Is this a good candidate for PROBLEMS?) ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: bug#67667: bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-02-15 18:47 ` bug#68756: bug#67667: " Corwin Brust @ 2024-02-15 19:30 ` Eli Zaretskii 2024-02-15 20:32 ` Corwin Brust 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2024-02-15 19:30 UTC (permalink / raw) To: Corwin Brust; +Cc: 68756, Dilyan.Palauzov, stefankangas > From: Corwin Brust <corwin@bru.st> > Date: Thu, 15 Feb 2024 12:47:18 -0600 > Cc: 68756@debbugs.gnu.org > > On Thu, Feb 15, 2024 at 12:27 PM Дилян Палаузов > <Dilyan.Palauzov@aegee.org> wrote: > > > > Hello Corwin, > > > > before installing emacs-29.2.50_bug#58756-installer.exe I have installed emacs-29.2-installer.exe . The latter has created a Start Menu group emacs 29.2 with two icons - emacs and uninstall. After installing emacs-29.2.50_bug#58756-installer.exe it creates separate Start Menu directory 29.2.50. The Start menu Emacs 29.2/uninstall disappears. After clicking Start Menu/emacs 29.2.50/uninstall the entry Emacs 29.2/uninstall appears again, but it is now dysfunctional. Apart from this, uninstalling 29.2.50 does remove the Start Menu entries it has created. I cannot test if two different versions work during install/uninstall as expected, since I have no two different versions which are at the same time “fixed”. > > > > Thank you very much for testing Дилян. This is as I would expect: I > won't be able to change the behavior of previously created installers. > > For this reason we should probably put out some type of advisory that > using executing any version of the installer published so far will > unconditionally remove <program files>\Emacs and all version of Emacs > therein. > > Stefan, Eli, > > Do you have thoughts on alerting users of the windows installer to > this, and how we would best do that? (Is this a good candidate for > PROBLEMS?) No, PROBLEMS is not a good place, I think. But why cannot you remove those old shortcuts/submenus when the new Emacs version is installed? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: bug#67667: bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-02-15 19:30 ` Eli Zaretskii @ 2024-02-15 20:32 ` Corwin Brust 2024-02-16 7:14 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Corwin Brust @ 2024-02-15 20:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 68756, Dilyan.Palauzov, stefankangas On Thu, Feb 15, 2024 at 1:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > > No, PROBLEMS is not a good place, I think. > Does it make sense to get the word out that running any version of the installer so far published will remove all Emacs versions installed under the chosen installation path (<Program FIles>\Emacs, by default)? If so, I'm not sure how. (PROBLEMS is what I could think of). > But why cannot you remove those old shortcuts/submenus when the new > Emacs version is installed? > Perhaps I can. I agree to try. To confirm, the goal would be to remove any *broken* shortcuts, I think. (We do not currently create submenus unless the user specifies the pathing manually.) We might also consider deleting older uninstallers, however I'll come back to this point. If that is correct, a question would be if we can confine ourselves to looking at the user's selected Start Menu folder, during install, or if we should instead traverse the user's entire Start Menu hierarchy looking for broken shortcuts to runemacs.exe (and maybe old uninstallers), and deleting them. Yet another option here would be scanning for older versions and asking what to do with them. This would be more of my preferred option, however I don't expect to be fast creating and testing a net-new feature created in a language I'm just learning, for this work. I guess I'll be racing to be ready for Emacs 30.1 pretests, if we take all that on. For this reason (there are much better solutions but I cannot create and test them quickly), I think we should apply what we have so far and I should produce a new set of binaries which installer will not unconditionally uninstall older Emacs versions. Users who want to delete things can do so, but an unexpected recursive delete feels like a very serious problem. Do you have reservations, Eli? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#68756: bug#67667: bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation 2024-02-15 20:32 ` Corwin Brust @ 2024-02-16 7:14 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2024-02-16 7:14 UTC (permalink / raw) To: Corwin Brust; +Cc: 68756, Dilyan.Palauzov, stefankangas > From: Corwin Brust <corwin@bru.st> > Date: Thu, 15 Feb 2024 14:32:10 -0600 > Cc: 68756@debbugs.gnu.org, Dilyan.Palauzov@aegee.org, stefankangas@gmail.com > > On Thu, Feb 15, 2024 at 1:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > But why cannot you remove those old shortcuts/submenus when the new > > Emacs version is installed? > > > > Perhaps I can. I agree to try. To confirm, the goal would be to > remove any *broken* shortcuts, I think. (We do not currently create > submenus unless the user specifies the pathing manually.) We might > also consider deleting older uninstallers, however I'll come back to > this point. > > If that is correct, a question would be if we can confine ourselves to > looking at the user's selected Start Menu folder, during install, or > if we should instead traverse the user's entire Start Menu hierarchy > looking for broken shortcuts to runemacs.exe (and maybe old > uninstallers), and deleting them. If the latter is feasible, perhaps do that, maybe as an option after user confirmation? The former is probably the minimum you should do. > Yet another option here would be scanning for older versions and > asking what to do with them. This would be more of my preferred > option, however I don't expect to be fast creating and testing a > net-new feature created in a language I'm just learning, for this > work. I guess I'll be racing to be ready for Emacs 30.1 pretests, if > we take all that on. > > For this reason (there are much better solutions but I cannot create > and test them quickly), I think we should apply what we have so far > and I should produce a new set of binaries which installer will not > unconditionally uninstall older Emacs versions. Users who want to > delete things can do so, but an unexpected recursive delete feels like > a very serious problem. > > Do you have reservations, Eli? No, SGTM. And it's your call anyway, as I don't have a lot of experience using installers. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-02-16 7:14 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-01-27 9:24 bug#68756: Uninstalling emacs does not remove Start Menu entries created during the installation Дилян Палаузов 2024-01-28 3:00 ` Stefan Kangas 2024-01-28 17:56 ` Corwin Brust 2024-01-28 20:04 ` Stefan Kangas 2024-02-11 22:56 ` bug#67667: " Corwin Brust 2024-02-15 18:27 ` Дилян Палаузов 2024-02-15 18:47 ` bug#68756: bug#67667: " Corwin Brust 2024-02-15 19:30 ` Eli Zaretskii 2024-02-15 20:32 ` Corwin Brust 2024-02-16 7:14 ` Eli Zaretskii
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.