Answered by:
vs2015 c++ project needs ucrtbased.dll, how to install?

Question
-
I have a solution with mixed c# and c++ that was using vs2013's 'visual studio installer projects' extension. I just upgraded to vs2015, let it change the c++ projects to use the latest mfc and crt stuff, and installed the vs2015 'visual studio installer projects' extension. as in vs2013 it doesn't recognize c++ dependencies so I changed the crt and mfc msm's to the vc140 versions. but when trying to run the program it reports that it can't find ucrtbased.dll.
I have seen some threads on vcredist_*.exe not working, and that you shouldn't use msm's to install the new crt stuff. So, what is the 'proper' method to install ucrtbased.dll (and whatever other dependencies it might have) using the 'visual studio installer projects' extension to systems from at least win-7 up (I would like to support older os's but the company doesn't require it)
- Moved by Herro wongMicrosoft contingent staff Thursday, November 12, 2015 3:11 AM from clickonce
Wednesday, November 11, 2015 1:26 PM
Answers
-
Hi EPRI_Dave,
Thank you for posting in MSDN forum.
I checked this ucrtbased.dll on my windows 10 machine, and I could find it, but I couldn't find it on my windows 8.1. Because the Universal CRT is a Windows operating system component. It is a part of Windows 10. See the screenshot below:
So as my understanding, it could not deploy on windows 7.
Besides, you wanted to install the Visual C++ redistributable 2015 on windows 7, it requires windows 7 SP1 at least. If you don't have SP1, I suggest you refer to this page to upgrade your windows to SP1: http://windows.microsoft.com/en-us/windows7/install-windows-7-service-pack-1
Best Regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.Thursday, November 12, 2015 3:29 AM
All replies
-
ok, some progress... realized that I was trying to deploy a debug build, so changed to release and now it works on win-10 (because the ucrtbase.dll and stuff is part of win-10). however, on win-7, my next test, it fails saying api-mi-sin-crt-runtime-|1-1-0.dll is missing.... I tried going to ms download center and downloaded both the vcredist_x86.exe and vcredist_x64.exe and neither one would install, they both quit after appearing to run with an unspecified error. this is on a win7x64 hyper-v clean installation I use for testing regularly.
when I try to put in the vcredist_x86 as a prerequisite for installation it also fails saying it 'has changed since it was initially published'... so that path doesn't work either.
Wednesday, November 11, 2015 6:06 PM -
Hi EPRI_Dave,
Thank you for posting in MSDN forum.
I checked this ucrtbased.dll on my windows 10 machine, and I could find it, but I couldn't find it on my windows 8.1. Because the Universal CRT is a Windows operating system component. It is a part of Windows 10. See the screenshot below:
So as my understanding, it could not deploy on windows 7.
Besides, you wanted to install the Visual C++ redistributable 2015 on windows 7, it requires windows 7 SP1 at least. If you don't have SP1, I suggest you refer to this page to upgrade your windows to SP1: http://windows.microsoft.com/en-us/windows7/install-windows-7-service-pack-1
Best Regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.Thursday, November 12, 2015 3:29 AM -
ok, missed the win7 sp1 requirement and the images were rather old so they didn't have that. downloading now and will try later. a manual install of vcredist worked on win 8 at least, haven't tried from the installer build yet. running out of time to work on tools so set c++ builds back to use vs2013 runtimes for now.Thursday, November 12, 2015 1:43 PM
-
Hi EPRI_Dave,
Please remember to send the feedback to us, we will follow up here.
Best Regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.Friday, November 13, 2015 1:43 AM -
The other answers about ucrtbased.dll only being part of Windows 10 are not accurate. Both ucrtbase.dll and ucrtbased.dll can be used on older versions of Windows.
When you are running debug code on older versions of Windows that don't have Visual Studio 2015 installed, copy ucrtbased.dll from the path below into your application's Debug directory. (This is the 32-bit version):
C:\Program Files (x86)\Windows Kits\10\bin\x86\ucrt\ucrtbased.dll
I tested this with my application on Windows Server 2012R2 and it worked great.
For more information about required files for debug builds, see Steps #3 and #4 on my blog page:
https://qualapps.blogspot.com/2016/05/remote-debugging-visual-c-2015.html
Jim Beveridge
- Proposed as answer by PDeets Thursday, June 9, 2016 11:24 PM
Monday, May 23, 2016 1:43 AM -
I use wındows 7 ultimate and i have a same problem. you are saying windows sp1 request but i had it. I download uctbased.dll but it is not work i need helpSunday, October 9, 2016 8:42 AM
-
The other answers about ucrtbased.dll only being part of Windows 10 are not accurate. Both ucrtbase.dll and ucrtbased.dll can be used on older versions of Windows.
When you are running debug code on older versions of Windows that don't have Visual Studio 2015 installed, copy ucrtbased.dll from...
I really didn't want to have to copy system DLLs around to debug my apps, nor did I want to modify dozens of projects to do it so that others could run the debug builds. I figured there must be a way to get that stuff installed correctly; I had ucrtbase.dll in the Windows system folders and the documentation on the Universal CRT says the debug version is installed with VS 2015 but on my Win7 machine it clearly was not. It did appear in the Windows Kits folder, it just didn't make it to System32 nor SysWOW64.
Figuring I had nothing to lose, I fired up the VS2015 installer, did "modify", and selected the Programming Languages->Visual C++->Common Tools for Visual C++ 2015 (not sure if I never selected it before or if it's new or what) (and also replaced the Python Tools with the latest) and then hit "Update" or whatever the button was. The ucrtbased.dlls got put into the appropriate places.
- Proposed as answer by TomP-ATI Thursday, November 3, 2016 12:55 AM
Thursday, November 3, 2016 12:53 AM -
Worked like a charm.Saturday, November 26, 2016 9:15 PM
-
Thanks for your answer! I had a similar issue in VS2015 Update 3. Not sure if it appeared after adding Visual C++ Android Development. The file ucrtbased.dll was missing from System32 on Win7. Common Tools for Visual C++ 2015 was already installed. Choosing Repair didn't help. I had to uninstall and then reinstall the Common Tools and the Setup finally copied the dll in System32.Friday, December 23, 2016 6:54 PM