22#ifndef __WINE_MSI_PRIVATE__
23#define __WINE_MSI_PRIVATE__
47#define MSI_DATASIZEMASK 0x00ff
48#define MSITYPE_VALID 0x0100
49#define MSITYPE_LOCALIZABLE 0x200
50#define MSITYPE_STRING 0x0800
51#define MSITYPE_NULLABLE 0x1000
52#define MSITYPE_KEY 0x2000
53#define MSITYPE_TEMPORARY 0x4000
54#define MSITYPE_UNKNOWN 0x8000
56#define MAX_STREAM_NAME_LEN 62
57#define LONG_STR_BYTES 3
60#define INSTALLUILEVEL_MASK 0x0007
62#define MSITYPE_IS_BINARY(type) (((type) & ~MSITYPE_NULLABLE) == (MSITYPE_STRING|MSITYPE_VALID))
83#define MSI_INITIAL_MEDIA_TRANSFORM_OFFSET 10000
84#define MSI_INITIAL_MEDIA_TRANSFORM_DISKID 32000
99#define MSI_OPEN_READONLY 0
100#define MSI_OPEN_TRANSACT 1
101#define MSI_OPEN_DIRECT 2
102#define MSI_OPEN_CREATE 3
103#define MSI_OPEN_CREATEDIRECT 4
104#define MSI_OPEN_PATCHFILE 32
482#define MSI_MAX_PROPS 20
718#define SEQUENCE_UI 0x1
719#define SEQUENCE_EXEC 0x2
721#define MSIHANDLETYPE_ANY 0
722#define MSIHANDLETYPE_DATABASE 1
723#define MSIHANDLETYPE_SUMMARYINFO 2
724#define MSIHANDLETYPE_VIEW 3
725#define MSIHANDLETYPE_RECORD 4
726#define MSIHANDLETYPE_PACKAGE 5
727#define MSIHANDLETYPE_PREVIEW 6
729#define MSI_MAJORVERSION 4
730#define MSI_MINORVERSION 5
731#define MSI_BUILDNUMBER 6001
734#define SQUASHED_GUID_SIZE 33
736#define MSIHANDLE_MAGIC 0x4d434923
800 LPCWSTR szTransformFile,
int iErrorCond );
884#define WINE_OPENPACKAGEFLAGS_RECACHE 0x80000000
1101#define MSICABEXTRACT_BEGINEXTRACT 0x01
1102#define MSICABEXTRACT_FILEEXTRACTED 0x02
1202 return ((
size + 4095) & ~4095) / 512;
unsigned long long UINT64
void destroy(_Tp *__pointer)
_In_ ULONG const _In_ FEATURE_NUMBER const Feature
#define WideCharToMultiByte
#define MultiByteToWideChar
BOOL WINAPI Wow64RevertWow64FsRedirection(IN PVOID OldValue)
BOOL WINAPI Wow64DisableWow64FsRedirection(IN PVOID *OldValue)
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
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLenum GLuint components
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLboolean GLboolean GLboolean a
static IDispatch * pInstaller
static const struct access_res create[16]
INTERNETFEATURELIST feature
static PROTOCOLDATA * pdata
enum tagMSIPATCHSTATE MSIPATCHSTATE
enum tagMSIINSTALLCONTEXT MSIINSTALLCONTEXT
INT(CALLBACK * INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR)
INT(CALLBACK * INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR)
INT(CALLBACK * INSTALLUI_HANDLER_RECORD)(LPVOID, UINT, MSIHANDLE)
enum tagINSTALLUILEVEL INSTALLUILEVEL
int msiobj_release(MSIOBJECTHDR *)
BOOL unsquash_guid(LPCWSTR in, LPWSTR out)
int MSI_RecordGetInteger(MSIRECORD *, UINT)
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *file)
MSIPACKAGE * MSI_CreatePackage(MSIDATABASE *)
UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode)
UINT MSIREG_DeleteUpgradeCodesKey(const WCHAR *)
UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package)
UINT msi_check_patch_applicable(MSIPACKAGE *package, MSISUMMARYINFO *si)
struct _column_info column_info
BOOL MSI_RecordsAreEqual(MSIRECORD *, MSIRECORD *)
UINT MSI_ViewExecute(MSIQUERY *, MSIRECORD *)
UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create)
void MSI_CloseRecord(MSIOBJECTHDR *)
UINT MSI_RecordGetIStream(MSIRECORD *, UINT, IStream **)
DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR function, LPCWSTR action)
DWORD msi_get_file_version_info(MSIPACKAGE *, const WCHAR *, DWORD, BYTE *)
UINT msi_strncpyW(const WCHAR *str, int len, WCHAR *buf, DWORD *sz)
BOOL msi_move_file(MSIPACKAGE *, const WCHAR *, const WCHAR *, DWORD)
HRESULT get_typeinfo(tid_t tid, ITypeInfo **ti)
UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package)
UINT msi_install_assembly(MSIPACKAGE *, MSICOMPONENT *)
static const BOOL is_64bit
LONG msi_reg_set_val_dword(HKEY hkey, LPCWSTR name, DWORD val)
UINT MSI_RecordSetStreamFromFileW(MSIRECORD *, UINT, LPCWSTR)
DWORD msi_get_disk_file_size(MSIPACKAGE *, const WCHAR *)
UINT ACTION_InstallFiles(MSIPACKAGE *package)
struct tagFeatureList FeatureList
INSTALLSTATE msi_get_component_action(MSIPACKAGE *package, MSICOMPONENT *comp)
UINT ACTION_RemoveFiles(MSIPACKAGE *package)
WCHAR * msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder)
void dump_record(MSIRECORD *)
static int cost_from_size(int size)
UINT MSI_RecordGetStringA(MSIRECORD *, UINT, LPSTR, LPDWORD)
UINT MSI_SetTargetPathW(MSIPACKAGE *, LPCWSTR, LPCWSTR)
BOOL squash_guid(LPCWSTR in, LPWSTR out)
UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode)
UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid, MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value)
BOOL msi_get_temp_file_name(MSIPACKAGE *, const WCHAR *, const WCHAR *, WCHAR *)
UINT MSI_OpenDatabaseW(LPCWSTR, LPCWSTR, MSIDATABASE **)
UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context)
UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int)
UINT msi_get_string_table_codepage(const string_table *st)
UINT ACTION_FindRelatedProducts(MSIPACKAGE *package)
UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid, HKEY *key, BOOL create)
BOOL msi_add_string(string_table *st, const WCHAR *data, int len, BOOL persistent)
struct tagMSIPREVIEW MSIPREVIEW
void msi_dialog_unregister_class(void)
UINT ACTION_AppSearch(MSIPACKAGE *package)
UINT MSIREG_DeleteUninstallKey(const WCHAR *, enum platform)
UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create)
LONG msi_reg_set_subkey_val(HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val)
UINT ACTION_MsiUnpublishAssemblies(MSIPACKAGE *package)
void msi_ui_progress(MSIPACKAGE *, int, int, int, int)
UINT copy_remote_record(const struct wire_record *rec, MSIHANDLE handle)
UINT msi_clone_properties(MSIDATABASE *)
void msi_reset_source_folders(MSIPACKAGE *package)
WCHAR ** msi_split_string(const WCHAR *, WCHAR)
HANDLE msi_find_first_file(MSIPACKAGE *, const WCHAR *, WIN32_FIND_DATAW *)
BOOL(* PMSICABEXTRACTCB)(MSIPACKAGE *, LPCWSTR, DWORD, LPWSTR *, DWORD *, PVOID)
UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
const WCHAR * msi_record_get_string(const MSIRECORD *, UINT, int *)
BOOL TABLE_Exists(MSIDATABASE *db, LPCWSTR name)
UINT msi_add_cabinet_stream(MSIPACKAGE *, UINT, IStorage *, const WCHAR *)
UINT msi_add_suminfo(MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns)
BOOL encode_base85_guid(GUID *, LPWSTR)
INSTALLUI_HANDLERA gUIHandlerA
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *)
BOOL msi_remove_directory(MSIPACKAGE *, const WCHAR *)
UINT MSIREG_OpenUserDataProductPatchesKey(LPCWSTR product, MSIINSTALLCONTEXT context, HKEY *key, BOOL create)
HANDLE msi_create_file(MSIPACKAGE *, const WCHAR *, DWORD, DWORD, DWORD, DWORD)
void * alloc_msiobject(UINT type, UINT size, msihandledestructor destroy)
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int)
UINT msi_load_all_components(MSIPACKAGE *package)
UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi)
UINT MSIREG_OpenClassesUpgradeCodesKey(LPCWSTR szUpgradeCode, HKEY *key, BOOL create)
int msi_compare_file_versions(VS_FIXEDFILEINFO *, const WCHAR *)
UINT MSI_RecordSetIStream(MSIRECORD *, UINT, IStream *)
WCHAR * encode_streamname(BOOL is_table, const WCHAR *in)
LONG msi_reg_set_val_multi_str(HKEY hkey, LPCWSTR name, LPCWSTR value)
UINT msi_string2id(const string_table *st, const WCHAR *data, int len, UINT *id)
UINT msi_schedule_action(MSIPACKAGE *package, UINT script, const WCHAR *action)
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index)
struct tagMSIFIELD MSIFIELD
UINT msi_apply_patches(MSIPACKAGE *package)
WCHAR * msi_resolve_file_source(MSIPACKAGE *package, MSIFILE *file)
UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create)
UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid)
UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace)
BOOL decode_base85_guid(LPCWSTR, GUID *)
MSIFOLDER * msi_get_loaded_folder(MSIPACKAGE *package, const WCHAR *dir)
DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR **data)
UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create)
UINT msi_set_context(MSIPACKAGE *)
UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
UINT MSI_ViewClose(MSIQUERY *)
UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode)
void msi_parse_version_string(LPCWSTR, PDWORD, PDWORD)
WCHAR * msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *, const WCHAR *)
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def)
UINT msi_download_file(LPCWSTR szUrl, LPWSTR filename)
UINT msi_commit_streams(MSIDATABASE *db)
UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package)
UINT ACTION_ForceReboot(MSIPACKAGE *package)
WCHAR * msi_get_suminfo_product(IStorage *stg)
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *, LPCWSTR, MSIRECORD **)
UINT ACTION_CCPSearch(MSIPACKAGE *package)
UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY **)
INT MSI_ProcessMessageVerbatim(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *)
BOOL msi_delete_file(MSIPACKAGE *, const WCHAR *)
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond)
UINT MSI_RecordReadStream(MSIRECORD *, UINT, char *, LPDWORD)
UINT MSIREG_OpenUserComponentsKey(LPCWSTR szComponent, HKEY *key, BOOL create)
UINT(* record_func)(MSIRECORD *, LPVOID)
struct tagMSIFEATURE MSIFEATURE
void custom_stop_server(HANDLE process, HANDLE pipe)
WCHAR *WINAPIV msi_build_directory_name(DWORD,...)
struct tagMSIFILE MSIFILE
void msi_event_cleanup_all_subscriptions(MSIPACKAGE *)
UINT msi_patch_assembly(MSIPACKAGE *, MSIASSEMBLY *, MSIFILEPATCH *)
WCHAR * msi_get_assembly_path(MSIPACKAGE *, const WCHAR *)
UINT msi_package_add_media_disk(MSIPACKAGE *, DWORD, DWORD, DWORD, LPWSTR, LPWSTR)
UINT MSIREG_OpenUninstallKey(const WCHAR *, enum platform, HKEY *, BOOL)
struct tagMSIEXTENSION MSIEXTENSION
HRESULT msi_init_string_table(IStorage *stg)
VS_FIXEDFILEINFO * msi_get_disk_file_version(MSIPACKAGE *, const WCHAR *)
MSIASSEMBLY * msi_load_assembly(MSIPACKAGE *, MSICOMPONENT *)
UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct)
UINT msi_apply_registered_patch(MSIPACKAGE *package, LPCWSTR patch_code)
BOOL msi_set_file_attributes(MSIPACKAGE *, const WCHAR *, DWORD)
UINT msi_table_apply_transform(MSIDATABASE *db, IStorage *stg, int err_cond)
string_table * msi_load_string_table(IStorage *stg, UINT *bytes_per_strref)
struct tagMSISOURCELISTINFO MSISOURCELISTINFO
MSICONDITION MSI_EvaluateConditionW(MSIPACKAGE *, LPCWSTR)
UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *)
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT)
static LPWSTR strdupAtoW(LPCSTR str)
UINT msi_view_get_row(MSIDATABASE *, MSIVIEW *, UINT, MSIRECORD **)
UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
UINT MSI_GetComponentStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
UINT msi_load_suminfo_properties(MSIPACKAGE *package)
int msi_compare_font_versions(const WCHAR *, const WCHAR *)
static char * strdupWtoU(LPCWSTR str)
BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field)
LONG msi_reg_set_val_str(HKEY hkey, LPCWSTR name, LPCWSTR value)
const WCHAR * msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name)
DWORD msi_get_file_attributes(MSIPACKAGE *, const WCHAR *)
struct tagMSIMEDIAINFO MSIMEDIAINFO
BOOL decode_streamname(LPCWSTR in, LPWSTR out)
MSIHANDLE msi_get_remote(MSIHANDLE handle)
UINT WINAPIV MSI_OpenQuery(MSIDATABASE *, MSIQUERY **, LPCWSTR,...)
BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *)
struct tagMSIVIEWOPS MSIVIEWOPS
UINT msi_strncpyWtoA(const WCHAR *str, int len, char *buf, DWORD *sz, BOOL remote)
INT msi_suminfo_get_int32(MSISUMMARYINFO *si, UINT uiProperty)
void msi_dialog_check_messages(HANDLE)
UINT msi_validate_product_id(MSIPACKAGE *package)
UINT VIEW_find_column(MSIVIEW *, LPCWSTR, LPCWSTR, UINT *)
HRESULT create_session(MSIHANDLE msiHandle, IDispatch *pInstaller, IDispatch **pDispatch)
const struct tagMSICOLUMNHASHENTRY * MSIITERHANDLE
UINT msi_get_db_suminfo(MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si)
HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj)
void ACTION_FinishCustomActions(const MSIPACKAGE *package)
struct tagMSICABINETSTREAM MSICABINETSTREAM
INT ACTION_DialogBox(MSIPACKAGE *, LPCWSTR)
UINT msi_strcpy_to_awstring(const WCHAR *, int, awstring *, DWORD *)
LANGID WINAPI MsiLoadStringW(MSIHANDLE, UINT, LPWSTR, int, LANGID)
@ FOLDER_STATE_UNINITIALIZED
@ FOLDER_STATE_CREATED_PERSISTENT
const WCHAR * msi_string_lookup(const string_table *st, UINT id, int *len)
struct tagMSITRANSFORM MSITRANSFORM
IAssemblyEnum * msi_create_assembly_enum(MSIPACKAGE *, const WCHAR *)
UINT MSI_SetFeatureStates(MSIPACKAGE *package)
UINT msi_uninstall_assembly(MSIPACKAGE *, MSICOMPONENT *)
struct tagMSISTREAM MSISTREAM
UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **)
struct tagMSIBINARY MSIBINARY
struct tagMSIVERB MSIVERB
UINT MSIREG_DeleteUserDataProductKey(LPCWSTR, MSIINSTALLCONTEXT)
UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create)
WCHAR * msi_normalize_path(const WCHAR *)
UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create)
UINT msi_export_suminfo(MSIDATABASE *db, HANDLE handle)
UINT MSI_FormatRecordW(MSIPACKAGE *, MSIRECORD *, LPWSTR, LPDWORD)
void msi_free_patchinfo(MSIPATCHINFO *patch)
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int)
void msi_free_media_info(MSIMEDIAINFO *mi)
BOOL msi_reg_get_val_dword(HKEY hkey, LPCWSTR name, DWORD *val)
MSIRECORD *WINAPIV MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR query,...)
void enum_stream_names(IStorage *stg)
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature)
struct tagMSICLASS MSICLASS
struct tagMSIQUERY MSIQUERY
UINT MSI_GetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table)
struct tagMSIPACKAGE MSIPACKAGE
void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature)
UINT msi_get_property(MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD)
VOID msi_destroy_stringtable(string_table *st)
void release_typelib(void)
UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *)
UINT msi_save_string_table(const string_table *st, IStorage *storage, UINT *bytes_per_strref)
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action)
struct tagFolderList FolderList
WCHAR * msi_get_font_file_version(MSIPACKAGE *, const WCHAR *)
UINT MSI_SetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE)
void free_remote_record(struct wire_record *rec)
WCHAR * msi_get_package_code(MSIDATABASE *db)
struct tagMSIPATCHINFO MSIPATCHINFO
UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create)
static void msi_revert_fs_redirection(MSIPACKAGE *package)
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr)
UINT msi_set_string_table_codepage(string_table *st, UINT codepage)
UINT MSI_Sequence(MSIPACKAGE *package, LPCWSTR szTable)
UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package)
void msi_dialog_destroy(msi_dialog *)
struct tagMSIAPPID MSIAPPID
BOOL MSI_RecordIsNull(MSIRECORD *, UINT)
UINT MSI_RecordStreamToFile(MSIRECORD *, UINT, LPCWSTR)
UINT ACTION_PatchFiles(MSIPACKAGE *package)
UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode)
WCHAR * msi_dup_property(MSIDATABASE *db, const WCHAR *prop)
static void msi_disable_fs_redirection(MSIPACKAGE *package)
UINT MSI_RecordCopyField(MSIRECORD *, UINT, MSIRECORD *, UINT)
WCHAR * msi_suminfo_dup_string(MSISUMMARYINFO *si, UINT property)
UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package)
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *)
BOOL msi_is_global_assembly(MSICOMPONENT *)
BOOL msi_create_full_path(MSIPACKAGE *, const WCHAR *)
void msiobj_addref(MSIOBJECTHDR *)
UINT msi_parse_command_line(MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case)
WCHAR * msi_strdupW(const WCHAR *value, int len)
UINT MSI_GetFeatureCost(MSIPACKAGE *, MSIFEATURE *, MSICOSTTREE, INSTALLSTATE, LPINT)
UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct)
WCHAR * msi_create_temp_file(MSIDATABASE *db)
UINT MSI_ViewFetch(MSIQUERY *, MSIRECORD **)
UINT read_stream_data(IStorage *stg, LPCWSTR stname, BOOL table, BYTE **pdata, UINT *psz)
UINT MSIREG_OpenUserDataPatchKey(LPCWSTR szPatch, MSIINSTALLCONTEXT dwContext, HKEY *key, BOOL create)
UINT WINAPI MsiDecomposeDescriptorA(LPCSTR, LPSTR, LPSTR, LPSTR, LPDWORD)
void msi_free_handle_table(void)
void free_cached_tables(MSIDATABASE *db)
static char * strdupWtoA(LPCWSTR str)
void msi_free_action_script(MSIPACKAGE *package, UINT script)
INSTALLUI_HANDLER_RECORD gUIHandlerRecord
MSICOMPONENT * msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component)
WCHAR * msi_build_icon_path(MSIPACKAGE *, const WCHAR *)
UINT WINAPI MsiCreateAndVerifyInstallerDirectory(DWORD)
UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
LANGID WINAPI MsiLoadStringA(MSIHANDLE, UINT, LPSTR, int, LANGID)
UINT msi_load_all_features(MSIPACKAGE *package)
void append_storage_to_db(MSIDATABASE *db, IStorage *stg)
UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create)
UINT ACTION_CustomAction(MSIPACKAGE *package, const WCHAR *action)
WCHAR * msi_reg_get_val_str(HKEY hkey, const WCHAR *name)
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR)
MSIRECORD * MSI_CreateRecord(UINT)
void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *)
UINT MSIREG_OpenUserDataFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create)
UINT MSIREG_DeleteProductKey(LPCWSTR szProduct)
struct wire_record * marshal_record(MSIHANDLE handle)
UINT msi_get_stream(MSIDATABASE *, const WCHAR *, IStream **)
UINT WINAPI MsiDecomposeDescriptorW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR, LPDWORD)
void msi_destroy_assembly_caches(MSIPACKAGE *)
UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context)
BOOL msi_find_next_file(MSIPACKAGE *, HANDLE, WIN32_FIND_DATAW *)
enum _msi_file_state msi_file_state
struct tagMSIASSEMBLY MSIASSEMBLY
void msiobj_lock(MSIOBJECTHDR *)
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote)
VOID(* msihandledestructor)(MSIOBJECTHDR *)
void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop)
struct tagMSICOMPONENT MSICOMPONENT
UINT MSI_ViewModify(MSIQUERY *, MSIMODIFY, MSIRECORD *)
UINT msi_apply_transforms(MSIPACKAGE *package)
UINT msi_get_suminfo(IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si)
UINT ACTION_MoveFiles(MSIPACKAGE *package)
struct tagMSIFILEPATCH MSIFILEPATCH
WCHAR * msi_get_error_message(MSIDATABASE *, int)
const WCHAR * msi_get_command_line_option(const WCHAR *cmd, const WCHAR *option, UINT *len)
UINT MSI_IterateRecords(MSIQUERY *, LPDWORD, record_func, LPVOID)
INSTALLUI_HANDLERW gUIHandlerW
UINT MSI_SetInstallLevel(MSIPACKAGE *package, int iInstallLevel)
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
UINT MSI_CommitTables(MSIDATABASE *db)
void msi_reduce_to_long_filename(WCHAR *)
BOOL msi_cabextract(MSIPACKAGE *package, MSIMEDIAINFO *mi, LPVOID data)
void msiobj_unlock(MSIOBJECTHDR *)
struct tagMSIRECORD MSIRECORD
UINT MSI_RecordSetStream(MSIRECORD *, UINT, IStream *)
UINT MSI_InstallPackage(MSIPACKAGE *, LPCWSTR, LPCWSTR)
UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix)
UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage)
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out)
struct tagComponentList ComponentList
UINT ACTION_UnregisterFonts(MSIPACKAGE *package)
void msi_adjust_privilege_properties(MSIPACKAGE *)
INT ACTION_ShowDialog(MSIPACKAGE *, LPCWSTR)
INSTALLSTATE msi_get_feature_action(MSIPACKAGE *package, MSIFEATURE *feature)
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec)
UINT msi_get_filehash(MSIPACKAGE *, const WCHAR *, MSIFILEHASHINFO *)
UINT msi_package_add_info(MSIPACKAGE *, DWORD, DWORD, LPCWSTR, LPWSTR)
UINT ACTION_MsiPublishAssemblies(MSIPACKAGE *package)
UINT MSI_RecordGetStringW(MSIRECORD *, UINT, LPWSTR, LPDWORD)
struct tagMSIFOLDER MSIFOLDER
static LPWSTR strdupUtoW(LPCSTR str)
struct tagMSIMEDIADISK MSIMEDIADISK
MSIRECORD * MSI_CloneRecord(MSIRECORD *)
UINT ACTION_RegisterFonts(MSIPACKAGE *package)
UINT write_stream_data(IStorage *stg, LPCWSTR stname, LPCVOID data, UINT sz, BOOL bTable)
UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi)
DWORD msi_version_str_to_dword(LPCWSTR p)
struct tagMSIDATABASE MSIDATABASE
struct tagMSISUMMARYINFO MSISUMMARYINFO
UINT ACTION_RemoveDuplicateFiles(MSIPACKAGE *package)
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
struct _column_info * next
BOOL RunAsInteractiveUser
LPWSTR DefInprocHandler32
unsigned int hasLocalFeature
unsigned int hasAdvertisedFeature
unsigned int hasSourceFeature
INSTALLSTATE ActionRequest
UINT num_streams_allocated
UINT media_transform_disk_id
UINT media_transform_offset
INSTALLSTATE ActionRequest
union tagMSIFIELD::@501 u
msihandledestructor destructor
WCHAR DWORD const WCHAR void IUnknown IAssemblyName void *IAssemblyCache * cache_net[CLR_VERSION_MAX]
HANDLE custom_server_64_process
struct list subscriptions
HANDLE custom_server_32_pipe
unsigned char commit_action_running
struct list RunningActions
WCHAR DWORD const WCHAR DWORD
unsigned char rollback_action_running
IAssemblyCache * cache_sxs
HANDLE custom_server_64_pipe
struct list cabinet_streams
unsigned char rpc_server_started
UINT action_progress_increment
WCHAR DWORD const WCHAR void IUnknown IAssemblyName DWORD
struct list sourcelist_media
MSIINSTALLCONTEXT Context
LPWSTR LastActionTemplate
LPWSTR * script_actions[SCRIPT_MAX]
unsigned char scheduled_action_running
unsigned char need_reboot_now
unsigned char need_reboot_at_end
HANDLE custom_server_32_process
unsigned char need_rollback
int script_actions_count[SCRIPT_MAX]
struct list sourcelist_info
UINT(* insert_row)(struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary)
UINT(* sort)(struct tagMSIVIEW *view, column_info *columns)
UINT(* set_row)(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UINT mask)
UINT(* add_column)(struct tagMSIVIEW *view, LPCWSTR column, INT type, BOOL hold)
UINT(* set_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream *stream)
UINT(* fetch_int)(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
UINT(* set_string)(struct tagMSIVIEW *view, UINT row, UINT col, const WCHAR *val, int len)
UINT(* fetch_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm)
UINT(* modify)(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row)
UINT(* add_ref)(struct tagMSIVIEW *view)
UINT(* release)(struct tagMSIVIEW *view)
UINT(* close)(struct tagMSIVIEW *view)
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
UINT(* set_int)(struct tagMSIVIEW *view, UINT row, UINT col, int val)
UINT(* delete_row)(struct tagMSIVIEW *view, UINT row)
UINT(* drop)(struct tagMSIVIEW *view)
const WCHAR * error_column