none
Looking for appropriate method to put dlls in SysWOW64 folder RRS feed

  • Question

  • Hi All,

    After installing the Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64 version) on a Win 10 IoT enterprise platform, I still unable to run my c++ application on the platform due to some missing dlls in SysWOW64 folder. 
    I need to manually copy those files from other location and paste them into SysWOW64 folder before I able to execute my 
    application. 

    Due to there are quite a number of dlls which are having the same name, I have no confidence whether I've copied the correct files into the correct location. Also, I feel that it would be tedious if I need to repeat the manual copy procedures in other future units.

    Is there anyone know the appropriote method to put the dlls as listed below into the SysWOW64 folder.

    1) ucrtbase.dll
    2) ucrtbased.dll
    3) ucrtbase_clr0400.dll
    4) vcruntime140.dll
    5) vcruntime140d.dll
    6) vcruntime140_clr0400.dll

    Thank You.

    Regards

    Geng88

    Thursday, October 10, 2019 7:46 AM

All replies

  • Hello,

    I'm sorry I don't know. You are in the wrong forum. This forum deals with Visual C++ source code problems.

    You should better ask here: https://social.msdn.microsoft.com/Forums/en-us/home?forum=vssetup

    Regards, Guido

    Thursday, October 10, 2019 8:00 AM
  • You quoted some DEBUG DLLs (ucrtbased.dll, vcruntime140d.dll)

    And DLLs must never be copied manually in System folders.

    Thursday, October 10, 2019 8:02 AM
  • Hello Guido,

    Thanks for the info.

    Regards,

    Geng88

    Friday, October 11, 2019 7:42 AM
  • Hi All,

    After installing the Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64 version) on a Win 10 IoT enterprise platform, I still unable to run my c++ application on the platform due to some missing dlls in SysWOW64 folder. 
    I need to manually copy those files from other location and paste them into SysWOW64 folder before I able to execute my 
    application. 

    Due to there are quite a number of dlls which are having the same name, I have no confidence whether I've copied the correct files into the correct location. Also, I feel that it would be tedious if I need to repeat the manual copy procedures in other future units.

    Is there anyone know the appropriote method to put the dlls as listed below into the SysWOW64 folder.

    1) ucrtbase.dll
    2) ucrtbased.dll
    3) ucrtbase_clr0400.dll
    4) vcruntime140.dll
    5) vcruntime140d.dll
    6) vcruntime140_clr0400.dll

    Thank You.

    Regards

    Geng88

    Friday, October 11, 2019 7:44 AM
  • Hi Geng88,

    Welcome to the MSDN forum.

    Here are some of my suggestions. If I have misunderstood, please feel free to let us know.

    As far as I know, If a .DLL is missing you'll get an error along the lines of, "Error opening file, dllName.dll missing."

    You could copy the file to the system directory. Finally click the Start menu --> Run --> enter regsvr32 vcruntime140d.dll, press Enter to resolve the error message.

    And how to register dll file you can refer to the following steps:

    • If the DLL is 32 bit:

    Copy the DLL to C:\Windows\SysWoW64\

    In elevated cmd: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll

    • If the DLL is 64 bit:

    Copy the DLL to C:\Windows\System32\

    In elevated cmd: %windir%\System32\regsvr32.exe %windir%\System32\namedll.dll

    Best regards,

    Eden


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    Friday, October 11, 2019 9:49 AM
  • Hello Eden,

    My question is what is the proper way to get the below dlls. I would like to avoid those manual copy procedure.

    1) ucrtbase.dll
    2) ucrtbased.dll
    3) ucrtbase_clr0400.dll
    4) vcruntime140.dll
    5) vcruntime140d.dll
    6) vcruntime140_clr0400.dll

    I thought I can get those dlls from Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64 version), but seem like I was wrong. 



    • Edited by Geng88 Monday, October 14, 2019 4:21 AM typo correction
    Monday, October 14, 2019 4:21 AM
  • As I said, some are DEBUG DLLs and installed with VS

    and must not be copied into System folders

    Monday, October 14, 2019 7:11 AM
  • Hi Castorix31 and all,

    1) ucrtbase.dll
    2) ucrtbased.dll
    3) ucrtbase_clr0400.dll
    4) vcruntime140.dll
    5) vcruntime140d.dll
    6) vcruntime140_clr0400.dll

    Exclude those DEBUG DLLs, I notice that DLLs like vcruntime140.dll, vcruntime140_clr0400.dll and ucrtbase_clr0400.dll did not appear in the SysWOW64 folder after the Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64 version) installation. I wonder:

    1) Is the manual copying procedure inevitable?

    2) Is that the installer mentioned above do not provide those DLLs listed above? Then what is the proper way to get those DLLs?

    I have no knowledge about this. I just hope that I can setup the system based on the proper procedure instead of copying files manually. 

    Thank You.

    Regards,

    Geng88

    17 hours 50 minutes ago
  • You're talking about VC++ redistribuable x64 version and SysWOW64 :

    SysWOW64  = 32-bit

    (see File System Redirector)


    17 hours 40 minutes ago
  • Hello,

    as far as I found out, the dlls are in the redistributable package of VS 2015:

    https://www.microsoft.com/en-us/download/details.aspx?id=48145

    You should never copy dlls to the System folders manually. If your programme needs dlls of redistributable packages, then add the Setup exe of the package in your Setup routine.
    If you use third party libraries in your programme, then provide them in the local installation path of your programme through your Setup routine.

    Regards, Guido

    17 hours 34 minutes ago