Fog Creek Software
g
Discussion Board




The mysterious mk:@MSITStore

I've started getting an error message when I try to open a CHM file, stating that it cannot find the file.

The stange thing is that it prefixes the normal path with 'mk:@MSITStore.'

What is this mysterious mk:@MSITStore?

Searching Google groups sees this phrase poping up everywhere.  Sometimes on documents, sometimes in error messages.

Ged Byrne
Monday, October 27, 2003

Just in case anybody is searching on the same problem, it happened because I accidentally unregestired the following dlls.

Re-registering solved the problem.

I still don't understand where mk:@MSITStore comes from, though.

Ged Byrne
Monday, October 27, 2003

It's a pseudo-protocol to reference sources within the same .chm helpfile. At the same time it's a major security risk because those references are not handled with correct security restrictions. If you happen to download .chm files from the internet you should leave the protocol disabled.

Johnny Bravo
Monday, October 27, 2003

this is an uri, kind url

name not available
Monday, October 27, 2003

Johnny,

How do I disable the protocol?

Ged Byrne
Monday, October 27, 2003

Which DLLs did you accidentally unregister?

ChrisO
Monday, October 27, 2003

itss and iticrl

Ged Byrne
Monday, October 27, 2003

i think that's a COM moniker (mk), predates URL Monikers (urlmon), expressed as a URI (mk:).

mb
Monday, October 27, 2003

A URI (or URL) consists of a protocol handler name and a protocol specific address seperated by a colon.

http://yahoo.com

Protocol: http
Protocol specific address: //yahoo.com

mk:@MSITSTORE

Protocol: mk
Protocol specific address: @MSITSTore

mk is the "MSDN CD viewer" protocol.
and @MSISStore is the address that the mk handler is expecting.

--
ee

eclectic_echidna
Monday, October 27, 2003

> mk is the "MSDN CD viewer" protocol.

No it's not. mk is 'moniker', which is an older COM concept. MSITStore is a COM object (identified by it's ProgId) which implments the Moniker interface (IBindToStorage?). So mk:@MSITStore is sort of the MSDN CD viewer protocol.

You can use this yourself and make mk:@MyProgid:blahblah. For most people however, the res: protocol is a much more useful option.

mb
Monday, October 27, 2003

(so URLMON takes a URL starting with a scheme (not protocol) of mk:, identifies that it's a moniker, then sends the rest off to the moniker handler in COM.)

mb
Monday, October 27, 2003

*  Recent Topics

*  Fog Creek Home