Skip to content

Include the Desktop UWP redistributables in NVDA for Onecore features rather than the Onecore redistributables#8003

Merged
michaelDCurran merged 1 commit into
masterfrom
i7975
Feb 19, 2018
Merged

Include the Desktop UWP redistributables in NVDA for Onecore features rather than the Onecore redistributables#8003
michaelDCurran merged 1 commit into
masterfrom
i7975

Conversation

@michaelDCurran

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #7975

Summary of the issue:

NVDA fails to run on Windows 7 when a certain version of the Visual Studio 2017 Redistributables are installed.
This is due to a conflict between our copies and the installed copies.
Currently we bundle the redistributables in order to support Onecore Voices and OCR on Windows 10 systems that do not yet come with redistributibles 14.1 or higher (such as Windows 10 Nov 2015 and earlier).
However, it seems we have been copying the wrong redistributables into our build. Two copies of these dlls come with VS 2017, We were copying in the "Onecore" ones rather than the Desktop ones, under the assumption that we needed the onecore ones to access onecore features.
Testing shows this is not necessary. The Desktop ones allow access to onecore features, and removes the errors on Windows 7 due to the conflict.

Description of how this pull request fixes the issue:

We now copy the Desktop msvcp vccorelib and vcruntime dlls, rather than the Onecore ones.

Testing performed:

Tested NVDA on Windows 10 Nov 2015 (with no existing redistributables). Can use windows Onecore voices. Deleting the dlls from our build makes the Onecore synth driver fail, thus NVDA is successfully making use of them.
Tested NVDA on Windows 10 insider build 17093. Windows Onecore voices continue to work.
At least one user who was experiencing the error on Windows 7 has tested a build with the correct redistributables and reports the errors have gone away.

Known issues with pull request:

None

Change log entry:

Bug fixes:

  • NVDA no longer fails to start on Windows 7 complaining about an internal api-ms dll., when a particular version of the Visual Studio 2017 redistributables have been installed by another application.

…, rather than the Onecore redistributables. This should fix issues on windows 7.
@michaelDCurran michaelDCurran added the p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority label Feb 15, 2018
@michaelDCurran

Copy link
Copy Markdown
Member Author

Once the reporter of #7975 confirms the bug is fixed, and this has been approved, it should go straight to master for 2018.1.

@michaelDCurran

Copy link
Copy Markdown
Member Author

This build should be tested on a clean install of Windows 7 sp1 as well.

@josephsl

josephsl commented Feb 15, 2018 via email

Copy link
Copy Markdown
Contributor

@michaelDCurran

michaelDCurran commented Feb 15, 2018 via email

Copy link
Copy Markdown
Member Author

@Brian1Gaff

Brian1Gaff commented Feb 15, 2018 via email

Copy link
Copy Markdown

@Brian1Gaff

Brian1Gaff commented Feb 15, 2018 via email

Copy link
Copy Markdown

@michaelDCurran

michaelDCurran commented Feb 15, 2018 via email

Copy link
Copy Markdown
Member Author

@michaelDCurran

Copy link
Copy Markdown
Member Author

@zstanecic

zstanecic commented Feb 16, 2018 via email

Copy link
Copy Markdown
Contributor

@Brian1Gaff

Brian1Gaff commented Feb 16, 2018 via email

Copy link
Copy Markdown

@michaelDCurran michaelDCurran merged commit 5a120d6 into master Feb 19, 2018
@nvaccessAuto nvaccessAuto added this to the 2018.1 milestone Feb 19, 2018
@michaelDCurran

Copy link
Copy Markdown
Member Author

This has been tested by several people, including by 2 who were directly affected by the issue. This has been merged to master before rc later this week due to its high impact, and it is only a one line change.

@feerrenrut feerrenrut left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, glad a solution was found for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p2 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NVDA portable copy will not start, reports missing DLL

6 participants