No api-ms-win-crt-runtime-l1-1-0.dll on Windows 10 after Visual C++ 2015 redistributable packages - wix

my WIX installer detects if installing VCRedist 14 (aka Microsoft Visual C++ 2015 redistributable packages) is required using the presence of api-ms-win-crt-runtime-l1-1-0.dll, because without it, my C++ app built with VStudio 2015 wouldn't run on Windows 7 / 8 / 8.1 with this famous error:
The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is
missing from your computer. Try reinstalling the program to fix this
problem.
However, my app runs fine on Windows 10 without VCRedist 14, although api-ms-win-crt-runtime-l1-1-0.dll doesn't exist.
I don't know how & why: even Dependency Walker (depends.exe) displayed the error "Cannot find api-ms-win-crt-runtime-l1-1-0.dll"
On Windows 10, even if I installed VCRedist 14, api-ms-win-crt-runtime-l1-1-0.dll was never copied to System32 directory. Anyone know why?
Also can anyone explain how any C++ app built with VS2015 doesn't require VCRedist 14 on Windows 10?

According to this article
https://support.microsoft.com/en-us/kb/2999226
the api-ms-win-crt-runtime-l1-1-0.dll is a part of Windows 10 operating system, so only 7 and 8 families need to apply the update with this dll.
This dll is a thin CRT backwards compatibility shim for applications compiled for new Windows (10+) API when running on older Windows system. So on W10 your application doesn't need this dll.

Related

VB application built using visual studio 2015 installation to windows xp

I updated a vb windows forms application using visual studio 2015. I need to install this on a windows xp machine.
I updated my application to run using .net framework 4.0, the same as the one installed in the xp machine.
When I tried to install it the first time, it asked me to restart the machine, which I did. after restarting it gave me the error that installation is incomplete.
I have been researching all morning on how to fix it, i tried the dpca.dll solution, i tried restarting the windows installer service, i used msiexec to view the logs, and now it gives me the error that a dll required for this install to complete could not be run. I have no idea which dll, it doesn't say.
My application is fine. It builds and installs beautifully on windows 7 and above.
Please help me before I smash the windows xp machine into pieces.
I came across a comment that i can run the executable itself, just needed to copy all the dll files and put it in the same folder as the executable. So I just copied the whole folder and run the exe on the xp machine and it works.

Installing the newest version of Wamp server

I'm learning PHP and I'm a newbie in apache, mysql,etc.
I tried to install WAMPServer (The current newest version 2.5) but I get the error:
msvcr110.dll is missing.
I have followed some instructions given here: WAMP shows error 'MSVCR100.dll' is missing when install
However, none of the advice worked for me. I have already installed Visual C++ for windows 32 bits and Visual C++ Redistributable for Visual Studio 2012. After that I installed Visual C++ 2008, it didn't worked either.
And even after that I installed vcredist_x86.exe. This gave me an option to repair my Visual C++, and so I did.
In all my tries I restarted my computer.
I didn't install Visual c++ for windows 64 bits because my os is running a 32 version.
Any ideas?
Thanks for your attention,
berga007
Please make sure you have the latest version of all of these Microsoft C/C++ Redistributable runtime libraries. You dont need the whole compiler, just these C/C++ runtime libraries.
The 2008 Redist (32bit) is used by wampmanager even if you installed the 64bit WAMPServer.
The 2010 Redist is used by some versions of Apache ( depending on compiler used ).
The 2012 Redist is used by some versions of Apache ( depending on compiler used ).
FOR WAMP 32bit
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
If you are using WampServer 2.4/2.5 32bit and therefore Apache 2.4.x
Microsoft Visual C++ 2012 is required And select vcredist_x86.exe
Due to the naming convention used by Microsoft dowmloading these libraries can get a little confusing so download them one at a time and install that download before downloading the next and installing that.
To check that you have all the required runtimes, launch 'Programs and Features' by
Start -> Control Panel -> Programs and Feature
For a 32bit system it should look something like this, ignore the fact that mine has what look like multiple versions of the same library, its just because when you download a newer version it does not remove the older revisions :-
32bit System example
UPDATE FOR 2018 (WAMPSERVER 3.x)
You need the following Visual Studio Redistributables:
2008
2010
2012
2013
2017
Get both the x86 and x64 versions if you're on a x64 machine.
Also, make sure you set skype to NOT use port 80, otherwise WAMP won't start when Skype is open.

Project stopped running at Windows XP (32-bit)

I'm developing an application for a friend. I use Visual Basic 2012 (64-bit) and Windows 7 (64-bit).
I took a demo down to him to try it out to see what more features he wanted, and it was running ok.
When I got back the next week after implementing the new features, it refused to run on any of his Windows XP (32-bit) machines.
Error code:
MyApplicationName.exe is not a valid Win32 application
I tried it at a computer running Windows 7 (32-bit) which still worked all fine.
So, any ideas why it suddenly stopped running?
VS2012 will not generate an EXE that can run on XP when you use the default project settings. What matters is the .NET Framework version you target. If that's version 4.5 then there are two problems.
First one is that .NET 4.5 is not available for XP. Second one is important for this exception message, the compiler will mark the version of Windows that's required to run the EXE in the file header. That version number has always been set to 4.00. Until VS2012, it is now set to 6.00, the version number of Vista. XP will instantly reject your EXE with the "is not a valid Win32 application" message, even before it will tell you that it doesn't have .NET 4.5 installed.
Fix your problem by targeting .NET 4.0 or earlier. Project + Properties, Application tab, Target framework setting.
Try using corflags with /32bit+ and see if it works.
More information:
http://msdn.microsoft.com/en-us/library/ms164699.aspx

Testacular install fails, no vcbuild.exe

I'm trying to install Testacular (using nmp) on a Windows 8 Professional (64 bit) laptop, but it fails when it tries to install socket.io as part of this process. The error I get is
Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visual
Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere.
I apparently have .NET framework 3.5 installed (it's checked under the add/remove Windows components bit in Control Panel), although I've not managed to find a vcbuild.exe. I tried installing an old copy of VS2005 but this resulted in a different error about an invalid project (.vcproj) file.
Can anyone suggest how I might get this working? Weirdly it installed fine on my work computer, which is very similar to the one on which it won't install (they're both 64 bit Win 8 Pro).
I ran into the same issue. I fixed this by adding this to environmental variable PATH: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages so that it can find vc build.
In Visual Studio 2010, the command line tool vcbuild.exe is replaced by msbuild.exe. So, please make sure you have right Visual studio.

Installing simplest plugin on German Windows XP

I'm trying to figure out why the simplest firebreath plugin wont install on a German Windows XP SP3. I'm running Windows XP as a virtual machine.
The event viewer in Windows XP tells me something about the Windows Installer aborting but not why. I'm logged in as the administrator.
The installer works on Windows 7.
For development I use Windows 7, Visual Studio 2010 and some one months old firebreath trunk.
Is this is known problem? What are the typical steps I could use to track down the issue?
Regards,
Christian
If you get an error saying module can't be found it means that you are missing a .dll file needed to make the plugin work. The most common if it works on most computers (or many) but not that one is that your .dll was compiled with a dynamic runtime, in which case you'll have to install the common runtime for whatever version of visual studio you compiled it with.
For example, the runtime distributable for vs2008 is at http://www.microsoft.com/en-us/download/details.aspx?id=29
Dependency Walker might help you to find out which dll is missing.