nvda doesn't save config settings to logon screen #918

Closed
nvaccessAuto opened this Issue Sep 19, 2010 · 18 comments

1 participant

@nvaccessAuto

Reported by mike.reiser on 2010-09-19 20:58
This is as of 2010.2 beta. When trying to press the button that says "Use nvda settings on the windows log in screen, it comes up with the uac dialog. Pressing alt+Y for yes presents the error "Could not copy the nvda settings." Doing it again says that it succeeded but they do not take effect in uac dialogs or other areas when log in might be required.

@nvaccessAuto

Comment 1 by jteh on 2010-09-20 01:59
I assume you used the normal installer for NVDA 2010.2beta1? Did you install NVDA to the standard location or somewhere else? Did you ever turn off UAC and then re-enable it?

In any case, please try uninstalling NVDA, rebooting, deleting any remaining files in the NVDA program directory (including the directory itself) and then reinstalling. You can use a portable copy to assist you in doing this. Then try the button again.
Changes:
Milestone changed from None to 2010.2

@nvaccessAuto

Comment 2 by mike.reiser on 2010-09-23 16:38
Ok just uninstalled 2010.2 beta and I deleted the program files folder entry. I reinstalled, same results happen. When I first press the button to save the settings, it gives an error saying "Can not copy nvda settings." The second time it succeeds but they do not take effect.

@nvaccessAuto

Comment 3 by jteh on 2010-10-07 04:39
Can't reproduce and no one else has reported problems with this. Deferring.

Do you have a systemConfig folder in your NVDA program directory (e.g. c:\Program Files\NVDA)? If so, what is inside this folder? If it exists, try deleting it.
Changes:
Milestone changed from 2010.2 to 2010.3

@nvaccessAuto

Comment 4 by jteh on 2010-11-17 02:34
I think the apparent success when trying a second time is due to #1194, which is now fixed. This suggests that NVDA can't copy the files for some reason. Please do the following:

  1. Check whether you have a systemConfig folder in your NVDA program folder.
  2. Try to copy settings.
  3. Check again whether you have a systemConfig folder. We need to know whether you have this folder before and after the copy.
@nvaccessAuto

Comment 5 by mike.reiser on 2010-11-17 05:34
Just tried your suggestion. There is a system config folder in my program files folder. I tried to copy the files but it gave the error described. I looked again and no system config folder. Just tried again and got the success message, still no system config folder. Does 3138 fix this spacifically? If so will test a snap when one comes out.

@nvaccessAuto

