digitalmars.D - Uninstall deletes user created folders too
- John J (10/10) Jan 08 2014 The Uninstall on Windows is deleting user created folders too! :(
- Brad Anderson (9/21) Jan 08 2014 I've made a pull request to fix this:
- eles (4/6) Jan 09 2014 why not create the list during the installation? just scan the
- Marco Leise (7/15) Jan 09 2014 Why not use an installer that has this functionality built in?
- John J (3/6) Jan 09 2014 Inno Setup has pretty good support for this kind of things and a lot mor...
- Vladimir Panteleev (5/8) Jan 09 2014 As I understand, the compiler is not included in the installer -
- Brad Anderson (5/13) Jan 09 2014 Exactly. Just preparing a list wouldn't be terribly hard in most
- Jacob Carlborg (4/7) Jan 09 2014 You can't call out to an external script?
- Brad Anderson (4/11) Jan 09 2014 You can run arbitrary programs while the installer runs, sure
- Jacob Carlborg (5/8) Jan 09 2014 If you feel you're limited by the language, move it to a script file,
- Jacob Carlborg (5/9) Jan 09 2014 Just unpack it in a temporary folder an inspect which files are in the
- Brad Anderson (7/14) Jan 09 2014 That's what needs to be done. NSIS doesn't make doing things like
- Jacob Carlborg (5/11) Jan 09 2014 Why do you need to download the zip, just include the files you need
- Brad Anderson (5/18) Jan 09 2014 The decision to do that predates my interest in D so I'm not sure
- Jesse Phillips (6/12) Jan 09 2014 I believe it was because the installer was not an official
- Jacob Carlborg (4/8) Jan 09 2014 Exactly, my point.
- John Colvin (7/19) Jan 09 2014 This is the second time this has come up. While I agree that
- Orvid King (4/26) Jan 09 2014 I keep my git head version of D, and consequentially, my single-click
- John Colvin (4/36) Jan 09 2014 sure, it's neat. But still, I would never do it myself.
- Brad Anderson (4/9) Jan 09 2014 I keep mine in C:\D-git with an identical directory structure as
- Brad Anderson (7/13) Jan 09 2014 Before it was because Walter used Jordi's installer which runs
The Uninstall on Windows is deleting user created folders too! :( I thought it's a good idea to uninstall the previous version of D before I install the latest one, but when I did that, it deleted the C:\D folder, including the sub-folders and files I created under that "D" folder! :( This is most unusual behavior. Can someone please fix the installer? And as I was panic, I made a quick search and installed Recuva to undelete the files.. but sadly it overwrote the important files I thought of recovering! (I guess I should have tried it from a different partition or a USB stick).
Jan 08 2014
On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:The Uninstall on Windows is deleting user created folders too! :( I thought it's a good idea to uninstall the previous version of D before I install the latest one, but when I did that, it deleted the C:\D folder, including the sub-folders and files I created under that "D" folder! :( This is most unusual behavior. Can someone please fix the installer? And as I was panic, I made a quick search and installed Recuva to undelete the files.. but sadly it overwrote the important files I thought of recovering! (I guess I should have tried it from a different partition or a USB stick).I've made a pull request to fix this: https://github.com/D-Programming-Language/installer/pull/37 It only will avoid removing the installation folder if the root is empty. With this change you can safely add stuff to the root of the installation folder but if you add stuff to the C:\D\{dm,dmd,dmd2} folders they will still be deleted. I'd like it to only remove files that were installed but it'd need an exact list and we don't have that at the moment.
Jan 08 2014
On Thursday, 9 January 2014 at 07:11:21 UTC, Brad Anderson wrote:On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:exact list and we don't have that at the moment.why not create the list during the installation? just scan the archive or whatever to find out the files that are to be deployed and store those in a list (if successfully deployed).
Jan 09 2014
Am Thu, 09 Jan 2014 09:12:30 +0000 schrieb "eles" <eles eles.com>:On Thursday, 9 January 2014 at 07:11:21 UTC, Brad Anderson wrote:Why not use an installer that has this functionality built in? I would have thought that this is basic stuff for any installer. -- MarcoOn Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:exact list and we don't have that at the moment.why not create the list during the installation? just scan the archive or whatever to find out the files that are to be deployed and store those in a list (if successfully deployed).
Jan 09 2014
On 01/09/2014 10:07 AM, Marco Leise wrote:Why not use an installer that has this functionality built in? I would have thought that this is basic stuff for any installer.Inno Setup has pretty good support for this kind of things and a lot more.. http://www.jrsoftware.org/isinfo.php
Jan 09 2014
On Thursday, 9 January 2014 at 15:07:02 UTC, Marco Leise wrote:Why not use an installer that has this functionality built in? I would have thought that this is basic stuff for any installer.As I understand, the compiler is not included in the installer - the installer downloads a ZIP file with the compiler from the DM website/CDN and unpacks it. The problem is knowing exactly which files came from the ZIP file.
Jan 09 2014
On Thursday, 9 January 2014 at 16:34:53 UTC, Vladimir Panteleev wrote:On Thursday, 9 January 2014 at 15:07:02 UTC, Marco Leise wrote:Exactly. Just preparing a list wouldn't be terribly hard in most languages but NSIS isn't exactly the easiest scripting language to do just about anything in.Why not use an installer that has this functionality built in? I would have thought that this is basic stuff for any installer.As I understand, the compiler is not included in the installer - the installer downloads a ZIP file with the compiler from the DM website/CDN and unpacks it. The problem is knowing exactly which files came from the ZIP file.
Jan 09 2014
On 2014-01-09 18:53, Brad Anderson wrote:Exactly. Just preparing a list wouldn't be terribly hard in most languages but NSIS isn't exactly the easiest scripting language to do just about anything in.You can't call out to an external script? -- /Jacob Carlborg
Jan 09 2014
On Thursday, 9 January 2014 at 20:02:22 UTC, Jacob Carlborg wrote:On 2014-01-09 18:53, Brad Anderson wrote:You can run arbitrary programs while the installer runs, sure (good idea). You can't run programs/scripts while building the installer itself however.Exactly. Just preparing a list wouldn't be terribly hard in most languages but NSIS isn't exactly the easiest scripting language to do just about anything in.You can't call out to an external script?
Jan 09 2014
On 2014-01-10 01:09, Brad Anderson wrote:You can run arbitrary programs while the installer runs, sure (good idea). You can't run programs/scripts while building the installer itself however.If you feel you're limited by the language, move it to a script file, either batch or JScript and call that when installing. -- /Jacob Carlborg
Jan 09 2014
On 2014-01-09 17:34, Vladimir Panteleev wrote:As I understand, the compiler is not included in the installer - the installer downloads a ZIP file with the compiler from the DM website/CDN and unpacks it. The problem is knowing exactly which files came from the ZIP file.Just unpack it in a temporary folder an inspect which files are in the package. -- /Jacob Carlborg
Jan 09 2014
On Thursday, 9 January 2014 at 09:12:31 UTC, eles wrote:On Thursday, 9 January 2014 at 07:11:21 UTC, Brad Anderson wrote:That's what needs to be done. NSIS doesn't make doing things like this easy because the scripting language is very...barebones. There are readymade solutions for installers that use the regular packaging of installed files but we download a zip and install the contents of that so we'd need to create something ourselves (or adapt one of the readymade solutions to work with what we do).On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:exact list and we don't have that at the moment.why not create the list during the installation? just scan the archive or whatever to find out the files that are to be deployed and store those in a list (if successfully deployed).
Jan 09 2014
On 2014-01-09 18:58, Brad Anderson wrote:That's what needs to be done. NSIS doesn't make doing things like this easy because the scripting language is very...barebones. There are readymade solutions for installers that use the regular packaging of installed files but we download a zip and install the contents of that so we'd need to create something ourselves (or adapt one of the readymade solutions to work with what we do).Why do you need to download the zip, just include the files you need like a regular installer. -- /Jacob Carlborg
Jan 09 2014
On Thursday, 9 January 2014 at 20:03:44 UTC, Jacob Carlborg wrote:On 2014-01-09 18:58, Brad Anderson wrote:The decision to do that predates my interest in D so I'm not sure why the installer does that. It supports just embedding the zip but that's never been used to my knowledge. Even better would be to use NSIS's own archiving (which supports LZMA).That's what needs to be done. NSIS doesn't make doing things like this easy because the scripting language is very...barebones. There are readymade solutions for installers that use the regular packaging of installed files but we download a zip and install the contents of that so we'd need to create something ourselves (or adapt one of the readymade solutions to work with what we do).Why do you need to download the zip, just include the files you need like a regular installer.
Jan 09 2014
On Friday, 10 January 2014 at 00:07:43 UTC, Brad Anderson wrote:I believe it was because the installer was not an official package, since you can't distribute DMD without permission it was opted to just download the zip. Now that it is official, there shouldn't be any reason other than desire and "that's the way it's always been."Why do you need to download the zip, just include the files you need like a regular installer.The decision to do that predates my interest in D so I'm not sure why the installer does that. It supports just embedding the zip but that's never been used to my knowledge. Even better would be to use NSIS's own archiving (which supports LZMA).
Jan 09 2014
On 2014-01-10 06:31, Jesse Phillips wrote:I believe it was because the installer was not an official package, since you can't distribute DMD without permission it was opted to just download the zip. Now that it is official, there shouldn't be any reason other than desire and "that's the way it's always been."Exactly, my point. -- /Jacob Carlborg
Jan 09 2014
On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:The Uninstall on Windows is deleting user created folders too! :( I thought it's a good idea to uninstall the previous version of D before I install the latest one, but when I did that, it deleted the C:\D folder, including the sub-folders and files I created under that "D" folder! :( This is most unusual behavior. Can someone please fix the installer? And as I was panic, I made a quick search and installed Recuva to undelete the files.. but sadly it overwrote the important files I thought of recovering! (I guess I should have tried it from a different partition or a USB stick).This is the second time this has come up. While I agree that leaving the D folder intact would be a safe default, it still seems weird that anyone would put anything irreplaceable in that folder. In my mind I always saw it as the equivalent of putting something in a particular program's Program Files subdir, i.e. you're likely to see it wiped if you uninstall it.
Jan 09 2014
On 1/9/14, John Colvin <john.loughran.colvin gmail.com> wrote:On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:I keep my git head version of D, and consequentially, my single-click update & build script, in my C:\D folder, and I think that it is the best place to put it.The Uninstall on Windows is deleting user created folders too! :( I thought it's a good idea to uninstall the previous version of D before I install the latest one, but when I did that, it deleted the C:\D folder, including the sub-folders and files I created under that "D" folder! :( This is most unusual behavior. Can someone please fix the installer? And as I was panic, I made a quick search and installed Recuva to undelete the files.. but sadly it overwrote the important files I thought of recovering! (I guess I should have tried it from a different partition or a USB stick).This is the second time this has come up. While I agree that leaving the D folder intact would be a safe default, it still seems weird that anyone would put anything irreplaceable in that folder. In my mind I always saw it as the equivalent of putting something in a particular program's Program Files subdir, i.e. you're likely to see it wiped if you uninstall it.
Jan 09 2014
On Thursday, 9 January 2014 at 13:28:46 UTC, Orvid King wrote:On 1/9/14, John Colvin <john.loughran.colvin gmail.com> wrote:sure, it's neat. But still, I would never do it myself. Installers and uninstallers are notorious for touching more than they need to.On Thursday, 9 January 2014 at 06:50:56 UTC, John J wrote:I keep my git head version of D, and consequentially, my single-click update & build script, in my C:\D folder, and I think that it is the best place to put it.The Uninstall on Windows is deleting user created folders too! :( I thought it's a good idea to uninstall the previous version of D before I install the latest one, but when I did that, it deleted the C:\D folder, including the sub-folders and files I created under that "D" folder! :( This is most unusual behavior. Can someone please fix the installer? And as I was panic, I made a quick search and installed Recuva to undelete the files.. but sadly it overwrote the important files I thought of recovering! (I guess I should have tried it from a different partition or a USB stick).This is the second time this has come up. While I agree that leaving the D folder intact would be a safe default, it still seems weird that anyone would put anything irreplaceable in that folder. In my mind I always saw it as the equivalent of putting something in a particular program's Program Files subdir, i.e. you're likely to see it wiped if you uninstall it.
Jan 09 2014
On Thursday, 9 January 2014 at 13:28:46 UTC, Orvid King wrote:I keep my git head version of D, and consequentially, my single-click update & build script, in my C:\D folder, and I think that it is the best place to put it.I keep mine in C:\D-git with an identical directory structure as C:\D. Then I copy the dmd2vars{32,64}.bat files over to the root so I can easily choose between using git dmd and released dmd.
Jan 09 2014
On Thursday, 9 January 2014 at 12:29:54 UTC, John Colvin wrote:This is the second time this has come up. While I agree that leaving the D folder intact would be a safe default, it still seems weird that anyone would put anything irreplaceable in that folder. In my mind I always saw it as the equivalent of putting something in a particular program's Program Files subdir, i.e. you're likely to see it wiped if you uninstall it.Before it was because Walter used Jordi's installer which runs the uninstaller prior to installing (which is a good idea usually). I wish I had realized then that having Walter switch it back over to the regular installer wasn't really a true fix for the heart of this problem since the regular installer also removed the entire directory structure.
Jan 09 2014