diff --git a/dlls/mshtml/.cvsignore b/dlls/mshtml/.cvsignore index 39a4f65d45c..bd852edae90 100644 --- a/dlls/mshtml/.cvsignore +++ b/dlls/mshtml/.cvsignore @@ -1,3 +1,4 @@ Makefile libmshtml.def mshtml.dll.dbg.c +rsrc.res diff --git a/dlls/mshtml/Makefile.in b/dlls/mshtml/Makefile.in index a777e70e77f..f801e7dc1e4 100644 --- a/dlls/mshtml/Makefile.in +++ b/dlls/mshtml/Makefile.in @@ -15,6 +15,10 @@ C_SRCS = \ persist.c \ view.c +RC_SRCS = rsrc.rc + @MAKE_DLL_RULES@ +rsrc.res: mshtml.inf + ### Dependencies: diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c index f9b5905f307..e65b8f335b5 100644 --- a/dlls/mshtml/main.c +++ b/dlls/mshtml/main.c @@ -34,6 +34,7 @@ #include "winreg.h" #include "ole2.h" #include "docobj.h" +#include "advpub.h" #include "mshtml.h" #include "mshtml_private.h" @@ -270,11 +271,129 @@ HRESULT WINAPI MSHTML_DllInstall(BOOL bInstall, LPCWSTR cmdline) return S_OK; } +DEFINE_GUID(CLSID_AboutProtocol, 0x3050F406, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CAnchorBrowsePropertyPage, 0x3050F3BB, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CBackgroundPropertyPage, 0x3050F232, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CCDAnchorPropertyPage, 0x3050F1FC, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CCDGenericPropertyPage, 0x3050F17F, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CDocBrowsePropertyPage, 0x3050F3B4, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CDwnBindInfo, 0x3050F3C2, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CHiFiUses, 0x5AAF51B3, 0xB1F0, 0x11D1, 0xB6,0xAB, 0x00,0xA0,0xC9,0x08,0x33,0xE9); +DEFINE_GUID(CLSID_CHtmlComponentConstructor, 0x3050F4F8, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CImageBrowsePropertyPage, 0x3050F3B3, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CInlineStylePropertyPage, 0x3050F296, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CPeerHandler, 0x5AAF51B2, 0xB1F0, 0x11D1, 0xB6,0xAB, 0x00,0xA0,0xC9,0x08,0x33,0xE9); +DEFINE_GUID(CLSID_CRecalcEngine, 0x3050F499, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CSvrOMUses, 0x3050F4F0, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_CrSource, 0x65014010, 0x9F62, 0x11D1, 0xA6,0x51, 0x00,0x60,0x08,0x11,0xD5,0xCE); +DEFINE_GUID(CLSID_ExternalFrameworkSite, 0x3050F163, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_HTADocument, 0x3050F5C8, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_HTMLLoadOptions, 0x18845040, 0x0FA5, 0x11D1, 0xBA,0x19, 0x00,0xC0,0x4F,0xD9,0x12,0xD0); +DEFINE_GUID(CLSID_HTMLPluginDocument, 0x25336921, 0x03F9, 0x11CF, 0x8F,0xD0, 0x00,0xAA,0x00,0x68,0x6F,0x13); +DEFINE_GUID(CLSID_HTMLPopup, 0x3050F667, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_HTMLPopupDoc, 0x3050F67D, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_HTMLServerDoc, 0x3050F4E7, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_HTMLWindowProxy, 0x3050F391, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_IImageDecodeFilter, 0x607FD4E8, 0x0A03, 0x11D1, 0xAB,0x1D, 0x00,0xC0,0x4F,0xC9,0xB3,0x04); +DEFINE_GUID(CLSID_IImgCtx, 0x3050F3D6, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_IntDitherer, 0x05F6FE1A, 0xECEF, 0x11D0, 0xAA,0xE7, 0x00,0xC0,0x4F,0xC9,0xB3,0x04); +DEFINE_GUID(CLSID_JSProtocol, 0x3050F3B2, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_MHTMLDocument, 0x3050F3D9, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_MailtoProtocol, 0x3050F3DA, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_ResProtocol, 0x3050F3BC, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); +DEFINE_GUID(CLSID_Scriptlet, 0xAE24FDAE, 0x03C6, 0x11D1, 0x8B,0x76, 0x00,0x80,0xC7,0x44,0xF3,0x89); +DEFINE_GUID(CLSID_SysimageProtocol, 0x76E67A63, 0x06E9, 0x11D2, 0xA8,0x40, 0x00,0x60,0x08,0x05,0x93,0x82); +DEFINE_GUID(CLSID_TridentAPI, 0x429AF92C, 0xA51F, 0x11D2, 0x86,0x1E, 0x00,0xC0,0x4F,0xA3,0x5C,0x89); + +#define INF_SET_CLSID(clsid) \ + pse[i].pszName = "CLSID_" #clsid; \ + clsids[i++] = &CLSID_ ## clsid; + +static HRESULT register_server(BOOL do_register) +{ + HRESULT hres; + HMODULE hAdvpack; + typeof(RegInstall) *pRegInstall; + STRTABLE strtable; + STRENTRY pse[34]; + static CLSID const *clsids[34]; + int i = 0; + + static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0}; + + TRACE("(%x)\n", do_register); + + INF_SET_CLSID(AboutProtocol); + INF_SET_CLSID(CAnchorBrowsePropertyPage); + INF_SET_CLSID(CBackgroundPropertyPage); + INF_SET_CLSID(CCDAnchorPropertyPage); + INF_SET_CLSID(CCDGenericPropertyPage); + INF_SET_CLSID(CDocBrowsePropertyPage); + INF_SET_CLSID(CDwnBindInfo); + INF_SET_CLSID(CHiFiUses); + INF_SET_CLSID(CHtmlComponentConstructor); + INF_SET_CLSID(CImageBrowsePropertyPage); + INF_SET_CLSID(CInlineStylePropertyPage); + INF_SET_CLSID(CPeerHandler); + INF_SET_CLSID(CRecalcEngine); + INF_SET_CLSID(CSvrOMUses); + INF_SET_CLSID(CrSource); + INF_SET_CLSID(ExternalFrameworkSite); + INF_SET_CLSID(HTADocument); + INF_SET_CLSID(HTMLDocument); + INF_SET_CLSID(HTMLLoadOptions); + INF_SET_CLSID(HTMLPluginDocument); + INF_SET_CLSID(HTMLPopup); + INF_SET_CLSID(HTMLPopupDoc); + INF_SET_CLSID(HTMLServerDoc); + INF_SET_CLSID(HTMLWindowProxy); + INF_SET_CLSID(IImageDecodeFilter); + INF_SET_CLSID(IImgCtx); + INF_SET_CLSID(IntDitherer); + INF_SET_CLSID(JSProtocol); + INF_SET_CLSID(MHTMLDocument); + INF_SET_CLSID(MailtoProtocol); + INF_SET_CLSID(ResProtocol); + INF_SET_CLSID(Scriptlet); + INF_SET_CLSID(SysimageProtocol); + INF_SET_CLSID(TridentAPI); + + for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) { + pse[i].pszValue = HeapAlloc(GetProcessHeap(), 0, 39); + sprintf(pse[i].pszValue, "{%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", + clsids[i]->Data1, clsids[i]->Data2, clsids[i]->Data3, clsids[i]->Data4[0], + clsids[i]->Data4[1], clsids[i]->Data4[2], clsids[i]->Data4[3], clsids[i]->Data4[4], + clsids[i]->Data4[5], clsids[i]->Data4[6], clsids[i]->Data4[7]); + } + + strtable.cEntries = sizeof(pse)/sizeof(pse[0]); + strtable.pse = pse; + + hAdvpack = LoadLibraryW(wszAdvpack); + pRegInstall = (typeof(RegInstall)*)GetProcAddress(hAdvpack, "RegInstall"); + + hres = pRegInstall(hInst, do_register ? "RegisterDll" : "UnregisterDll", &strtable); + + for(i=0; i < sizeof(pse)/sizeof(pse[0]); i++) + HeapFree(GetProcessHeap(), 0, pse[i].pszValue); + + return hres; +} + +#undef INF_SET_CLSID + /*********************************************************************** * DllRegisterServer (MSHTML.@) */ HRESULT WINAPI MSHTML_DllRegisterServer(void) { - FIXME("stub: returning S_OK\n"); - return S_OK; + return register_server(TRUE); +} + +/*********************************************************************** + * DllUnregisterServer (MSHTML.@) + */ +HRESULT WINAPI MSHTML_DllUnregisterServer(void) +{ + return register_server(FALSE); } diff --git a/dlls/mshtml/mshtml.inf b/dlls/mshtml/mshtml.inf new file mode 100644 index 00000000000..5b1b8bf6977 --- /dev/null +++ b/dlls/mshtml/mshtml.inf @@ -0,0 +1,440 @@ +;; +;; Copyright (C) 2004 Jacek Caban +;; +;; This library is free software; you can redistribute it and/or +;; modify it under the terms of the GNU Lesser General Public +;; License as published by the Free Software Foundation; either +;; version 2.1 of the License, or (at your option) any later version. +;; +;; This library is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Lesser General Public License for more details. +;; +;; You should have received a copy of the GNU Lesser General Public +;; License along with this library; if not, write to the Free Software +;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +;; + +[version] +Signature="$CHICAGO$" + + +[RegisterDll] +AddReg=Classes.Reg, Protocols.Reg, IE.Reg, FileAssoc.Reg + + +[UnregisterDll] +DelReg=Classes.Reg, Protocols.Reg, IE.Reg + + +[Classes.Reg] + +;; AboutProtocol +HKCR,"CLSID\%CLSID_AboutProtocol%",,,"Microsoft HTML About Pluggable Protocol" +HKCR,"CLSID\%CLSID_AboutProtocol%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_AboutProtocol%\InProcServer32","ThreadingModel",,"Apartment" + +;; CAnchorBrowsePropertyPage +HKCR,"CLSID\%CLSID_CAnchorBrowsePropertyPage%",,,"%Microsoft Anchor Element Browse Property Page%" +HKCR,"CLSID\%CLSID_CAnchorBrowsePropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CAnchorBrowsePropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CBackgroundPropertyPage +HKCR,"CLSID\%CLSID_CBackgroundPropertyPage%",,,"Microsoft HTML Background Page" +HKCR,"CLSID\%CLSID_CBackgroundPropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CBackgroundPropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CCDAnchorPropertyPage +HKCR,"CLSID\%CLSID_CCDAnchorPropertyPage%",,,"Microsoft HTML Anchor Page" +HKCR,"CLSID\%CLSID_CCDAnchorPropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CCDAnchorPropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CCDGenericPropertyPage +HKCR,"CLSID\%CLSID_CCDGenericPropertyPage%",,,"Microsoft HTML Generic Page" +HKCR,"CLSID\%CLSID_CCDGenericPropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CCDGenericPropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CDocBrowsePropertyPage +HKCR,"CLSID\%CLSID_CDocBrowsePropertyPage%",,,"%Microsoft Document Browse Property Page%" +HKCR,"CLSID\%CLSID_CDocBrowsePropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CDocBrowsePropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CDwnBindInfo +HKCR,"CLSID\%CLSID_CDwnBindInfo%",,,"Microsoft HTML DwnBindInfo" +HKCR,"CLSID\%CLSID_CDwnBindInfo%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CDwnBindInfo%\InProcServer32","ThreadingModel",,"Apartment" + +;; ExternalFrameworkSite +HKCR,"CLSID\%CLSID_ExternalFrameworkSite%",,,"Microsoft HTML External Document" +HKCR,"CLSID\%CLSID_ExternalFrameworkSite%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_ExternalFrameworkSite%\InProcServer32","ThreadingModel",,"Apartment" + +;; CHiFiUses +HKCR,"CLSID\%CLSID_CHiFiUses%",,,"Microsoft Scriptlet HiFiTimer Uses" +HKCR,"CLSID\%CLSID_CHiFiUses%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_CHiFiUses%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_CHiFiUses%\ProgID",,,"Scriptlet.HiFiTimer" +HKCR,"Scriptlet.HiFiTimer",,,"HiFiTimer Uses" +HKCR,"Scriptlet.HiFiTimer\CLSID",,,"%CLSID_CHiFiUses%" + +;; CHtmlComponentConstructor +HKCR,"CLSID\%CLSID_CHtmlComponentConstructor%",,,"Microsoft Html Component" +HKCR,"CLSID\%CLSID_CHtmlComponentConstructor%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_CHtmlComponentConstructor%\InProcServer32","ThreadingModel",,"Apartment" + +;; CImageBrowsePropertyPage +HKCR,"CLSID\%CLSID_CImageBrowsePropertyPage%",,,"Microsoft Image Element Browse Property Page" +HKCR,"CLSID\%CLSID_CImageBrowsePropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CImageBrowsePropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CInlineStylePropertyPage +HKCR,"CLSID\%CLSID_CInlineStylePropertyPage%",,,"Microsoft HTML Inline Style Page" +HKCR,"CLSID\%CLSID_CInlineStylePropertyPage%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CInlineStylePropertyPage%\InProcServer32","ThreadingModel",,"Apartment" + +;; CPeerHandler +HKCR,"CLSID\%CLSID_CPeerHandler%",,,"Microsoft Scriptlet Element Behavior Handler" +HKCR,"CLSID\%CLSID_CPeerHandler%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_CPeerHandler%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_CPeerHandler%\ProgID",,,"Scriptlet.Behavior" +HKCR,Scriptlet.Behavior,,,"Element Behavior Handler" +HKCR,Scriptlet.Behavior\CLSID,,,"%CLSID_CPeerHandler%" + +;; CRecalcEngine +HKCR,"CLSID\%CLSID_CRecalcEngine%",,,"Microsoft HTML Recalc" +HKCR,"CLSID\%CLSID_CRecalcEngine%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CRecalcEngine%\InProcServer32","ThreadingModel",,"Apartment" + +;; CrSource +HKCR,"CLSID\%CLSID_CrSource%",,,"Microsoft CrSource 4.0" +HKCR,"CLSID\%CLSID_CrSource%\BrowseInPlace",,,"" +;; HKCR,"CLSID\%CLSID_CrSource%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_CrSource%\EnablePlugin\.css",,0x00020000,"PointPlus plugin" +HKCR,"CLSID\%CLSID_CrSource%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_CrSource%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_CrSource%\MiscStatus",,,"2228625" +HKCR,"CLSID\%CLSID_CrSource%\ProgID",,,"CrSource" +HKCR,"CLSID\%CLSID_CrSource%\Version",,,"4.0" + +;; CSvrOMUses +HKCR,"CLSID\%CLSID_CSvrOMUses%",,,"Microsoft Scriptlet svr om Uses" +HKCR,"CLSID\%CLSID_CSvrOMUses%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_CSvrOMUses%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_CSvrOMUses%\ProgID",,,"Scriptlet.SvrOm" +HKCR,"Scriptlet.SvrOm",,,"Server OM Uses" +HKCR,"Scriptlet.SvrOm\CLSID",,,"%CLSID_CSvrOMUses%" +HKCR,"ScriptBridge.ScriptBridge",,,"Microsoft Scriptlet Component" +HKCR,"ScriptBridge.ScriptBridge\CurVer",,,"ScriptBridge.ScriptBridge.1" +HKCR,"ScriptBridge.ScriptBridge.1",,,"Microsoft Scriptlet Component" +HKCR,"ScriptBridge.ScriptBridge.1\CLSID",,,"%CLSID_Scriptlet%" + +;; HTADocument +HKCR,"CLSID\%CLSID_HTADocument%",,,"Microsoft HTA Document 6.0" +HKCR,"CLSID\%CLSID_HTADocument%\BrowseInPlace",,,"" +HKCR,"CLSID\%CLSID_HTADocument%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTADocument%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_HTADocument%\MiscStatus",,,"2228625" +HKCR,"CLSID\%CLSID_HTADocument%\Version",,,"6.0" + +;; HTMLDocument +HKCR,"CLSID\%CLSID_HTMLDocument%",,,"HTML Document" +HKCR,"CLSID\%CLSID_HTMLDocument%\BrowseInPlace",,,"" +;; HKCR,"CLSID\%CLSID_HTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_HTMLDocument%\MiscStatus",,,"2228625" +HKCR,"CLSID\%CLSID_HTMLDocument%\ProgID",,,"htmlfile" +HKCR,"CLSID\%CLSID_HTMLDocument%\Version",,,"6.0" +HKCR,"CLSID\%CLSID_HTMLDocument%\EnablePlugin\.css",,0x00020000,"PointPlus plugin" + +;; HTMLPluginDocument +HKCR,"CLSID\%CLSID_HTMLPluginDocument%",,,"Microsoft HTML Document 6.0" +HKCR,"CLSID\%CLSID_HTMLPluginDocument%\BrowseInPlace",,,"" +HKCR,"CLSID\%CLSID_HTMLPluginDocument%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTMLPluginDocument%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_HTMLPluginDocument%\MiscStatus",,,"0" +HKCR,"CLSID\%CLSID_HTMLPluginDocument%\ProgID",,,"htmlfile_FullWindowEmbed" + +;; HTMLPopup +HKCR,"CLSID\%CLSID_HTMLPopup%",,,"Microsoft Html Popup Window" +HKCR,"CLSID\%CLSID_HTMLPopup%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_HTMLPopup%\InProcServer32","ThreadingModel",,"Apartment" + +;; HTMLPopupDoc +HKCR,"CLSID\%CLSID_HTMLPopupDoc%",,,"Microsoft Html Document for Popup Window" +HKCR,"CLSID\%CLSID_HTMLPopupDoc%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_HTMLPopupDoc%\InProcServer32","ThreadingModel",,"Apartment" + +;; HTMLServerDoc +HKCR,"CLSID\%CLSID_HTMLServerDoc%",,,"Microsoft HTML Server Document 6.0" +HKCR,"CLSID\%CLSID_HTMLServerDoc%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTMLServerDoc%\InProcServer32","ThreadingModel",,"Apartment" + +;; HTMLWindowProxy +HKCR,"CLSID\%CLSID_HTMLWindowProxy%",,,"Microsoft HTML Window Security Proxy" +HKCR,"CLSID\%CLSID_HTMLWindowProxy%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTMLWindowProxy%\InProcServer32","ThreadingModel",,"Apartment" + +;; IImageDecodeFilter +HKCR,"CLSID\%CLSID_IImageDecodeFilter%",,,"" +HKCR,"CLSID\%CLSID_IImageDecodeFilter%\InProcServer32",,,%_MOD_PATH% +HKCR,"CLSID\%CLSID_IImageDecodeFilter%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"MIME\Database\Content Type\image/x-wmf","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,"MIME\Database\Content Type\image/x-wmf\Bits","0",1,04,00,00,00,FF,FF,FF,FF,D7,CD,C6,9A +HKCR,"GIFFilter.CoGIFFilter\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"GIFFilter.CoGIFFilter.1",,,"CoGIFFilter Class" +HKCR,"GIFFilter.CoGIFFilter.1\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"JPEGFilter.CoJPEGFilter",,,"CoJPEGFilter Class" +HKCR,"JPEGFilter.CoJPEGFilter\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"JPEGFilter.CoJPEGFilter.1",,,"CoJPEGFilter Class" +HKCR,"JPEGFilter.CoJPEGFilter.1\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"BMPFilter.CoBMPFilter",,,"CoBMPFilter Class" +HKCR,"BMPFilter.CoBMPFilter\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"BMPFilter.CoBMPFilter.1",,,"CoBMPFilter Class" +HKCR,"BMPFilter.CoBMPFilter.1\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"WMFFilter.CoWMFFilter",,,"CoWMFFilter Class" +HKCR,"WMFFilter.CoWMFFilter\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"WMFFilter.CoWMFFilter.1",,,"CoWMFFilter Class" +HKCR,"WMFFilter.CoWMFFilter.1\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"ICOFilter.CoICOFilter",,,"CoICOFilter Class" +HKCR,"ICOFilter.CoICOFilter\CLSID",,,"%CLSID_IImageDecodeFilter%" +HKCR,"ICOFilter.CoICOFilter.1",,,"CoICOFilter Class" +HKCR,"ICOFilter.CoICOFilter.1\CLSID",,,"%CLSID_IImageDecodeFilter%" + +;; IImgCtx +HKCR,"CLSID\%CLSID_IImgCtx%",,,"IImgCtx" +HKCR,"CLSID\%CLSID_IImgCtx%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_IImgCtx%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_IImgCtx%\ProgID",,,"IImgCtx" +HKCR,"IImgCtx",,,"IImgCtx" +HKCR,"IImgCtx\CLSID",,,"%CLSID_IImgCtx%h" + +;; HTMLLoadOptions +HKCR,"CLSID\%CLSID_HTMLLoadOptions%",,,"Microsoft HTML Load Options" +HKCR,"CLSID\%CLSID_HTMLLoadOptions%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_HTMLLoadOptions%\InProcServer32","ThreadingModel",,"Apartment" + +;; IntDitherer +HKCR,"CLSID\%CLSID_IntDitherer%",,,"IntDitherer Class" +HKCR,"CLSID\%CLSID_IntDitherer%\InProcServer32",,131072,"mshtml.dll" +HKCR,"CLSID\%CLSID_IntDitherer%\InProcServer32","ThreadingModel",,"Apartment" + +;; JSProtocol +HKCR,"CLSID\%CLSID_JSProtocol%",,,"Microsoft HTML Javascript Pluggable Protocol" +HKCR,"CLSID\%CLSID_JSProtocol%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_JSProtocol%\InProcServer32","ThreadingModel",,"Apartment" + +;; MailtoProtocol +HKCR,"CLSID\%CLSID_MailtoProtocol%",,,"Microsoft HTML Mailto Pluggable Protocol" +HKCR,"CLSID\%CLSID_MailtoProtocol%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_MailtoProtocol%\InProcServer32","ThreadingModel",,"Apartment" + +;; MHTMLDocument +HKCR,"CLSID\%CLSID_MHTMLDocument%",,,"MHTML Document" +HKCR,"CLSID\%CLSID_MHTMLDocument%\BrowseInPlace",,,"" +;; HKCR,"CLSID\%CLSID_MHTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_MHTMLDocument%\MiscStatus",,,"2228625" +HKCR,"CLSID\%CLSID_MHTMLDocument%\ProgID",,,"mhtmlfile" +HKCR,"CLSID\%CLSID_MHTMLDocument%\Version",,,"6.0" + +;; ResProtocol +HKCR,"CLSID\%CLSID_ResProtocol%",,,"Microsoft HTML Resource Pluggable Protocol" +HKCR,"CLSID\%CLSID_ResProtocol%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_ResProtocol%\InProcServer32","ThreadingModel",,"Apartment" + +;; Scriptlet +HKCR,"CLSID\%CLSID_Scriptlet%",,,"Microsoft Scriptlet Component" +HKCR,"CLSID\%CLSID_Scriptlet%\Control" +HKCR,"CLSID\%CLSID_Scriptlet%\InProcServer32",,,"%_MOD_PATH%" +HKCR,"CLSID\%CLSID_Scriptlet%\InProcServer32","ThreadingModel",,"Apartment" +HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus",,,"0" +HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus\1",,,"131473" +HKCR,"CLSID\%CLSID_Scriptlet%\ProgID",,,"ScriptBridge.ScriptBridge.1" +HKCR,"CLSID\%CLSID_Scriptlet%\Programmable" +;; HKCR,"CLSID\%CLSID_Scriptlet%\ToolboxBitmap32",,,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_Scriptlet%\TypeLib",,,"{3050f1c5-98b5-11cf-bb82-00aa00bdce0b}" +HKCR,"CLSID\%CLSID_Scriptlet%\Version",,,"4.0" +HKCR,"CLSID\%CLSID_Scriptlet%\VersionIndependentProgID",,,"ScriptBridge.ScriptBridge" +HKCR,"MIME\Database\Content Type\text/x-scriptlet","CLSID",,"%CLSID_Scriptlet%" + +;; SysimageProtocol +HKCR,"CLSID\%CLSID_SysimageProtocol%",,,"Microsoft HTML Resource Pluggable Protocol" +HKCR,"CLSID\%CLSID_SysimageProtocol%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_SysimageProtocol%\InProcServer32","ThreadingModel",,"Apartment" + +;; TridentAPI +HKCR,"CLSID\%CLSID_TridentAPI%",,,"%Trident API%" +HKCR,"CLSID\%CLSID_TridentAPI%\InProcServer32",,0x00020000,"mshtml.dll" +HKCR,"CLSID\%CLSID_TridentAPI%\InProcServer32","ThreadingModel",,"Apartment" + + +[Protocols.Reg] +HKCR,"PROTOCOLS\Handler\javascript","CLSID",,"%CLSID_JSProtocol%" +HKCR,"PROTOCOLS\Handler\vbscript","CLSID",,"%CLSID_JSProtocol%" +HKCR,"PROTOCOLS\Handler\about","CLSID",,"%CLSID_AboutProtocol%" +HKCR,"PROTOCOLS\Handler\res","CLSID",,"%CLSID_ResProtocol%" +HKCR,"PROTOCOLS\Handler\mailto","CLSID",,"%CLSID_MailtoProtocol%" +HKCR,"PROTOCOLS\Handler\sysimage","CLSID",,"%CLSID_SysImageProtocol%" + + +[IE.Reg] +HKLM,"Software\Microsoft\Internet Explorer\Version Vector", "IE",,"6.0000" +HKLM,"Software\Microsoft\Internet Explorer\AboutURLs","blank",2,"res://mshtml.dll/blank.htm" +HKLM,"Software\Microsoft\Internet Explorer\AboutURLs","PostNotCached",2,"res://mshtml.dll/repost.htm" +HKLM,"Software\Microsoft\Internet Explorer\AboutURLs","mozilla",2,"res://mshtml.dll/about.moz" +HKLM,"Software\Microsoft\Internet Explorer\Default Behaviors","VML",, "CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E" +HKLM,"Software\Microsoft\Internet Explorer\Default Behaviors","TIME",, "CLSID:476C391C-3E0D-11D2-B948-00C04FA32195" + +[FileAssoc.Reg] + +;; BMP +HKCR,"MIME\Database\Content Type\image/bmp","Extension",,".bmp" +HKCR,"MIME\Database\Content Type\image/bmp","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,"MIME\Database\Content Type\image/bmp\Bits","0",1,02,00,00,00,FF,FF,42,4D +HKCR,".bmp","Content Type",,"image/bmp" + +;; CSS +HKCR,"MIME\Database\Content Type\text/css","Extension",,".css" +HKCR,".css","Content Type",,"text/css" + +;; DIB +HKCR,".dib","Content Type",,"image/bmp" + +;; GIF +HKCR,"MIME\Database\Content Type\image/gif","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\image/gif","Extension",,".gif" +HKCR,"MIME\Database\Content Type\image/gif","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,"MIME\Database\Content Type\image/gif\Bits","0",1,04,00,00,00,FF,FF,FF,FF,47,49,46,38 +HKCR,".gif",,,"giffile" +HKCR,".gif","Content Type",,"image/gif" +HKCR,"giffile",,,"GIF Image" +HKCR,"giffile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"giffile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"giffile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"giffile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"giffile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"giffile\DefaultIcon",,,"%IEXPLORE%,9" + +;; HTC +HKCR,"MIME\Database\Content Type\text/x-component","CLSID",,"%CLSID_CHtmlComponentConstructor%" +HKCR,"MIME\Database\Content Type\text/x-component","Extension",,".htc" +HKCR,".htc","Content Type",,"text/x-component" + +;; HTML +HKCR,"MIME\Database\Content Type\text/html","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\text/html","Extension",,".htm" +HKCR,"MIME\Database\Content Type\text/html","Encoding",1,08,00,00,00 +HKCR,"MIME\Database\Content Type\image/x-jg","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"InternetShortcut\shell\print\command",,0x00020000,"rundll32.exe mshtml.dll,PrintHTML ""%%1""" +HKCR,"InternetShortcut\shell\printto\command",,0x00020000,"rundll32.exe mshtml.dll,PrintHTML ""%%1"" ""%%2"" ""%%3"" ""%%4""" +HKCR,"htmlfile\shell\print\command",,0x00020000,"rundll32.exe mshtml.dll,PrintHTML ""%%1""" +HKCR,"htmlfile\shell\printto\command",,0x00020000,"rundll32.exe mshtml.dll,PrintHTML ""%%1"" ""%%2"" ""%%3"" ""%%4""" +hkCR,"htmlfile",,,"HTML Document" +HKCR,"htmlfile\BrowseInPlace",,,"" +HKCR,"htmlfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"htmlfile\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"htmlfile_FullWindowEmbed",,,"HTML Plugin Document" +HKCR,"htmlfile_FullWindowEmbed\BrowseInPlace",,,"" +HKCR,"htmlfile_FullWindowEmbed\CLSID",,,"%CLSID_HTMLPluginDocument%" + +;; ICO +HKCR,"MIME\Database\Content Type\image/x-icon","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\image/x-icon","Extension",,".ico" +HKCR,"MIME\Database\Content Type\image/x-icon","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,".ico","Content Type",,"image/x-icon" + +;; JPE +HKCR,".jpe",,,"jpegfile" +HKCR,".jpe","Content Type",,"image/jpeg" +HKCR,"jpegfile",,,"JPEG Image" +HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" + +;; JPEG +HKCR,"MIME\Database\Content Type\image/jpeg","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\image/jpeg","Extension",,".jpg" +HKCR,"MIME\Database\Content Type\image/jpeg\Bits","0",1,02,00,00,00,FF,FF,FF,D8 +HKCR,"MIME\Database\Content Type\image/jpeg","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,".jpeg",,,"jpegfile" +HKCR,".jpeg","Content Type",,"image/jpeg" +HKCR,"jpegfile",,,"JPEG Image" +HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" + +;; JPG +HKCR,".jpg",,,"jpegfile" +HKCR,".jpg","Content Type",,"image/jpeg" +HKCR,"jpegfile",,,"JPEG Image" +HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" + +;; MHTML +HKCR,"MIME\Database\Content Type\message/rfc822","CLSID",,"%CLSID_MHTMLDocument%" +HKCR,".mhtml",,,"mhtmlfile" +HKCR,".mhtml","Content Type",,"message/rfc822" +HKCR,".mht",,,"mhtmlfile" +HKCR,".mht","Content Type",,"message/rfc822" +HKCR,"mhtmlfile",,,"MHTML Document" +HKCR,"mhtmlfile\BrowseInPlace",,,"" +HKCR,"mhtmlfile\CLSID",,,"%CLSID_MHTMLDocument%" + +;; PJPG +HKCR,"MIME\Database\Content Type\image/pjpeg","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\image/pjpeg","Extension",,".jpg" +HKCR,"MIME\Database\Content Type\image/pjpeg\Bits","0",1,02,00,00,00,FF,FF,FF,D8 +HKCR,"MIME\Database\Content Type\image/pjpeg","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%" +HKCR,".jfif",,,"pjpegfile" +HKCR,".jfif","Content Type",,"image/pjpeg" +HKCR,"pjpegfile",,,"JPEG Image" +HKCR,"pjpegfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"pjpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"pjpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"pjpegfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"pjpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"pjpegfile\DefaultIcon",,,"%IEXPLORE%,8" + +;; PNG +HKCR,"MIME\Database\Content Type\image/png","Extension",,".png" +HKCR,"MIME\Database\Content Type\image/x-png","Extension",,".png" +HKCR,".png",,,"pngfile" +HKCR,".png","Content Type",,"image/png" +HKCR,"pngfile",,,"PNG Image" +HKCR,"pngfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"pngfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"pngfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"pngfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"pngfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"pngfile\DefaultIcon",,,"%IEXPLORE%,9" + +;; TXR +HKCR,"MIME\Database\Content Type\text/plain","CLSID",,"%CLSID_HTMLDocument%" +HKCR,"MIME\Database\Content Type\text/plain","Extension",,".txt" +HKCR,"MIME\Database\Content Type\text/plain","Encoding",1,07,00,00,00 +HKCR,".txt","Content Type",,"text/plain" + +;; XBM +HKCR,"MIME\Database\Content Type\image/xbm","Extension",,".xbm" +HKCR,"MIME\Database\Content Type\image/x-xbitmap","CLSID",,"%CLSID_HTMLDocument%" +HKCR,".xbm","Content Type",,"image/x-xbitmap" +HKCR,"xbmfile",,,"XBM Image" +HKCR,"xbmfile\CLSID",,,"%CLSID_HTMLDocument%" +;; HKCR,"xbmfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"xbmfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," +;; HKCR,"xbmfile\shell\open\ddeexec\Application",,,"IExplore" +HKCR,"xbmfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" +;; HKCR,"xbmfile\DefaultIcon",,,"%IEXPLORE%,9" diff --git a/dlls/mshtml/mshtml.spec b/dlls/mshtml/mshtml.spec index a8d213a394b..ab8a6f5c865 100644 --- a/dlls/mshtml/mshtml.spec +++ b/dlls/mshtml/mshtml.spec @@ -4,7 +4,7 @@ @ stdcall -private DllGetClassObject(ptr ptr ptr) MSHTML_DllGetClassObject @ stdcall DllInstall(long wstr) MSHTML_DllInstall @ stdcall -private DllRegisterServer() MSHTML_DllRegisterServer -@ stub DllUnregisterServer +@ stdcall -private DllUnregisterServer() MSHTML_DllUnregisterServer @ stub MatchExactGetIDsOfNames @ stub PrintHTML @ stub RNIGetCompatibleVersion diff --git a/dlls/mshtml/rsrc.rc b/dlls/mshtml/rsrc.rc new file mode 100644 index 00000000000..ff8a992809d --- /dev/null +++ b/dlls/mshtml/rsrc.rc @@ -0,0 +1,19 @@ +/* + * Copyright 2005 Jacek Caban + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +REGINST REGINST mshtml.inf