Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVDA portable copy will not start, reports missing DLL #7975

Closed
philrigby62 opened this issue Feb 8, 2018 · 31 comments

Comments

@philrigby62
Copy link

commented Feb 8, 2018

Firstly let me say that I am totally new to NVDA. I only downloaded it for the first time today so please forgive me if my following error report is not up to standards expected on here.

I created a portable copy of NVDA when running the downloaded NVDA installer for the first time on my Windows 7 machine. If I then chose to continue to leave NVDA running, it carried on working OK. However, if I stopped NVDA after the installation of the portable copy and then ran c:\users\<MyUserName>\nvda\nvda.exe, which is where I chose to install the portable copy, NVDA crashes immediately complaining that the following DLL is missing from my computer:

api-ms-win-core-rtlsupport-l1-2-0.dll.

I even tried running the portable nvda.exe from the command prompt with the -l 10 option to get detailed debug logging but that produced nothing at all useful in the $temp%\nvda.log. Because it is so short and so unhelpful, I've just pasted it in here:

INFO - __main__ (11:48:40.575):
Starting NVDA
DEBUG - __main__ (11:48:40.575):
Debug level logging enabled

That's all that is seen in the log file.

I do not want to do a full install on my machine at this stage as I want to try out NVDA in a non-invasive way first. That is why I am trying to use a portable copy.

I'm running Windows version 6.1, build 7601, service pack 1.

@feerrenrut

This comment has been minimized.

Copy link
Contributor

commented Feb 9, 2018

Hi, sorry to hear your first experience with NVDA was less than a success, and thanks for taking the time to raise a bug report. Could you confirm for me that you downloaded the latest release of NVDA which is 2017.4?

@feerrenrut

This comment has been minimized.

Copy link
Contributor

commented Feb 9, 2018

I am not able to reproduce this myself. I did the following:

  • created a new install of Windows 7 home premium 64 bit
  • installed Service Pack 1
  • tried to create and run a portable copy of 2017.4

This all worked with no errors.

Technical
This post on stack overflow indicates that this issue could be caused by using the wrong visual studio runtime. They indicate that using vcruntime140.dll version 14.11.25415 can cause this problem, the version of vcruntime140.dll we include with NVDA 2017.4 is 14.11.25325, which is the version that did not cause the problem for the stackoverflow question author.

If we could reproduce this issue, then we could use dependency walker to see what version of the DLL is being loaded and where it lives.

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 9, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 10, 2018

So does it help if I find out which version of Visual Studio runtime is running on my machine? Please remember that I can reproduce this error every time. I have deleted the directory along with all its contents where I had installed the portable copy of NVDA and redownloaded and rerun the installer to create another portable copy. I got exactly the same problem.

If it makes any difference at all, I am running Windows 7 ultimate, not premium. I've been running it for a long time now and Windows updates are always applied. Let me know if there is anything I can checkfor you about my environment.

I am stuck as I do not wish to do a full install of NVDA on this machine at this stage so I do want to get this portable copy working.

Also, please do bear in mind that I said that NVDA continues to work just fine if I leave it running direct from the install. It is simply when I want to stop it to go back to JAWS and then I restart it again that I get the error I have described. For info, I am not at any point trying to run NVDA and JAWS at the same time.

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 10, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 11, 2018

Hi Brian. As mentioned in my original post:

"However, if I stopped NVDA after the installation of the portable copy and then ran c:\users<MyUserName>\nvda\nvda.exe, which is where I chose to install the portable copy, ...

And yes of course my user has access to this area.

I can reproduce this error easily and every time. I note that others have said they can't reproduce it. So, where do we go from here? Any other info I can get from my environment that might help you? My NVDA experience is now stalled after only a few minutes of trying to use it.

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 12, 2018

@leonardder

This comment has been minimized.

Copy link
Collaborator

commented Feb 12, 2018

@philrigby62: Could you copy your NVDA portable to a folder directory under your c partition and see whether you are able to start the copy from there?

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 12, 2018

@josephsl

This comment has been minimized.

Copy link
Collaborator

commented Feb 12, 2018

Hi,

A few things:

@josephsl

This comment has been minimized.

Copy link
Collaborator

commented Feb 12, 2018

Hi,

A few things:

  • Instead of running the installer directly from nvaccess.org, try saving it first, and then run the installer and see if you get the same error.
  • The error message suggests a component used by NVDA is looking for an internal DLL Windows API uses for some operations.
  • I know that you're not ready to install NVDA, but for this experiment, can you actually try installing NVDA and run the installed copy to see if the error is shown again? If the error is shown, then something other than NVDA has messed up the DLL, and if not, we do need to look at what NVDA is doing as it unpacks the portable copy.
  • What anti-malware program (Microsoft Security Essentials, Avast, AVG, etc.) are you running?

Thanks.

@derekriemer

This comment has been minimized.

Copy link
Collaborator

commented Feb 13, 2018

Has anyone here heard of this DLL?

@josephsl

This comment has been minimized.

Copy link
Collaborator

commented Feb 13, 2018

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 13, 2018

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 13, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 13, 2018

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 13, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 14, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 14, 2018

@leonardder

This comment has been minimized.

Copy link
Collaborator

commented Feb 14, 2018

@philrigby62: I"m sorry to hear that it still has not been possible to fix your issue.

Could you try the following versions of NVDA and report whether it is possible to make a portable copy out of these?

In case all these versions do not work, here is another random older version, 2015.4

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 14, 2018

@michaelDCurran

This comment has been minimized.

Copy link
Contributor

commented Feb 15, 2018

After creating the portable copy, navigate to where you created it, and delete the following files:

  • msvcp140.dll
  • vccorlib140.dll
  • vcruntime140.dll

Then try to run the portable copy.
NVDA only needs these files on windows 10, but they may be confusing things on your Windows 7 system.
If this solves the issue we will have to work out a way of ensuring these never exist at runtime on windows 7.

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 15, 2018

@michaelDCurran

This comment has been minimized.

Copy link
Contributor

commented Feb 15, 2018

@michaelDCurran

This comment has been minimized.

Copy link
Contributor

commented Feb 15, 2018

We realised we may have been using the wrong copy of the redistributable dlls. I have fixed this in the following try build of NVDA:
https://ci.appveyor.com/api/buildjobs/su9dok9xxw0ignui/artifacts/output%2Fnvda_snapshot_try-i7975-14861%2C682b50bb.exe
Please test this build of NVDA on Windows 7, creating a portable copy and running it.
If this does not solve the issue, I do have one more thing I can try tomorrow.

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 15, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 15, 2018

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 15, 2018

@philrigby62

This comment has been minimized.

Copy link
Author

commented Feb 16, 2018

@josephsl

This comment has been minimized.

Copy link
Collaborator

commented Feb 16, 2018

@Brian1Gaff

This comment has been minimized.

Copy link

commented Feb 17, 2018

@nvaccessAuto nvaccessAuto added this to the 2018.1 milestone Feb 19, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants
You can’t perform that action at this time.