Re-introduce support for reporting line/column/section numbers in MS Word via UIA, using UIA remote ops (#13387)
This reintroduces the commits in pr #13283 which had been reverted in pr #13350. However it also addresses build issues.
Summary of the issue:
PR #13283 introduced support for reporting line/column/section numbers in Microsoft word via UI Automation, by using the UI Automation Remote Operations Library.
However, this PR had to be reverted in #13350 as
1. UIA would not initialize properly in binary builds due to a missing manifest file. (Improper initialization of UIA during NVDA start #13347)
2. NVDA failed to build on Visual Studio 2022. Specifically when building the Remote Ops library with msbuild, midl would fail with an error about a system environment variable being missing.
3. NVDA could no longer be built on Windows 7. (Impossible to build NVDA after introduction of UIA remote library #13346)
Description of how this pull request fixes the issue:
This PR reintroduces all of the original changes, but:
• setup.py now includes *.manifest files in the lib directory.
• NVDA again now requires Visual Studio 2019. However, builds will not fail if a newer version of Visual Studio (E.g. 2022) is installed along side 2019. this is managed by setting MSVC_VERSION in scons before it looks for Visual Studio, so that it specifically selects VS 2019 (VC 14.2).
Although building on Windows 7 could not be fixed, the readme now notes that only building on Windows 10 and higher is supported.