CyanogenMod, why doesn't Market self-upgrade? I've bought a used HTC Magic with CyanogenMod 5 on it. It has Google Market. The market version is 1.713 - which is nowhere near the latest IIRC. In-app billing, for one thing, is not supported.

Isn't Google Market supposed to upgrade itself when a new version comes out? Why doesn't mine do so? Probably some kind of CyanogenMod interference. Any good way around that, please?

EDIT: debugged the situation a little bit. I happen to know that market updating happens out of the main Market process - the Market (com.android.vending) downloads the update, then fires a broadcast intent UPDATE_MARKET to a receiver in another app (com.android.vending.updater), which in turn installs the package. Here's what I got in the LogCat:


  02-01 02:34:16.155: W/ActivityManager(121): Permission Denial:
  broadcasting Intent { act=com.android.vending.UPDATE_MARKET
  dat=content://downloads/download/31 } from com.android.vending
  (pid=1762, uid=10006) requires
  com.android.vending.permission.UPDATE_MARKET due to receiver
  com.android.vending.updater/com.android.vending.updater.UpdateMarketReceiver


So it looks as if the Market app lacks a permission to invoke the updater. The manifest file of Vending.apk, however, does have a 

&lt;uses-permission android:name="com.android.vending.permission.UPDATE_MARKET" /&gt; 


line. How is it possible for an app to have a &lt;uses-permission&gt;, but receive a permission denial message?

EDIT2: the permission com.android.vending.permission.UPDATE_MARKET is marked as "signature" in the MarketUpdater manifest. Meaning only apps signed by the same certificate as MarketUpdater are granted that permission. That could be the reason Market is not granted the permission - could be signed by a different certificate.

EDIT3: that's exactly the case. The public key is different. The one on Vending.apk seems to match that on various versions of Vending.apk that are floating around the 'Net.
It probably has nothing to do with CM; the Market is just really, really bad at updating itself.  Sometimes clearing the data for it will help, but sometimes you'll additionally need to install a newer version manually before it will start updating itself again.

I've installed the 3.4.4 Market from Android Police a few times, if you're looking for a safe file.  Just put it on your SD card or internal storage (make sure it has the .apk extension) and install it via a file manager.  Settings -&gt; Applications -&gt; Unknown sources needs to be checked for this.