dictation-toolbox / natlink

Natlink provides the interface between Dragon and python
https://dictation-toolbox.github.io/natlink/
Other
25 stars 17 forks source link

RegSvr32 failed with exit code 0x3 error when Installing natlinkv5.0.0.pre #86

Closed LexiconCode closed 2 years ago

LexiconCode commented 2 years ago

On a fresh install of windows and python 3.8.x 32bit. The installer looks like it is using elevated privileges. I also tried run as admin and installing natlink outside of C:\Program Files (x86) to C:\. This has happened with 2 other individuals.

image

The following suggests it is caused by insufficient Windows User Account permissions. https://support.lumion.com/hc/en-us/articles/360046361653-How-do-you-fix-a-RegSvr32-failed-with-exit-code-0x3-error-when-Installing-Lumion-#:~:text=Unable%20to%20register%20the%20DLL%2FOCX%3ARegSvr32%20failed%20with%20exit,Lumion%20installer%20but%20by%20something%20on%20your%20PC.

LexiconCode commented 2 years ago

Probably the easiest way to troubleshoot this whole category of problem is to install Process Monitor from microsoft.com.

Process Montior lets you observe the system calls processes are making, and in this case you will be able to see if some system call is failing. For example, if you are lacking a dependency, then a CreateFile() call will be seen failing with a DLL, OCX, etc. as the filename.

Launch procmon and configure the filter to exclude events other than from regsvr32.exe, reproduce your test case, and then check the log...

https://stackoverflow.com/a/1570414

fusentasticus commented 2 years ago

Thanks for tip. I'm setting up a test workbench using Hyper-V. Which branch or commit did you compile the installer from? If you have a link to the installer that'll be useful, too.

LexiconCode commented 2 years ago

Thanks for tip. I'm setting up a test workbench using Hyper-V. Which branch or commit did you compile the installer from? If you have a link to the installer that'll be useful, too.

It was compiled from master and the installer is from natlinkv5.0.0.pre in https://github.com/dictation-toolbox/natlink/releases

LexiconCode commented 2 years ago

CUSTOMBUILD : warning : The [Setup] section directive "PrivilegesRequired" is set to "admin" but per-user areas (HKCU) are used by the script. Regardless of the version of Windows, if the installation is running in administrative install mode then you should be careful about making any per-user area changes: such changes may not achieve what you are intending. See the "UsedUserAreasWarning" topic in help file for more information. [D:\Backup\Library\Documents\Code\natlink\build\InstallerSource\natlink-installer.vcxproj]

https://jrsoftware.org/ishelp/index.php?topic=admininstallmode

fusentasticus commented 2 years ago

I can reproduce this error I believe on Windows 11 dev running under Hyper-V.

Process monitor filter appears to show that all dependencies, including python38.dll are loaded as images. I have no clue to what's going on!

fusentasticus commented 2 years ago

For good measure: here's an excerpt from the report when the error occurs directly from within the installer -- from this vantage point there seems to be no problem, including with _natlink_core.pyd itself!

image

fusentasticus commented 2 years ago

@LexiconCode re:

CUSTOMBUILD : warning : The [Setup] section directive "PrivilegesRequired" is set to "admin" but per-user areas (HKCU) are used by the script. Regardless of the version of Windows, if the installation is running in administrative install mode then you should be careful about making any per-user area changes: such changes may not achieve what you are intending.