Comment 6 by jteh on 2010-11-17 22:42
efbf419 fixes the second part (i.e. no action when the directory doesn't exist). I'm not sure why you're getting the error. It's probably something to do with permissions, though being elevated to admin really should fix that.

@nvaccessAuto

Comment 7 by mdcurran on 2010-12-02 01:41
Please try again with a current snapshot and say whether it works for you now.

@nvaccessAuto

Comment 8 by mike.reiser on 2010-12-02 15:13
As of snapshot3962, this problem still persists for me. This is on a clean install of windows 7 home premium. I tried to press the use current settings on logon screen twice and was asked for a uac prompt. After the prompt it said that settings were not copied successfully.

@nvaccessAuto

Comment 9 by jteh on 2010-12-02 21:30
Why twice? I assume you got the error both times? Again, does the systemConfig folder exist after you do this?

@nvaccessAuto

Comment 10 by mike.reiser on 2010-12-02 22:39
Did it twice to see if it would give a success message like in previous versions. There is no system config folder in the program files folder after doing this.

@nvaccessAuto

Comment 11 by jteh on 2010-12-02 23:22
Okay. I suspect the permissions on your system aren't allowing the folder to be copied for some reason. Please do the following to help me debug this:

  1. Start your installed copy of NVDA as administrator. You can do this by going to the NVDA desktop shortcut, exiting NVDA, pressing the applications key followed by the letter a and finally answering yes to the UAC prompt.
  2. Press NVDA+control+z to open the Python console.
  3. Paste the following four lines. You'll need to paste each line separately, pressing enter after each one.
import os, sys, shutil, globalVars
dest = os.path.join(sys.prefix, "systemConfig")
shutil.rmtree(dest)
shutil.copytree(globalVars.appArgs.configPath, dest)
  1. Press f6, then select all (control+a), copy (control+c) and paste the result into a comment here.
@nvaccessAuto

Comment 12 by mike.reiser on 2010-12-03 00:37
Output is below. You will see a few syntax errors but that was when I goofed up.

import os, sys, shutil, globalVars

File "", line 1
import os, sys, shutil, globalVars
^
IndentationError: unexpected indent

import os, sys, shutil, globalVars

dest = os.path.join(sys.prefix, "systemConfig"

... shutil.rmtree(dest
File "", line 2
shutil.rmtree(dest
^
SyntaxError: invalid syntax

shutil.rmtree(dest

... shutil.copytree(globalVars.appArgs.configPath, dest
File "", line 2
shutil.copytree(globalVars.appArgs.configPath, dest
^
SyntaxError: invalid syntax

shutil.copytree(globalVars.appArgs.configPath, dest)

Traceback (most recent call last):
File "", line 1, in
NameError: name 'dest' is not defined

@nvaccessAuto

Comment 13 by jteh on 2010-12-03 01:12
Try again. :) There were errors that caused dest not to be set. You were missing the ) on the end of several lines.

@nvaccessAuto

Comment 14 by mike.reiser on 2010-12-03 01:51
Trying again, the third line gave an error when enter was hit, made sure it was correct.

import os, sys, shutil, globalVars

File "", line 1
import os, sys, shutil, globalVars
^
IndentationError: unexpected indent

import os, sys, shutil, globalVars

dest = os.path.join(sys.prefix, "systemConfig"

... shutil.rmtree(dest
File "", line 2
shutil.rmtree(dest
^
SyntaxError: invalid syntax

shutil.rmtree(dest

... shutil.copytree(globalVars.appArgs.configPath, dest
File "", line 2
shutil.copytree(globalVars.appArgs.configPath, dest
^
SyntaxError: invalid syntax

shutil.copytree(globalVars.appArgs.configPath, dest)

Traceback (most recent call last):
File "", line 1, in
NameError: name 'dest' is not defined

import os, sys, shutil, globalVars

dest = os.path.join(sys.prefix, "systemConfig")

shutil.rmtree(dest)

Traceback (most recent call last):
File "", line 1, in
File "shutil.pyc", line 236, in rmtree
File "shutil.pyc", line 234, in rmtree
WindowsError: 3 The system cannot find the path specified: 'C:\Program Files\NVDA\systemConfig/.'

shutil.rmtree(dest)

Traceback (most recent call last):
File "", line 1, in
File "shutil.pyc", line 236, in rmtree
File "shutil.pyc", line 234, in rmtree
WindowsError: 3 The system cannot find the path specified: 'C:\Program Files\NVDA\systemConfig/.'

shutil.copytree(globalVars.appArgs.configPath, dest)

@nvaccessAuto

Comment 15 by jteh on 2010-12-03 03:04
It makes sense that rmtree failed, since the directory didn't exist; that was just for safety. However, it looks like copytree succeeded, which means you should now have a systemConfig folder. Do you? Is your config now on the secure desktop?

If this worked, I don't understand why the button is failing. The copytree code you just used is practically the same as what is used internally.

@nvaccessAuto

Comment 16 by jteh on 2010-12-03 03:06
Ah, crap. I think I understand what's going wrong. Does your username have a space in it by any chance?

@nvaccessAuto

Comment 17 by mike.reiser on 2010-12-03 03:48
Yes My username has a space. Settings are working on the logon screen now. There is a system config directory now.

@nvaccessAuto

Comment 18 by jteh on 2010-12-03 04:08
Should be fixed in 8e1bc61. Thanks for helping me debug this.
Changes:
State: closed

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2011.1 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment