542 if (comp ==
ext->Component)
635 TRACE(
"Loading all the class info and related tables\n");
668 if (
appid->RemoteServerName)
671 if (
appid->LocalServer)
674 if (
appid->ServiceParameters)
677 if (
appid->DllSurrogate)
680 if (
appid->ActivateAtStorage)
683 if (
appid->RunAsInteractiveUser)
694 HKEY hkey, hkey2, hkey3;
727 TRACE(
"component is disabled\n");
739 TRACE(
"feature %s not scheduled for installation, skipping registration of class %s\n",
893 TRACE(
"component is disabled\n");
904 TRACE(
"feature %s not scheduled for removal, skipping unregistration of class %s\n",
914 WARN(
"failed to delete class key %ld\n",
res);
923 WARN(
"failed to delete appid key %ld\n",
res);
938 WARN(
"failed to delete file type %ld\n",
res);
956 return progid->Class->clsid;
1114 TRACE(
"failed to delete progid key %ld\n",
res);
1222 if (!
ext->Component)
1225 if (!
ext->Component->Enabled)
1227 TRACE(
"component is disabled\n");
1243 TRACE(
"feature %s not scheduled for installation, skipping registration of extension %s\n",
1259 WARN(
"failed to create extension key %ld\n",
res);
1265 if (
ext->ProgID ||
ext->ProgIDText)
1293 ext, verb, &Sequence);
1326 if (!
ext->Component)
1329 if (!
ext->Component->Enabled)
1331 TRACE(
"component is disabled\n");
1342 TRACE(
"feature %s not scheduled for removal, skipping unregistration of extension %s\n",
1358 WARN(
"failed to delete extension key %ld\n",
res);
1361 if (
ext->ProgID ||
ext->ProgIDText)
1379 WARN(
"failed to delete shell key %ld\n",
res);
1424 lstrlenW(
L"MIME\\Database\\Content Type\\" ) + 1) *
sizeof(
WCHAR) );
1426 if (extension &&
key)
1481 lstrcpyW( mime_key,
L"MIME\\Database\\Content Type\\" );
1485 WARN(
"failed to delete MIME key %ld\n",
res);
LONG msi_reg_set_subkey_val(HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val) DECLSPEC_HIDDEN
INTERNETFEATURELIST feature
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
INSTALLSTATE msi_get_feature_action(MSIPACKAGE *package, MSIFEATURE *feature)
static MSIPROGID * load_progid(MSIPACKAGE *package, MSIRECORD *row)
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature)
static MSICLASS * load_given_class(MSIPACKAGE *package, LPCWSTR classid)
static UINT iterate_all_progids(MSIRECORD *rec, LPVOID param)
static BOOL has_all_extensions_removed(const MSIPACKAGE *package, const MSIPROGID *progid)
static WCHAR * strdupW(const WCHAR *src)
GLdouble GLdouble GLdouble r
static MSIMIME * load_mime(MSIPACKAGE *package, MSIRECORD *row)
WINE_DEFAULT_DEBUG_CHANNEL(msi)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package)
static UINT load_all_classes(MSIPACKAGE *package)
static void msi_free(void *mem)
static const MSICLASS * get_progid_class(const MSIPROGID *progid)
static UINT register_verb(MSIPACKAGE *package, LPCWSTR progid, MSICOMPONENT *component, const MSIEXTENSION *extension, MSIVERB *verb, INT *Sequence)
static MSICLASS * load_class(MSIPACKAGE *package, MSIRECORD *row)
static MSIAPPID * load_appid(MSIPACKAGE *package, MSIRECORD *row)
WCHAR * msi_build_icon_path(MSIPACKAGE *package, const WCHAR *icon_name)
static void * msi_alloc_zero(size_t len) __WINE_ALLOC_SIZE(1)
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
static UINT load_classes_and_such(MSIPACKAGE *package)
WCHAR *WINAPIV msi_build_directory_name(DWORD count,...)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define ERROR_FUNCTION_FAILED
BOOL MSI_RecordIsNull(MSIRECORD *, UINT) DECLSPEC_HIDDEN
static UINT iterate_all_classes(MSIRECORD *rec, LPVOID param)
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
static UINT load_all_progids(MSIPACKAGE *package)
LONG msi_reg_set_val_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
static UINT load_all_verbs(MSIPACKAGE *package)
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT) DECLSPEC_HIDDEN
MSIRECORD *WINAPIV MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR query,...) DECLSPEC_HIDDEN
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *key)
WCHAR * msi_create_component_advertise_string(MSIPACKAGE *package, MSICOMPONENT *component, const WCHAR *feature)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
static BOOL has_class_removed(const MSIPROGID *progid)
static MSIMIME * load_given_mime(MSIPACKAGE *package, LPCWSTR mime)
UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package)
UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
_In_opt_ PVOID _In_ ULONG _In_ PVOID context
int msiobj_release(MSIOBJECTHDR *info)
MSICOMPONENT * msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component)
MSIRECORD * MSI_CreateRecord(UINT) DECLSPEC_HIDDEN
UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package)
static MSIEXTENSION * load_given_extension(MSIPACKAGE *package, LPCWSTR extension)
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package)
static UINT register_progid(const MSIPROGID *progid)
int _cdecl swprintf(const WCHAR *,...)
static MSIAPPID * load_given_appid(MSIPACKAGE *package, LPCWSTR name)
LSTATUS WINAPI RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey)
int MSI_RecordGetInteger(MSIRECORD *, UINT) DECLSPEC_HIDDEN
void msi_reduce_to_long_filename(WCHAR *filename)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
__WINE_SERVER_LIST_INLINE int list_empty(const struct list *list)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLuint GLint GLboolean GLint GLenum access
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN
static MSIEXTENSION * load_extension(MSIPACKAGE *package, MSIRECORD *row)
static UINT load_all_extensions(MSIPACKAGE *package)
static BOOL has_one_extension_installed(const MSIPACKAGE *package, const MSIPROGID *progid)
static UINT iterate_all_extensions(MSIRECORD *rec, LPVOID param)
int command(const char *fmt,...)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
static IOleDocumentView * view
static BOOL has_class_installed(const MSIPROGID *progid)
static UINT register_appid(const MSIAPPID *appid, LPCWSTR app)
LPWSTR DefInprocHandler32
#define HKEY_CLASSES_ROOT
UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
static MSIPROGID * load_given_progid(MSIPACKAGE *package, LPCWSTR progid)
static LPCWSTR get_clsid_of_progid(const MSIPROGID *progid)
LONG msi_reg_set_val_multi_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package)
UINT MSI_IterateRecords(MSIQUERY *, LPDWORD, record_func, LPVOID) DECLSPEC_HIDDEN
UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
#define RegCloseKey(hKey)
static UINT iterate_load_verb(MSIRECORD *row, LPVOID param)
UINT msi_schedule_action(MSIPACKAGE *package, UINT script, const WCHAR *action)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
static UINT iterate_all_mimes(MSIRECORD *rec, LPVOID param)
static BOOL has_extensions(const MSIPACKAGE *package, const MSIPROGID *progid)
static UINT load_all_mimes(MSIPACKAGE *package)
UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY **) DECLSPEC_HIDDEN