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 · Fixed by #8003
Closed

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

philrigby62 opened this issue Feb 8, 2018 · 31 comments · Fixed by #8003
Labels
bug/regression bug component/installer p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone

Comments

@philrigby62
Copy link

philrigby62 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
Copy link
Contributor

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 feerrenrut added bug component/installer bug/regression p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority labels Feb 9, 2018
@feerrenrut
Copy link
Contributor

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
Copy link
Author

philrigby62 commented Feb 9, 2018 via email

@philrigby62
Copy link
Author

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
Copy link

Brian1Gaff commented Feb 10, 2018 via email

@philrigby62
Copy link
Author

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
Copy link

Brian1Gaff commented Feb 12, 2018 via email

@LeonarddeR
Copy link
Collaborator

@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
Copy link
Author

philrigby62 commented Feb 12, 2018 via email

@josephsl
Copy link
Collaborator

Hi,

A few things:

@josephsl
Copy link
Collaborator

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
Copy link
Collaborator

Has anyone here heard of this DLL?

@josephsl
Copy link
Collaborator

josephsl commented Feb 13, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Feb 13, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Feb 13, 2018 via email

@philrigby62
Copy link
Author

philrigby62 commented Feb 13, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Feb 13, 2018 via email

@philrigby62
Copy link
Author

philrigby62 commented Feb 14, 2018 via email

@philrigby62
Copy link
Author

philrigby62 commented Feb 14, 2018 via email

@LeonarddeR
Copy link
Collaborator

@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
Copy link

Brian1Gaff commented Feb 14, 2018 via email

@michaelDCurran
Copy link
Member

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
Copy link

Brian1Gaff commented Feb 15, 2018 via email

@michaelDCurran
Copy link
Member

michaelDCurran commented Feb 15, 2018 via email

@michaelDCurran
Copy link
Member

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
Copy link
Author

philrigby62 commented Feb 15, 2018 via email

@philrigby62
Copy link
Author

philrigby62 commented Feb 15, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Feb 15, 2018 via email

@philrigby62
Copy link
Author

philrigby62 commented Feb 16, 2018 via email

@josephsl
Copy link
Collaborator

josephsl commented Feb 16, 2018 via email

@Brian1Gaff
Copy link

Brian1Gaff commented Feb 17, 2018 via email

@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
Labels
bug/regression bug component/installer p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
8 participants