Bug #72168 prevent browser/proxy caching of product catalog
Submitted: 31 Mar 2014 10:44 Modified: 4 Mar 2016 23:22
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL for Windows: Installer Severity:S3 (Non-critical)
Version:5.6.17 OS:Windows (7/64)
Assigned to: CPU Architecture:Any

[31 Mar 2014 10:44] Peter Laursen
Description:
On this machien a have multiple servers, as I need to test appications with everyone.  They are
* 5.0.96 (using the .msi installer for that version)
* 5.1.73 (using the .msi installer for that version)
* 5.5.37 (upgraded recently using the standalone installer "mysql-5.5.37-winx64.msi")
* 5.7.3 (installed with mysqld --install command from .zip archive)
+ 2 MariaDB instances: 5.5 and 10.0).

I removed a 5.6.16 instance (installed with mysqld --install command from .zip archive), using "sc delete" command and also remvoved all old 5.6 related files and next installed MySQL 5.6.17 using the "MySQL Installer" in order to veryfy that that new MySQL Installer v. 5.6.17 would be useful for me (it never was before as it always destroyed something).

This installer wanted to *upgrade* the existing 5.5.37 instance to 5.5.30 (sic!).  This version is now several months old - if not almost a year. But after all it failed to find the 5.5.30 download and this *so-called upgrade* was skipped.

How to repeat:
Install 5.5.37 and next install 5.6.17 using the "MySQL Installer" (crap).

Suggested fix:
I see two possible solutions:

1) Don't attempt to *upgrade* any program if version of same already installed is more recent than the version the installer knows about. Simple skip. 

2) Make it possible for the installer to fetch latest versions online of all programs (older servers, clients, connectors) the installer is supposed to handle.
[31 Mar 2014 10:45] Peter Laursen
Fixed typo in synopsis.
[31 Mar 2014 10:55] Peter Laursen
Let me add that now version of the "MySQL Installer" was installed in advance. I had it before but uninstalled it several months ago.  I don't exlude that some files from an older version were left behind on the system by the "MySQL Installer" uninstaller at that time.
[31 Mar 2014 13:35] MySQL Verification Team
I couldn't repeat so probably how you commented before some older files could affect the installer 5.6.17 to suggest that downgrade action.
[31 Mar 2014 13:40] Peter Laursen
Well .. then let somebody reply to what files and registration keys the installer reads!
[31 Mar 2014 14:38] Peter Laursen
I think I may have figured out one possible reason for this.  It could be a proxy issue.

The Installer will connect to some web(HTML, PHP, JSP or whatever)page(s) on an Oracle server to fetch information of latest program versions available.  This webpage could be cached in some kind of proxy system somewhere (my own ISP is one possibility, but not the only one). As a result the Installer will effectively get access to (an) old cached version(s) of the page and not the most recent one. 

I think there are ways to make such pages 'proxy-safe'? One simple way would be to create a new page for every version of the MySQL Installer. But there could be better solutions.
[1 Apr 2014 8:21] MySQL Verification Team
I am not a http guru, but perhaps there are better ways on server side to discourage caching of the product category (no-cache...)

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Cache-Control:max-age=0
Connection:keep-alive
Host:wb.mysql.com
If-Modified-Since:Mon, 31 Mar 2014 15:32:05 GMT
[1 Apr 2014 9:42] Peter Laursen
Also the mysql-installer-community-5.7.4.0-m14.msi wanted to downgrade 5.5.37 to 5.5.30 (and again failed to find the download).
[4 Mar 2016 23:21] Javier TreviƱo
Posted by developer:
 
The problem is not reproducible anymore with latest MySQL Installer (1.4.15).
Tested by installing a 5.5.37 server using stand-alone MSI and configuring it using the configuration wizard that the stand-alone MSI launches at the end of the installation.
After making sure 5.5.37 was functional, launched the MySQL Installer for Windows, on the Upgrade screen the Installer detected version 5.5.37 and suggested an upgrade to 5.5.48 which is correct.
The upgrade to 5.5.48 went without problems as well.