Bug #74227 Microsoft 'redistributables' should be packaged when required
Submitted: 5 Oct 2014 11:10 Modified: 8 Oct 2014 19:31
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:any OS:Windows
Assigned to: CPU Architecture:Any

[5 Oct 2014 11:10] Peter Laursen
Description:
There are reports
http://bugs.mysql.com/bug.php?id=74109
http://bugs.mysql.com/bug.php?id=74072
.. and more

.. where some MySQL software for Windows does not install or (worse) does not work properly after after installation due to a failing dependency on dll's from Microsoft.

I am marking this as a bug with WB (with reference to above 2 bugs), but it could equally well be other GUI-tools or the MySQL installer itself. I just have to pick a category available!

How to repeat:
This has been repeated in several bug reports already!

Suggested fix:
'redistributables' are meant for *redistribution* (obviously). Any, that is required, should be bundled with the installer for the software having a dependency on it. That is how it is intended to be.

I have at least two software systems doing this rather elegantly: 
* the "Nero" software package (optical disk burning software + multimedia programs)
* Paragon 'Hard DisK Manager' Suite (for managing backups, harddisk partitions administration, low-level hard check routines and similar things).

At install time (also when upgrading) they will check if required redistributables are installed or not. If not they will inform user that this-or-that redistributable is requried and ask for user's accept to install it. When user accepts it will install the redistributable and next itself.

The last example was that I upgraded some of the programs in the Nero package yesterday. It upgraded (after my permission) the Visual C+ 2012 redistributable from version 11.0.5 to version 11.0.6 (and also correctly created a system restore point for every step).
[5 Oct 2014 11:10] Peter Laursen
Fixed typo and raised severity.
[5 Oct 2014 12:35] Peter Laursen
Another example is (http://bugs.mysql.com/bug.php?id=74190) that Notifier 1.5x has a dependecy on "C++ Redistributable Package for Visual Studio 2013".

BUNDLE it please. It is *redistributable* for exactly that purpose. 

There are so many 'redistributables' available today and availabe in various generations (2010, 21012 and 2013) as well as available as 32bit and 64bit.
[5 Oct 2014 14:13] Peter Laursen
see for instance: 

http://answers.bitrock.com/questions/389/including-the-microsoft-visual-c-runtime-in-your-...
[5 Oct 2014 18:42] Peter Laursen
Aditionally it would be nice if all the MySQL GUI utilities for Windows (including teh MySQl Installer) were built on the same Visual Studio version so that only one redistributable was required for them all.

Currently MySQL/Oracle development for Windows is no less than *complete chaos*.  And it always was like that.
[6 Oct 2014 7:10] Valeriy Kravchuk
I think other options is to just offer a direct link to download the missing redistributable from Microsoft's site. I've noted other software doing this.
[6 Oct 2014 7:19] Peter Laursen
The problem with just a link is that it may some day become a *dead link* (when MS reorganize their website).
[6 Oct 2014 8:55] MySQL Verification Team
Hello Peter,

Thank you for the bug report.

Thanks,
Umesh
[6 Oct 2014 8:58] MySQL Verification Team
Download page has listed relevant links under "MySQL Workbench Prerequisites:" - http://dev.mysql.com/downloads/workbench/

Also, system requirement section offers some more info - http://dev.mysql.com/doc/workbench/en/wb-requirements.html

Requirements for Windows
Microsoft .NET 4.0 Framework

Microsoft Visual C++ 2013 Redistributable Package (MSVC2013)

Note
The 2010 version was used in previous editions of MySQL Workbench 6.

Leaving bug in verified state to get more insight from dev's on this.
[7 Oct 2014 22:04] Alfredo Kojima
We are not allowed to distribute the MSVC runtimes because WB is GPL and MS apparently doesn't like GPL very much.
I'll mark this as a duplicate of bug #74109 as the most we can do is try to give better warnings.
[8 Oct 2014 15:05] Peter Laursen
See http://bugs.mysql.com/bug.php?id=74250
"except for a couple of commercial plugins"

I find the conclusons in the two bug reports inconsistent. Is it Micrsoft that forbids bundling of its redistributables or is it the GPL license?
[8 Oct 2014 15:48] Alfredo Kojima
Commercial plugins we are talking about there is code that we wrote, owned by Oracle. The Microsoft redistributables are owned by Microsoft and we have to comply with their EULA to be able to do anything with them. It is my understanding that we can't ship these redistributables with GPL products.
[8 Oct 2014 19:31] Peter Laursen
@Alfredo.  Your reply on 7 Oct  did not make it clear if it was Microsofts's EULA or teh GPL license that was the showstopper. I read it like it was the GPL that was.

(BTW: I am also fully aware that Oracle is not Microsoft.  Microsoft would never write such offending replies to their users)