Bug 10465 - Windows Installer can't overwrite MYSQLD.EXE
: Windows Installer can't overwrite MYSQLD.EXE
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Windows Installer
: 7.4.1
: PC Windows Server 2003
: -- normal (vote)
: 7.4.0
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-26 07:01 UTC by Craig Stevenson
Modified: 2009-10-18 04:57 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
error box (238.89 KB, image/png)
2009-01-29 11:51 UTC, James Richardson
Details
ServerLog (4.39 MB, application/octet-stream)
2009-01-29 13:34 UTC, James Richardson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Stevenson 2008-12-26 07:01:22 UTC
During a SqueezeCenter upgrade, mysqld.exe can't be overwritten.  (Even if the service is stopped.)  This problem has been around for as long as I can remember.
Comment 1 James Richardson 2008-12-29 13:21:06 UTC
what version of Windows XP are you using?
is the account installing SC an administrator level account or restricted?
Comment 2 Craig Stevenson 2008-12-29 13:30:58 UTC
I'm using Windows 2003 Server SP1.
The account installing SC is an administrator level account.
Comment 3 Michael Herger 2008-12-29 13:47:46 UTC
When you say "even if it is stopped", do you mean the SC service or the MySQL service (SqueezeMySQL)?
Comment 4 Craig Stevenson 2008-12-29 13:52:44 UTC
The SqueezeMySQL Service.  (I didn't realize there was a separate MySQL service.)
Comment 5 Michael Herger 2008-12-29 14:13:01 UTC
> The SqueezeMySQL Service.  (I didn't realize there was a separate MySQL
> service.)

You're puzzling me... if you didn't know there was a separate MySQL service, how do you remember that particular service was stopped?
Comment 6 Craig Stevenson 2008-12-29 14:22:58 UTC
Now you are confusing me. <grin>

As far as I can tell, there is not two services.  (One named SqueezeMySQL, and one named MySQL.)  It looks like there is one service named SqueezeMySQL, but the name of the EXE is mysqld.exe.  (That's the service that I stopped, when I tried the installation.)  Does that make more sense?
Comment 7 Michael Herger 2008-12-29 14:31:18 UTC
> As far as I can tell, there is not two services.  (One named SqueezeMySQL, and
> one named MySQL.) 

Nope, we don't run a service called MySQL.

SqueezeMySQL - our MySQL instance
squeezesvc   - SqueezeCenter service (if configured to run as a service)

Do you have your own MySQL instance installed?
Comment 8 Craig Stevenson 2008-12-29 14:39:18 UTC
No, I don't have my own MySQL instance.  This was a scratch install of SC.  

Ok.  Let's back up a little bit.  Forget I ever mentioned anything about stopping a service.  The bottom line is that any time I try to do an upgrade, it fails with the error message I reported.  (Can't overwrite mysqld.exe)  That's the real problem here.

Just as a point of information, I said that I have tried it with and without stopping the service named "SqueezeMySQL".

Comment 9 James Richardson 2009-01-07 15:28:17 UTC
Craig: if you reboot the system after you uninstall, does that solve the issue?

What version of Windows XP are you running

What ServicePack do you have installed

What Anti-virus software do you run (if any)
Comment 10 Craig Stevenson 2009-01-07 16:55:30 UTC
James,

Yes, if memory serves, rebooting after an uninstall eliminates the problem.  This is pretty easy for you to test.  Simply install SC, get it running, and then try to upgrade it.

Craig

Comment 11 James Richardson 2009-01-08 07:24:13 UTC
(In reply to comment #10)
> James,
> 
> Yes, if memory serves, rebooting after an uninstall eliminates the problem. 
> This is pretty easy for you to test.  Simply install SC, get it running, and
> then try to upgrade it.
> 
> Craig
> 

What version of Windows XP are you running

What ServicePack do you have installed

What Anti-virus software do you run (if any)
Comment 12 Craig Stevenson 2009-01-08 07:35:19 UTC
I'm running Windows 2003 Server SP1.
Anti-Virus is AVG v7.5.

Comment 13 James Richardson 2009-01-29 11:51:05 UTC
Created attachment 4725 [details]
error box

Here is an error box I received when trying to do an 'upgrade' from SC 7.2 to 7.2.1

SC was running before upgrade
Normal SC install(not as a service)
Installer stopped SC, then proceeded to this point and stopped.  Retry does not advance.

Abort install, start again (no reboot) = install works
Comment 14 James Richardson 2009-01-29 13:33:21 UTC
I did not have any issues when upgrading from:

7.2.1 > 7.3.0
7.3.0 > 7.3.1
7.3.1 > 7.3.2

Server log attached
Comment 15 James Richardson 2009-01-29 13:34:43 UTC
Created attachment 4726 [details]
ServerLog
Comment 16 James Richardson 2009-01-29 13:40:06 UTC
Michael: your thoughts?
Comment 17 Craig Stevenson 2009-01-29 13:43:54 UTC
Have you tried the upgrade while a SqueezeBox was connected?  Have you tried the upgrade while SqueezeCenter was accessing the server from another computer?  Have you tried the upgrade with SqueezeCenter running as a service?  This problem is too consistent for me for it not to be reproducible....
Comment 18 Michael Herger 2009-02-02 00:04:18 UTC
The only reason I could imagine is a timing issue. If the machine is a bit loaded, it would take more than the time we're waiting for the service to be shut down. If you leave that message on the screen for a minute or two, would retry work? Looking at the task manager - do you see any activity on mysqld.exe when your launch the installer?
Comment 19 Craig Stevenson 2009-02-02 06:55:48 UTC
I don't think this is a timing issue.  My system is extremely fast.  (Dual Xeons, running on server class hardware.)

I left the error message on the screen for about 5 minutes, and hit retry.  No change in behavior.  I then tried to manually delete the mysqld.exe file, but got an access denied error message.  Something is keeping that file open.

I looked at task manager, and mysqld.exe is not running, and is not listed as a process.

Finally, I disabled the SqueezeCenter service, rebooted the system, and tried the installation again.  This time it worked.

I did notice one thing.  After disabling the SqueezeCenter service and rebooting, the tray icon was gone.  (During the initial installation, this icon was present, although it was dark.)  Perhaps the tray icon is monitoring the SC service, and is holding open mysqld.exe?
Comment 20 Michael Herger 2009-02-02 07:02:31 UTC
your box isn't a domain controller, is it?
Comment 21 Craig Stevenson 2009-02-02 07:03:26 UTC
No, it isn't a domain controller.
Comment 22 Chris Owens 2009-03-16 09:45:43 UTC
We are now planning to make a 7.3.3 release.  Please review your bugs (all marked open against 7.3.3) to see if they can be fixed in the next few weeks, or if they should be retargeted for 7.4 or future.

Thanks!
Comment 23 Michael Herger 2009-03-17 07:57:06 UTC
Punting post 7.4

James - do you know whether this is a common issue with the support? I still haven't seen this happen on any of my test machines.
Comment 24 Craig Stevenson 2009-03-17 16:00:34 UTC
I can confirm that the problem still exists with 7.3.3-25559.  Since this is apparently not a widespread problem, perhaps we should just push this until the underlying database changes.  (v7.4?)
Comment 25 Michael Herger 2009-03-18 00:49:54 UTC
I was close to removing SqueezeMySQL service from our code, but then realised it won't be there much longer.

Having it as a service doesn't make much sense, as it's started/stopped with SC. Could as well just run it as a background process (which we're doing as a fallback solution).
Comment 26 Michael Herger 2009-06-15 07:22:30 UTC
In general I've added more code to make sure any SB related software is shut down before installation. This doesn't apply to MySQL though, as it's no longer part of the 7.4 builds.
Comment 27 James Richardson 2009-10-05 14:34:18 UTC
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server!
    * SqueezeCenter: 28672
    * Squeezebox 2 and 3: 130
    * Transporter: 80
    * Receiver: 65
    * Boom: 50
    * Controller: 7790
    * Radio: 7790  

Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes

If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 28 Craig Stevenson 2009-10-18 04:57:56 UTC
I just tried to do an upgrade from 7.4-27942 to 7.4.1-28908, and this problem still exists.  (mysqld.exe can't be overwritten by the installer.)