yes, in this case, the python38.pyd file (the python interpreter) is copied from a user install to a system install area if Python is installed there (and that's hackey); however, the default is I think to install Python "for all users" -- in any case things should still work (inno installer protests b/c of a possible unwanted dependency from user to system)

fusentasticus commented 2 years ago

@LexiconCode is this error reported on windows 11 only? a similar report is found here https://stackoverflow.com/questions/70969198/c-sharp-application-fails-to-load-dll-file-in-windows-11 but relates to .net

LexiconCode commented 2 years ago

@LexiconCode is this error reported on windows 11 only? a similar report is found here https://stackoverflow.com/questions/70969198/c-sharp-application-fails-to-load-dll-file-in-windows-11 but relates to .net

Unfortunately the error has been on Windows 10.

fusentasticus commented 2 years ago

This is just a missing dependency: install Visual Studio 2019, then modify to also include "Desktop development with C++", then install Natlink.

(The fix would be in the installer: check for this dependency , then download it from Microsoft if not found.)

To see this, run dumpbin /DEPENDENTS on the pyd file:

.'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86\dumpbin.exe' /DEPENDENTS "C:\Program Files (x86)\Natlink\site-packages\natlink\_natlink_core.pyd"

It'll list `VCRUNTIME140D.dll' as a dependency:

Dump of file C:\Program Files (x86)\Natlink\site-packages\natlink\_natlink_core.pyd

File Type: DLL

  Image has the following dependencies:

    python38.dll
    KERNEL32.dll
    USER32.dll
    SHELL32.dll
    ole32.dll
    OLEAUT32.dll
    ADVAPI32.dll
    MSVCP140D.dll
    VCRUNTIME140D.dll
    ucrtbased.dll

  Summary

        1000 .00cfg
        5000 .data
        3000 .idata
       3B000 .rdata
        4000 .reloc
        1000 .rsrc
       4B000 .text
dougransom commented 2 years ago

There is probably a linker option for your binary target _natlink_core.pyd that will eliminate the need for VCRUNTIME140D.dll. I think we have run into that in the past.

LexiconCode commented 2 years ago

Static linking https://docs.microsoft.com/en-us/cpp/c-runtime-library/crt-library-features?view=msvc-170&viewFallbackFrom=vs-2019

Bundling vc redistributables https://stackoverflow.com/questions/24574035/how-to-install-microsoft-vc-redistributables-silently-in-inno-setup

fusentasticus commented 2 years ago

This shouldn't happen (that VC runtime is not statically linked ) because of https://github.com/dictation-toolbox/natlink/blob/9d94cbb6e25dbcd6e6119e7daa03d58389831db1/NatlinkSource/CMakeLists.txt#L46-L57 as per recipe in https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#how-can-i-build-my-msvc-application-with-a-static-runtime

LexiconCode commented 2 years ago

From https://github.com/dictation-toolbox/natlink/tree/minimal

PS C:\Users\Main> .'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\bin\Hostx86\x86\dumpbin.exe' /DEPENDENTS D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\Debug\_natlink_core15.pyd
Microsoft (R) COFF/PE Dumper Version 14.31.31104.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\Debug\_natlink_core15.pyd

File Type: DLL

  Image has the following dependencies:

    python38.dll
    KERNEL32.dll
    USER32.dll
    SHELL32.dll
    ole32.dll
    OLEAUT32.dll
    ADVAPI32.dll

  Summary

        1000 .00cfg
        7000 .data
        2000 .idata
       62000 .rdata
        A000 .reloc
        1000 .rsrc
       F4000 .text

image

image

Looks like I am missing:

    MSVCP140D.dll
    VCRUNTIME140D.dll
    ucrtbased.dll
# This is the CMakeCache file.
# For build in directory: d:/Backup/Library/Documents/Code/natlink/build
# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Path to a program.
CMAKE_AR:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x86/lib.exe

//Semicolon separated list of supported configuration types, only
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
// else will be ignored.
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo

//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /EHsc

//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1

//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG

//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG

//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG

//Libraries linked by default with all C++ applications.
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib

//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS

//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1

//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG

//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG

//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG

//Libraries linked by default with all C applications.
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib

//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:X86

//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//No help, variable specified on the command line.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/Natlink

//Path to a program.
CMAKE_LINKER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x86/link.exe

//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:X86

//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//Path to a program.
CMAKE_MT:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/mt.exe

//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=Natlink

//RC compiler
CMAKE_RC_COMPILER:FILEPATH=C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/rc.exe

//Flags for Windows Resource Compiler during all build types.
CMAKE_RC_FLAGS:STRING=-DWIN32

//Flags for Windows Resource Compiler during DEBUG builds.
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG

//Flags for Windows Resource Compiler during MINSIZEREL builds.
CMAKE_RC_FLAGS_MINSIZEREL:STRING=

//Flags for Windows Resource Compiler during RELEASE builds.
CMAKE_RC_FLAGS_RELEASE:STRING=

//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=

//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:X86

//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL

//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO

//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:X86

//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make.  This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Path to a program.
ISCC:FILEPATH=C:/Program Files (x86)/Inno Setup 6/ISCC.exe

//Value Computed by CMake
Natlink_BINARY_DIR:STATIC=D:/Backup/Library/Documents/Code/natlink/build

//Value Computed by CMake
Natlink_IS_TOP_LEVEL:STATIC=ON

//Value Computed by CMake
Natlink_SOURCE_DIR:STATIC=D:/Backup/Library/Documents/Code/natlink

//3.X for X >= 8
PYTHON_VERSION:STRING=3.8

########################
# INTERNAL cache entries
########################

//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=d:/Backup/Library/Documents/Code/natlink/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=22
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=win32
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=host=x86
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=D:/Backup/Library/Documents/Code/natlink
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MT
CMAKE_MT-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=4
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//noop for ranlib
CMAKE_RANLIB:INTERNAL=:
//ADVANCED property for variable: CMAKE_RC_COMPILER
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.22
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding Python3
FIND_PACKAGE_MESSAGE_DETAILS_Python3:INTERNAL=[C:/Users/Main/AppData/Local/Programs/Python/Python38-32/libs/python38.lib][C:/Users/Main/AppData/Local/Programs/Python/Python38-32/include][cfound components: Development Development.Module Development.Embed ][v3.8.10(3.8)]
//STRINGS property for variable: PYTHON_VERSION
PYTHON_VERSION-STRINGS:INTERNAL=3.8;3.9;3.10
//Path to a program.
_Python3_CONFIG:INTERNAL=_Python3_CONFIG-NOTFOUND
_Python3_DEVELOPMENT_EMBED_SIGNATURE:INTERNAL=ccad11db08490c4a4839ed3014685986
_Python3_DEVELOPMENT_MODULE_SIGNATURE:INTERNAL=ccad11db08490c4a4839ed3014685986
//Path to a file.
_Python3_INCLUDE_DIR:INTERNAL=C:/Users/Main/AppData/Local/Programs/Python/Python38-32/include
//Path to a library.
_Python3_LIBRARY_DEBUG:INTERNAL=_Python3_LIBRARY_DEBUG-NOTFOUND
//Path to a library.
_Python3_LIBRARY_RELEASE:INTERNAL=C:/Users/Main/AppData/Local/Programs/Python/Python38-32/libs/python38.lib
//Path to a library.
_Python3_RUNTIME_LIBRARY_RELEASE:INTERNAL=C:/Users/Main/AppData/Local/Programs/Python/Python38-32/python38.dll
[main] Building folder: natlink 
[main] The folder containing the CMake cache is missing. The cache will be regenerated.
[main] Configuring folder: natlink 
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -Hd:/Backup/Library/Documents/Code/natlink -Bd:/Backup/Library/Documents/Code/natlink/build -G "Visual Studio 17 2022" -T host=x86 -A win32
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
[cmake] -- The C compiler identification is MSVC 19.31.31104.0
[cmake] -- The CXX compiler identification is MSVC 19.31.31104.0
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x86/cl.exe - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx86/x86/cl.exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Found Python3: C:/Users/Main/AppData/Local/Programs/Python/Python38-32/libs/python38.lib (found suitable exact version "3.8.10") found components: Development Development.Module Development.Embed 
[cmake] -- Using Python installation found at: 
[cmake] -- Found ISCC at C:/Program Files (x86)/Inno Setup 6/ISCC.exe
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: D:/Backup/Library/Documents/Code/natlink/build
[kit] Patch Windows SDK bin path from C:\Program Files (x86)\Windows Kits\10\bin\x86 to C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86 for C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat
[build] Starting build
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build d:/Backup/Library/Documents/Code/natlink/build --config Debug --target ALL_BUILD -j 18 --
[build] Microsoft (R) Build Engine version 17.1.0+ae57d105c for .NET Framework
[build] Copyright (C) Microsoft Corporation. All rights reserved.
[build] 
[build]   Checking Build System
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/NatlinkSource/CMakeLists.txt
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/NatlinkSource/CMakeLists.txt
[build]   appsupp.cpp
[build]   appsupp.cpp
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1201,1): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1190): message : while compiling class template member function 'void std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>::_Reallocate_exactly(const unsigned int)' [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1273): message : see reference to function template instantiation 'void std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>::_Reallocate_exactly(const unsigned int)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\../extern/WinReg/WinReg.hpp(1733): message : see reference to class template instantiation 'std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1201,1): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1190): message : while compiling class template member function 'void std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>::_Reallocate_exactly(const unsigned int)' [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\vector(1273): message : see reference to function template instantiation 'void std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>::_Reallocate_exactly(const unsigned int)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\../extern/WinReg/WinReg.hpp(1733): message : see reference to class template instantiation 'std::vector<std::pair<std::wstring,DWORD>,std::allocator<std::pair<std::wstring,DWORD>>>' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2584,23): warning C4244: 'argument': conversion from 'wchar_t' to 'const _Elem', possible loss of data [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Elem=char
[build]           ]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2595): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(_Iter,const _Iter,std::input_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Iter=wchar_t *
[build]           ]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2595): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(_Iter,const _Iter,std::input_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Iter=wchar_t *
[build]           ]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2575): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(const _Iter,const _Iter,std::forward_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2584,23): warning C4244: 'argument': conversion from 'wchar_t' to 'const _Elem', possible loss of data [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           with
[build]           with
[build]           [
[build]           [
[build]               _Iter=wchar_t *
[build]               _Elem=char
[build]           ]
[build]           ]
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2595): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(_Iter,const _Iter,std::input_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Iter=wchar_t *
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2575): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(const _Iter,const _Iter,std::forward_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           ]
[build]           with
[build]           [
[build]               _Iter=wchar_t *
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2595): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(_Iter,const _Iter,std::input_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           ]
[build]           with
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\appsupp.cpp(49): message : see reference to function template instantiation 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           with
[build]           [
[build]           [
[build]               _Iter=wchar_t *
[build]           ]
[build]               _Elem=wchar_t,
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2575): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(const _Iter,const _Iter,std::forward_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           with
[build]               _Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
[build]           [
[build]               _Alloc=std::allocator<char>
[build]           ]
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\appsupp.cpp(49): message : see reference to function template instantiation 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Iter=wchar_t *
[build]           ]
[build]               _Elem=wchar_t,
[build] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include\xstring(2575): message : see reference to function template instantiation 'void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct<wchar_t*>(const _Iter,const _Iter,std::forward_iterator_tag)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]               _Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
[build]           with
[build]           [
[build]               _Alloc=std::allocator<char>
[build]           ]
[build]               _Iter=wchar_t *
[build]           ]
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\appsupp.cpp(49): message : see reference to function template instantiation 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Elem=wchar_t,
[build]               _Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
[build]               _Alloc=std::allocator<char>
[build]           ]
[build] D:\Backup\Library\Documents\Code\natlink\NatlinkSource\COM\appsupp.cpp(49): message : see reference to function template instantiation 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)' being compiled [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]           with
[build]           [
[build]               _Elem=wchar_t,
[build]               _Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
[build]               _Alloc=std::allocator<char>
[build]           ]
[build]   DictationObject.cpp
[build]   DictationObject.cpp
[build]   DragonCode.cpp
[build]   DragonCode.cpp
[build]   Exceptions.cpp
[build]   Exceptions.cpp
[build]   GrammarObject.cpp
[build]   GrammarObject.cpp
[build]   natlink.cpp
[build]   natlink.cpp
[build]   pythwrap.cpp
[build]   pythwrap.cpp
[build]   ResultObject.cpp
[build]   ResultObject.cpp
[build]   MessageWindow.cpp
[build]   MessageWindow.cpp
[build]   StdAfx.cpp
[build]   StdAfx.cpp
[build]   Generating Code...
[build]   Generating Code...
[build]   Auto build dll exports
[build]   Auto build dll exports
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink15_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllCanUnloadNow' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink15_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllGetClassObject' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink15_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllRegisterServer' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink15_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllUnregisterServer' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink15_pyd.vcxproj]
[build]      Creating library D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/Debug/_natlink_core15.lib and object D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/Debug/_natlink_core15.exp
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink13_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllCanUnloadNow' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink13_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllGetClassObject' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink13_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllRegisterServer' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build] D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/natlink13_pyd.dir/Debug/exports.def : warning LNK4104: export of symbol 'DllUnregisterServer' should be PRIVATE [D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\natlink13_pyd.vcxproj]
[build]      Creating library D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/Debug/_natlink_core13.lib and object D:/Backup/Library/Documents/Code/natlink/build/NatlinkSource/Debug/_natlink_core13.exp
[build]   natlink15_pyd.vcxproj -> D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\Debug\_natlink_core15.pyd
[build]   natlink13_pyd.vcxproj -> D:\Backup\Library\Documents\Code\natlink\build\NatlinkSource\Debug\_natlink_core13.pyd
[build]   Generating InstallTest.STAMP
[build]   Generating NatlinkModule.STAMP
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/NatlinkModule/CMakeLists.txt
[build]   Now Building Installer
[build]   Inno Setup 6 Command-Line Compiler
[build]   Copyright (C) 1997-2021 Jordan Russell. All rights reserved.
[build]   Portions Copyright (C) 2000-2021 Martijn Laan. All rights reserved.
[build]   Portions Copyright (C) 2001-2004 Alex Yackimoff. All rights reserved.
[build]   https://www.innosetup.com
[build]   
[build]   Compiler engine version: Inno Setup 6.2.0
[build]   
[build]   Preprocessing
[build]      Reading file: C:\Program Files (x86)\Inno Setup 6\ISPPBuiltins.iss
[build]      Line 33: Including file: D:\Backup\Library\Documents\Code\natlink\InstallerSource\inno-code.iss
[build]      Reading file: D:\Backup\Library\Documents\Code\natlink\InstallerSource\inno-code.iss
[build]   Parsing [Setup] section, line 12
[build]   Parsing [Setup] section, line 13
[build]   Parsing [Setup] section, line 14
[build]   Parsing [Setup] section, line 15
[build]   Parsing [Setup] section, line 16
[build]   Parsing [Setup] section, line 17
[build]   Parsing [Setup] section, line 18
[build]   Parsing [Setup] section, line 19
[build]   Parsing [Setup] section, line 20
[build]   Parsing [Setup] section, line 21
[build]   Parsing [Setup] section, line 22
[build]   Parsing [Setup] section, line 23
[build]   Parsing [Setup] section, line 24
[build]   Reading file (LicenseFile)
[build]   Reading file (WizardImageFile)
[build]   Reading file (WizardSmallImageFile)
[build]   Preparing Setup program executable
[build]      Updating version info (SETUP.E32)
[build]   Determining language code pages
[build]   Parsing [Languages] section, line 27
[build]      Reading file: C:\Program Files (x86)\Inno Setup 6\Default.isl
[build]      Messages in script file
[build]   Reading default messages from Default.isl
[build]   Parsing [Languages] section, line 27
[build]      Reading file: C:\Program Files (x86)\Inno Setup 6\Default.isl
[build]   Parsing [LangOptions], [Messages], and [CustomMessages] sections
[build]      Messages in script file
[build]   Reading [Code] section
[build]   Parsing [Icons] section, line 59
[build]   Parsing [INI] section, line 62
[build]   Parsing [INI] section, line 64
[build]   Parsing [Registry] section, line 68
[build]   Parsing [Registry] section, line 70
[build]   Parsing [Registry] section, line 72
[build]   Parsing [Registry] section, line 74
[build]   Parsing [Registry] section, line 77
[build]   Parsing [Registry] section, line 80
[build]   Parsing [Registry] section, line 84
[build]   Parsing [Registry] section, line 94
[build]   Parsing [Registry] section, line 95
[build]   Parsing [Files] section, line 37
[build]   Parsing [Files] section, line 38
[build]   Parsing [Files] section, line 39
[build]   Parsing [Files] section, line 42
[build]   Parsing [Files] section, line 44
[build]   Parsing [Files] section, line 46
[build]   Parsing [Files] section, line 51
[build]   Parsing [Files] section, line 55
[build]   Compiling [Code] section
[build]   Creating setup files
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\config.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\gramparser.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\loader.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\redirect_output.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\setup.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\__init__.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\_natlink_core.pyi
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\py.typed
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink/build\NatlinkSource\Debug\_natlink_core15.pyd
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink/build\NatlinkSource\Debug\_natlink_core13.pyd
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\InstallTest\natlink.ini
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\InstallTest\zebra.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\InstallTest\_meet_natlink.py
[build]      Compressing: D:/Backup/Library/Documents/Code/natlink\NatlinkModule\InstallTest\__init__.py
[build]      Compressing Setup program executable
[build]      Updating version info (SETUP.EXE)
[build]   
[build] CUSTOMBUILD : warning : The [Setup] section directive "PrivilegesRequired" is set to "admin" but per-user areas (HKCU) are used by the script. Regardless of the version of Windows, if the installation is running in administrative install mode then you should be careful about making any per-user area changes: such changes may not achieve what you are intending. See the "UsedUserAreasWarning" topic in help file for more information. [D:\Backup\Library\Documents\Code\natlink\build\InstallerSource\natlink-installer.vcxproj]
[build]   
[build]   Successful compile (0.704 sec). Resulting Setup program filename is:
[build]   D:\Backup\Library\Documents\Code\natlink\build\InstallerSource\natlink6.0-py3.8-32-setup.exe
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/InstallerSource/CMakeLists.txt
[build]   Generating natlink6.0-py3.8-32-setup.zip
[build]   natlink6.0-py3.8-32-setup.exe
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/InstallerSource/CMakeLists.txt
[build]   Building Custom Rule D:/Backup/Library/Documents/Code/natlink/CMakeLists.txt
[build] Build finished with exit code 0
fusentasticus commented 2 years ago

