Windows Universal Runtime

When in Advanced Build I activate “Include Runtime DLL’s” , according to the Documentation (and it really happens) the Universal Runtime DLLs are copied beside the app executable.

If I move them to the Libs folder, is it the same?
Will the application work if the user hasn’t these DLLs?

Thanks for your comments.

No

Maybe on windows 10 but devices with Windows 7, 8 and 8.1 wont. Some devices CANT install this DLLs through windows update so, it is best if you include them in the build.

But they can install https://www.microsoft.com/en-us/download/details.aspx?id=53587

Microsoft recommends installing the Universal Runtime by either Windows Update or the Visual C++ Redistributable when possible. After that further updates to it are handled automatically by the standard Windows Update mechanism.

I don’t include them. 99,7% of the people already have it nowadays. For any rare case presenting “The program can’t start because api-ms-win-crt-heap-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem” the support leads them to https://www.microsoft.com/en-us/download/details.aspx?id=53587 to install it.

Thank you Ivan. You answers confirm my fears.

Rick A. What you say sounds very interesting. But I have an application used by “all” type of users and computers (some time very old, 32-bit). That’s why I decided to add always Windows Universal Runtime DLLs. In fact, as the installer does everything, users do not notice anything. However if they have a look at the application folder they see this amount of files that I pretended to move away, but I imagine that if Xojo doesn’t do it, it’s because it is not so simple.

I said Some devices CANT install it. You are ASUMING that all the PC have a Windows update updated and working.

Even if that percentage is correct and “only” 0.03% of PCs dont have it installed, you are talking about tens of millions.

The only time I deployed an app without the DLLs but with the installer of the runtime, up to 10% of the cases, the installation FAILED, the solutions ranged from windows updates so outdated that taked HOURS or even days to install service packs and fixes (the prerequisites) before installing the runtime, to some cases where windows update was not even working so the only option was to reilstal windows.

But sure, your mileage can vary depending ow what kind of users you target, the minimum os version, the number of users and how much time you are prepared to waste on client support to update the windows of the final users.

I’m showing the solution NOT USING WINDOWS UPDATE but downloading the installer, so the user can have the solution installed system wide, allowing multiple lighter apps not redeploying the DLLs with every app.

ahhh, that is the problem, you dont know how that “installer” works…

That installer has PREREQUISITES, if the PC does not meet them (outdated windows), that same installer will tell you to USE WINDOWS UPDATE FIRST.

Once the OS has being updated, (as noted before, this update can take hours or fail completly) you can use the “installer”.

You make a lot of assumptions. Well, there’s a motivation for prerequisites. Sending a lot of DLLs with your app to a system useless as a Windows 7 without SP1 also makes no difference, but ok, as you said YMMV.

There are MILLIONS of windows 7 users. You can either trow a tantrum and tell them their daily work horse is useless and have to migrate to a new OS, or you can ship some DLLs and have them as customers.

Xojo apps, even with Windows Runtime DLLs included, don’t run on Windows 7 pre SP1, that’s a prerequisite. You will need update it anyway.