Looks like I am missing:

MSVCP140D.dll
VCRUNTIME140D.dll
ucrtbased.dll

No, they are now not listed with dumpbin /dependencies because they're baked into the '.pyd' file. In contrast, before the fix they would have been included in the dependencies listing. That's my understanding. The installer should now work correctly on a system without VS Studio C++ installed. That's what I tested at least. No?

LexiconCode commented 2 years ago

This issue is resolved thanks to @fusentasticus in https://github.com/dictation-toolbox/natlink/pull/92

Instructions for Checking for C++ dependencies

Use full path to x86 dumpbin.exe and the natlink .pyd file

When the C++ compile redistributale is wrongly configured, the program dumpbin.exe reports a dependency VCRUNTIME140D.dll which should be compiled statically with .pyd file

Dump of file C:\Program Files (x86)\Natlink\site-packages\natlink\_natlink_core.pyd

File Type: DLL

  Image has the following dependencies:

    python38.dll
    KERNEL32.dll
    USER32.dll
    SHELL32.dll
    ole32.dll
    OLEAUT32.dll
    ADVAPI32.dll
    MSVCP140D.dll
    VCRUNTIME140D.dll
    ucrtbased.dll

(...)

Fix

  1. Static linking is established by installing: Microsoft Visual C++ Redistributable 32bit
  2. delete the build directory
  3. recompile

The correct output should be:

Dump of file C:\Program Files (x86)\Natlink\site-packages\natlink\_natlink_core.pyd

File Type: DLL

  Image has the following dependencies:

    python38.dll
    KERNEL32.dll
    USER32.dll
    SHELL32.dll
    ole32.dll
    OLEAUT32.dll
    ADVAPI32.dll
(...)