ReactOS 0.4.15-dev-8116-gf69e256
msipriv.h
Go to the documentation of this file.
1/*
2 * Implementation of the Microsoft Installer (msi.dll)
3 *
4 * Copyright 2002-2005 Mike McCormack for CodeWeavers
5 * Copyright 2005 Aric Stewart for CodeWeavers
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 */
21
22#ifndef __WINE_MSI_PRIVATE__
23#define __WINE_MSI_PRIVATE__
24
25#include <stdarg.h>
26
27#include "windef.h"
28#include "winbase.h"
29#include "fdi.h"
30#include "msi.h"
31#include "msiquery.h"
32#include "msidefs.h"
33#include "objbase.h"
34#include "objidl.h"
35#include "fusion.h"
36#include "winnls.h"
37#include "winver.h"
38#include "wine/list.h"
39#include "wine/debug.h"
40
41#include "msiserver.h"
42#include "winemsi_s.h"
43
44static const BOOL is_64bit = sizeof(void *) > sizeof(int);
46
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
55
56#define MAX_STREAM_NAME_LEN 62
57#define LONG_STR_BYTES 3
58
59/* Install UI level mask for AND operation to exclude flags */
60#define INSTALLUILEVEL_MASK 0x0007
61
62#define MSITYPE_IS_BINARY(type) (((type) & ~MSITYPE_NULLABLE) == (MSITYPE_STRING|MSITYPE_VALID))
63
64struct tagMSITABLE;
65typedef struct tagMSITABLE MSITABLE;
66
67struct string_table;
69
70struct tagMSIOBJECTHDR;
72
74
76{
81};
82
83#define MSI_INITIAL_MEDIA_TRANSFORM_OFFSET 10000
84#define MSI_INITIAL_MEDIA_TRANSFORM_DISKID 32000
85
86typedef struct tagMSISTREAM
87{
91
92typedef struct tagMSITRANSFORM
93{
94 struct list entry;
97
98/* integer versions of the MSIDBOPEN_* constants */
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
105
106typedef struct tagMSIDATABASE
107{
118 struct list tables;
124
125typedef struct tagMSIVIEW MSIVIEW;
126
127typedef struct tagMSIQUERY
128{
133 struct list mem;
135
136/* maybe we can use a Variant instead of doing it ourselves? */
137typedef struct tagMSIFIELD
138{
140 union
141 {
145 } u;
146 int len;
148
149typedef struct tagMSIRECORD
150{
152 UINT count; /* as passed to MsiCreateRecord */
154 MSIFIELD fields[1]; /* nb. array size is count+1 */
156
158{
159 struct list entry;
165
166typedef struct tagMSIMEDIADISK
167{
168 struct list entry;
175
176typedef struct tagMSIMEDIAINFO
177{
189
191{
192 struct list entry;
197
198typedef struct tagMSIPATCHINFO
199{
200 struct list entry;
212
213typedef struct tagMSIBINARY
214{
215 struct list entry;
219
220typedef struct _column_info
221{
225 struct expr *val;
228
230
231typedef struct tagMSIVIEWOPS
232{
233 /*
234 * fetch_int - reads one integer from {row,col} in the table
235 *
236 * This function should be called after the execute method.
237 * Data returned by the function should not change until
238 * close or delete is called.
239 * To get a string value, query the database's string table with
240 * the integer value returned from this function.
241 */
243
244 /*
245 * fetch_stream - gets a stream from {row,col} in the table
246 *
247 * This function is similar to fetch_int, except fetches a
248 * stream instead of an integer.
249 */
250 UINT (*fetch_stream)( struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm );
251
252 /*
253 * set_int - set the integer value at {row, col}
254 * This function has undefined behaviour if the column does not contain
255 * integers.
256 */
257 UINT (*set_int)( struct tagMSIVIEW *view, UINT row, UINT col, int val );
258
259 /*
260 * set_string - set the string value at {row, col}
261 * This function has undefined behaviour if the column does not contain
262 * strings.
263 */
264 UINT (*set_string)( struct tagMSIVIEW *view, UINT row, UINT col, const WCHAR *val, int len );
265
266 /*
267 * set_stream - set the stream value at {row, col}
268 * This function has undefined behaviour if the column does not contain
269 * streams.
270 */
272
273 /*
274 * set_row - sets values in a row as specified by mask
275 *
276 * Similar semantics to fetch_int
277 */
279
280 /*
281 * Inserts a new row into the database from the records contents
282 */
284
285 /*
286 * Deletes a row from the database
287 */
289
290 /*
291 * execute - loads the underlying data into memory so it can be read
292 */
294
295 /*
296 * close - clears the data read by execute from memory
297 */
298 UINT (*close)( struct tagMSIVIEW *view );
299
300 /*
301 * get_dimensions - returns the number of rows or columns in a table.
302 *
303 * The number of rows can only be queried after the execute method
304 * is called. The number of columns can be queried at any time.
305 */
306 UINT (*get_dimensions)( struct tagMSIVIEW *view, UINT *rows, UINT *cols );
307
308 /*
309 * get_column_info - returns the name and type of a specific column
310 *
311 * The column information can be queried at any time.
312 */
314 BOOL *temporary, LPCWSTR *table_name );
315
316 /*
317 * modify - not yet implemented properly
318 */
319 UINT (*modify)( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row );
320
321 /*
322 * delete - destroys the structure completely
323 */
324 UINT (*delete)( struct tagMSIVIEW * );
325
326 /*
327 * add_ref - increases the reference count of the table
328 */
330
331 /*
332 * release - decreases the reference count of the table
333 */
335
336 /*
337 * add_column - adds a column to the table
338 */
340
341 /*
342 * sort - orders the table by columns
343 */
344 UINT (*sort)( struct tagMSIVIEW *view, column_info *columns );
345
346 /*
347 * drop - drops the table from the database
348 */
349 UINT (*drop)( struct tagMSIVIEW *view );
351
353{
358};
359
360struct msi_dialog_tag;
362
364{
372
374{
381
383{
388 SCRIPT_MAX = 3
390
391typedef struct tagMSIPACKAGE
392{
399 void *cookie;
400 struct list patches;
403 struct list files;
406 struct list folders;
420 HRESULT (WINAPI *pGetFileVersion)( const WCHAR *, WCHAR *, DWORD, DWORD * );
421 HRESULT (WINAPI *pCreateAssemblyNameObject)( IAssemblyName **, const WCHAR *, DWORD, void * );
422 HRESULT (WINAPI *pCreateAssemblyEnum)( IAssemblyEnum **, IUnknown *, IAssemblyName *, DWORD, void * );
425
426 struct list classes;
428 struct list progids;
429 struct list mimes;
430 struct list appids;
431
439
441
446
451
455 float center_x;
456 float center_y;
457
460
462
465
466 unsigned char scheduled_action_running : 1;
467 unsigned char commit_action_running : 1;
468 unsigned char rollback_action_running : 1;
469 unsigned char need_reboot_at_end : 1;
470 unsigned char need_reboot_now : 1;
471 unsigned char need_rollback : 1;
472 unsigned char rpc_server_started : 1;
474
475typedef struct tagMSIPREVIEW
476{
481
482#define MSI_MAX_PROPS 20
483
484typedef struct tagMSISUMMARYINFO
485{
489 PROPVARIANT property[MSI_MAX_PROPS];
491
492typedef struct tagMSIFEATURE
493{
494 struct list entry;
509
510typedef struct tagMSIASSEMBLY
511{
521
522typedef struct tagMSICOMPONENT
523{
524 struct list entry;
542
543 unsigned int anyAbsent:1;
544 unsigned int hasAdvertisedFeature:1;
545 unsigned int hasLocalFeature:1;
546 unsigned int hasSourceFeature:1;
547 unsigned int added:1;
548 unsigned int updated:1;
550
551typedef struct tagComponentList
552{
553 struct list entry;
556
557typedef struct tagFeatureList
558{
559 struct list entry;
562
564{
571
572typedef struct tagMSIFOLDER
573{
574 struct list entry;
586
587typedef struct tagFolderList
588{
589 struct list entry;
592
593typedef enum _msi_file_state {
602
603typedef struct tagMSIFILE
604{
605 struct list entry;
622
623typedef struct tagMSIFILEPATCH
624{
625 struct list entry;
634
635typedef struct tagMSIAPPID
636{
637 struct list entry;
638 LPWSTR AppID; /* Primary key */
646
647typedef struct tagMSIPROGID MSIPROGID;
648
649typedef struct tagMSICLASS
650{
651 struct list entry;
652 LPWSTR clsid; /* Primary Key */
653 LPWSTR Context; /* Primary Key */
666 /* not in the table, set during installation */
669
670typedef struct tagMSIMIME MSIMIME;
671
672typedef struct tagMSIEXTENSION
673{
674 struct list entry;
675 LPWSTR Extension; /* Primary Key */
681 /* not in the table, set during installation */
683 struct list verbs;
685
687{
688 struct list entry;
689 LPWSTR ProgID; /* Primary Key */
694 /* not in the table, set during installation */
697};
698
699typedef struct tagMSIVERB
700{
701 struct list entry;
707
709{
710 struct list entry;
711 LPWSTR ContentType; /* Primary Key */
716};
717
718#define SEQUENCE_UI 0x1
719#define SEQUENCE_EXEC 0x2
720
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
728
729#define MSI_MAJORVERSION 4
730#define MSI_MINORVERSION 5
731#define MSI_BUILDNUMBER 6001
732
733#define GUID_SIZE 39
734#define SQUASHED_GUID_SIZE 33
735
736#define MSIHANDLE_MAGIC 0x4d434923
737
738/* handle unicode/ansi output in the Msi* API functions */
739typedef struct {
741 union {
745} awstring;
746
747typedef struct {
749 union {
753} awcstring;
754
756
757/* msi server interface */
760
761/* handle functions */
770extern void msi_free_handle_table(void) DECLSPEC_HIDDEN;
771
775
776
777/* string table functions */
778extern BOOL msi_add_string( string_table *st, const WCHAR *data, int len, BOOL persistent ) DECLSPEC_HIDDEN;
779extern UINT msi_string2id( const string_table *st, const WCHAR *data, int len, UINT *id ) DECLSPEC_HIDDEN;
781extern const WCHAR *msi_string_lookup( const string_table *st, UINT id, int *len ) DECLSPEC_HIDDEN;
783extern string_table *msi_load_string_table( IStorage *stg, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
784extern UINT msi_save_string_table( const string_table *st, IStorage *storage, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
787extern WCHAR *msi_strdupW( const WCHAR *value, int len ) DECLSPEC_HIDDEN;
788
791
792extern UINT read_stream_data( IStorage *stg, LPCWSTR stname, BOOL table,
793 BYTE **pdata, UINT *psz ) DECLSPEC_HIDDEN;
794extern UINT write_stream_data( IStorage *stg, LPCWSTR stname,
795 LPCVOID data, UINT sz, BOOL bTable ) DECLSPEC_HIDDEN;
796
797/* transform functions */
798extern UINT msi_table_apply_transform( MSIDATABASE *db, IStorage *stg, int err_cond ) DECLSPEC_HIDDEN;
800 LPCWSTR szTransformFile, int iErrorCond ) DECLSPEC_HIDDEN;
803
804/* patch functions */
809
810/* action internals */
815extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN;
817extern UINT msi_parse_command_line( MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case ) DECLSPEC_HIDDEN;
825
826/* record internals */
830extern const WCHAR *MSI_RecordGetString( const MSIRECORD *, UINT ) DECLSPEC_HIDDEN;
848extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
852extern void free_remote_record(struct wire_record *rec) DECLSPEC_HIDDEN;
854
855/* stream internals */
856extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
859
860/* database internals */
869
870/* view internals */
878
879/* install internals */
880extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSPEC_HIDDEN;
881
882/* package internals */
883#define WINE_OPENPACKAGEFLAGS_RECACHE 0x80000000
885extern UINT MSI_OpenPackageW( LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
900
901/* for deformating */
903
904/* registry data encoding/decoding functions */
911extern UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid,
919extern UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid,
928extern UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
947
951extern int msi_compare_font_versions(const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN;
952
957
958/* msi dialog interface */
962
963/* summary information */
964extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
965extern UINT msi_get_db_suminfo( MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
969extern UINT msi_add_suminfo( MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns ) DECLSPEC_HIDDEN;
972
973/* undocumented functions */
979
980/* UI globals */
992
993/* action related functions */
995extern void ACTION_FinishCustomActions( const MSIPACKAGE* package) DECLSPEC_HIDDEN;
998
999/* actions in other modules */
1021
1022/* Helpers */
1026extern UINT msi_set_property( MSIDATABASE *, const WCHAR *, const WCHAR *, int ) DECLSPEC_HIDDEN;
1028extern int msi_get_property_int( MSIDATABASE *package, LPCWSTR prop, int def ) DECLSPEC_HIDDEN;
1030extern void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN;
1033extern const WCHAR *msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN;
1048extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
1063extern UINT msi_strncpyWtoA(const WCHAR *str, int len, char *buf, DWORD *sz, BOOL remote) DECLSPEC_HIDDEN;
1066
1067/* wrappers for filesystem functions */
1069{
1070 if (is_wow64 && package->platform == PLATFORM_X64) Wow64DisableWow64FsRedirection( &package->cookie );
1071}
1072static inline void msi_revert_fs_redirection( MSIPACKAGE *package )
1073{
1074 if (is_wow64 && package->platform == PLATFORM_X64) Wow64RevertWow64FsRedirection( package->cookie );
1075}
1083extern BOOL msi_move_file( MSIPACKAGE *, const WCHAR *, const WCHAR *, DWORD ) DECLSPEC_HIDDEN;
1090
1091/* media */
1092
1094
1095#define MSICABEXTRACT_BEGINEXTRACT 0x01
1096#define MSICABEXTRACT_FILEEXTRACTED 0x02
1097
1098typedef struct
1099{
1105} MSICABDATA;
1106
1107extern UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
1112
1113/* control event stuff */
1114extern void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN;
1116
1117/* OLE automation */
1118typedef enum tid_t {
1126 LAST_tid
1128
1132extern void release_typelib(void) DECLSPEC_HIDDEN;
1133
1134/* Scripting */
1136
1137/* User interface messages from the actions */
1138extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
1139
1140/* memory allocation macro functions */
1141static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
1142static inline void *msi_alloc( size_t len )
1143{
1144 return malloc( len );
1145}
1146
1147static void *msi_alloc_zero( size_t len ) __WINE_ALLOC_SIZE(1);
1148static inline void *msi_alloc_zero( size_t len )
1149{
1150 return calloc( 1, len );
1151}
1152
1153static void *msi_realloc( void *mem, size_t len ) __WINE_ALLOC_SIZE(2);
1154static inline void *msi_realloc( void *mem, size_t len )
1155{
1156 return realloc( mem, len );
1157}
1158
1159static inline void msi_free( void *mem )
1160{
1161 free( mem );
1162}
1163
1164static inline char *strdupWtoA( LPCWSTR str )
1165{
1166 LPSTR ret = NULL;
1167 DWORD len;
1168
1169 if (!str) return ret;
1170 len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
1171 ret = msi_alloc( len );
1172 if (ret)
1173 WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
1174 return ret;
1175}
1176
1177static inline LPWSTR strdupAtoW( LPCSTR str )
1178{
1179 LPWSTR ret = NULL;
1180 DWORD len;
1181
1182 if (!str) return ret;
1183 len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
1184 ret = msi_alloc( len * sizeof(WCHAR) );
1185 if (ret)
1186 MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
1187 return ret;
1188}
1189
1190static inline LPWSTR strdupW( LPCWSTR src )
1191{
1192 LPWSTR dest;
1193 if (!src) return NULL;
1194 dest = msi_alloc( (lstrlenW(src)+1)*sizeof(WCHAR) );
1195 if (dest)
1196 lstrcpyW(dest, src);
1197 return dest;
1198}
1199
1200#endif /* __WINE_MSI_PRIVATE__ */
unsigned long long UINT64
void destroy(_Tp *__pointer)
Definition: _construct.h:278
#define VOID
Definition: acefi.h:82
unsigned int dir
Definition: maze.c:112
_In_ ULONG const _In_ FEATURE_NUMBER const Feature
Definition: cdrom.h:1077
Definition: list.h:37
#define realloc
Definition: debug_ros.c:6
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
#define NULL
Definition: types.h:112
#define CP_ACP
Definition: compat.h:109
#define MAX_PATH
Definition: compat.h:34
#define lstrcpyW
Definition: compat.h:749
#define WideCharToMultiByte
Definition: compat.h:111
#define MultiByteToWideChar
Definition: compat.h:110
#define lstrlenW
Definition: compat.h:750
BOOL WINAPI Wow64RevertWow64FsRedirection(IN PVOID OldValue)
Definition: utils.c:808
BOOL WINAPI Wow64DisableWow64FsRedirection(IN PVOID *OldValue)
Definition: utils.c:785
const WCHAR * action
Definition: action.c:7479
HINSTANCE msi_hInstance
Definition: msi_main.c:51
BOOL is_wow64
Definition: msi.c:54
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
Definition: typeof.h:78
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
GLdouble n
Definition: glext.h:7729
GLenum src
Definition: glext.h:6340
GLenum GLenum GLuint components
Definition: glext.h:9620
GLuint index
Definition: glext.h:6031
GLenum GLint GLuint mask
Definition: glext.h:6028
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLuint in
Definition: glext.h:9616
GLuint GLfloat * val
Definition: glext.h:7180
GLfloat GLfloat p
Definition: glext.h:8902
GLenum GLsizei len
Definition: glext.h:6722
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
tid_t
Definition: ieframe.h:311
const char * filename
Definition: ioapi.h:137
USHORT LANGID
Definition: mui.h:9
static PVOID ptr
Definition: dispmode.c:27
static TfClientId tid
static IDispatch * pInstaller
Definition: automation.c:55
static const struct access_res create[16]
Definition: package.c:7644
static char * dest
Definition: rtl.c:135
INTERNETFEATURELIST feature
Definition: misc.c:1719
static PROTOCOLDATA * pdata
Definition: protocol.c:158
enum tagMSIINSTALLCONTEXT MSIINSTALLCONTEXT
Definition: action.c:49
enum tagMSIPATCHSTATE MSIPATCHSTATE
INT(CALLBACK * INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR)
Definition: msi.h:421
INT(CALLBACK * INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR)
Definition: msi.h:420
INT(CALLBACK * INSTALLUI_HANDLER_RECORD)(LPVOID, UINT, MSIHANDLE)
Definition: msi.h:422
enum tagINSTALLUILEVEL INSTALLUILEVEL
WCHAR * gszLogFile
Definition: msi_main.c:50
INSTALLUI_HANDLERA gUIHandlerA
Definition: msi_main.c:43
DWORD gUIFilter
Definition: msi_main.c:46
LPVOID gUIContextRecord
Definition: msi_main.c:49
DWORD gUIFilterRecord
Definition: msi_main.c:47
INSTALLUILEVEL gUILevel
Definition: msi_main.c:41
LPVOID gUIContext
Definition: msi_main.c:48
HWND gUIhwnd
Definition: msi_main.c:42
INSTALLUI_HANDLER_RECORD gUIHandlerRecord
Definition: msi_main.c:45
INSTALLUI_HANDLERW gUIHandlerW
Definition: msi_main.c:44
INSTALLSTATE msi_get_component_action(MSIPACKAGE *package, MSICOMPONENT *comp) DECLSPEC_HIDDEN
Definition: action.c:611
UINT msi_package_add_info(MSIPACKAGE *, DWORD, DWORD, LPCWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2625
UINT ACTION_DuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1336
void msi_reduce_to_long_filename(WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:1074
struct _column_info column_info
UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context) DECLSPEC_HIDDEN
Definition: registry.c:636
void msi_free_action_script(MSIPACKAGE *package, UINT script) DECLSPEC_HIDDEN
Definition: package.c:138
int msiobj_release(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:241
UINT msi_apply_transforms(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:950
UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:689
UINT msi_strcpy_to_awstring(const WCHAR *, int, awstring *, DWORD *) DECLSPEC_HIDDEN
Definition: install.c:158
UINT MSI_GetFeatureCost(MSIPACKAGE *, MSIFEATURE *, MSICOSTTREE, INSTALLSTATE, LPINT) DECLSPEC_HIDDEN
Definition: install.c:1155
WCHAR * msi_strdupW(const WCHAR *value, int len) DECLSPEC_HIDDEN
Definition: record.c:155
UINT MSI_ViewClose(MSIQUERY *) DECLSPEC_HIDDEN
Definition: msiquery.c:454
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *file) DECLSPEC_HIDDEN
Definition: action.c:574
INT msi_suminfo_get_int32(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:708
static const BOOL is_64bit
Definition: msipriv.h:44
static void * msi_realloc(void *mem, size_t len) __WINE_ALLOC_SIZE(2)
Definition: msipriv.h:1154
UINT MSI_RecordSetStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:671
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN
Definition: record.c:1002
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: package.c:2100
UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1450
UINT msi_get_stream(MSIDATABASE *, const WCHAR *, IStream **) DECLSPEC_HIDDEN
Definition: streams.c:499
UINT MSI_CommitTables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:2887
WCHAR * msi_get_font_file_version(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: font.c:186
MSIRECORD *WINAPIV MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR query,...) DECLSPEC_HIDDEN
Definition: msiquery.c:201
static void * msi_alloc_zero(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1148
struct tagFeatureList FeatureList
UINT MSIREG_OpenUninstallKey(const WCHAR *, enum platform, HKEY *, BOOL) DECLSPEC_HIDDEN
UINT MSI_SetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE) DECLSPEC_HIDDEN
Definition: install.c:915
UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:390
LPWSTR msi_suminfo_dup_string(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:696
MSICOMPONENT * msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component) DECLSPEC_HIDDEN
Definition: action.c:552
DWORD msi_version_str_to_dword(LPCWSTR p) DECLSPEC_HIDDEN
Definition: registry.c:188
UINT MSI_SetFeatureStates(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:1640
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action) DECLSPEC_HIDDEN
Definition: action.c:7610
VS_FIXEDFILEINFO * msi_get_disk_file_version(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:161
UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:798
WCHAR * msi_build_icon_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:3711
void msi_destroy_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:92
UINT MSI_ViewFetch(MSIQUERY *, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:377
UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:378
UINT MSI_RecordGetIStream(MSIRECORD *, UINT, IStream **) DECLSPEC_HIDDEN
Definition: record.c:852
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr) DECLSPEC_HIDDEN
Definition: custom.c:85
UINT MSI_RecordReadStream(MSIRECORD *, UINT, char *, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:761
static LPWSTR strdupW(LPCWSTR src)
Definition: msipriv.h:1190
struct tagMSIPREVIEW MSIPREVIEW
INSTALLSTATE msi_get_feature_action(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: action.c:627
UINT MSI_SetTargetPathW(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: install.c:564
UINT MSI_RecordSetStreamFromFileW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:683
void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN
Definition: action.c:2178
UINT ACTION_RemoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1549
UINT msi_string2id(const string_table *st, const WCHAR *data, int len, UINT *id) DECLSPEC_HIDDEN
Definition: string.c:400
UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:890
UINT MSI_IterateRecords(MSIQUERY *, LPDWORD, record_func, LPVOID) DECLSPEC_HIDDEN
Definition: msiquery.c:163
LPWSTR encode_streamname(BOOL bTable, LPCWSTR in) DECLSPEC_HIDDEN
Definition: table.c:119
UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:5183
BOOL(* PMSICABEXTRACTCB)(MSIPACKAGE *, LPCWSTR, DWORD, LPWSTR *, DWORD *, PVOID)
Definition: msipriv.h:1093
BOOL msi_set_file_attributes(MSIPACKAGE *, const WCHAR *, DWORD) DECLSPEC_HIDDEN
Definition: files.c:97
UINT MSI_RecordSetIStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:836
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out) DECLSPEC_HIDDEN
Definition: record.c:1095
UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace) DECLSPEC_HIDDEN
Definition: action.c:354
UINT MSI_RecordGetStringW(MSIRECORD *, UINT, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
WCHAR *WINAPIV msi_build_directory_name(DWORD,...) DECLSPEC_HIDDEN
Definition: action.c:2008
static void msi_free(void *mem)
Definition: msipriv.h:1159
void custom_stop_server(HANDLE process, HANDLE pipe) DECLSPEC_HIDDEN
Definition: custom.c:681
UINT MSI_GetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1065
UINT MSIREG_DeleteUserDataProductKey(LPCWSTR, MSIINSTALLCONTEXT) DECLSPEC_HIDDEN
Definition: registry.c:720
UINT MSIREG_OpenUserDataProductPatchesKey(LPCWSTR product, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:666
BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN
Definition: record.c:957
WCHAR * msi_resolve_file_source(MSIPACKAGE *package, MSIFILE *file) DECLSPEC_HIDDEN
Definition: files.c:528
tid_t
Definition: msipriv.h:1118
@ View_tid
Definition: msipriv.h:1125
@ Session_tid
Definition: msipriv.h:1122
@ Database_tid
Definition: msipriv.h:1119
@ LAST_tid
Definition: msipriv.h:1126
@ SummaryInfo_tid
Definition: msipriv.h:1124
@ StringList_tid
Definition: msipriv.h:1123
@ Record_tid
Definition: msipriv.h:1121
@ Installer_tid
Definition: msipriv.h:1120
BOOL msi_create_full_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:202
UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:526
void free_remote_record(struct wire_record *rec) DECLSPEC_HIDDEN
Definition: record.c:1149
UINT MSIREG_OpenUserDataFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:472
int msi_compare_font_versions(const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:1943
BOOL is_wow64 DECLSPEC_HIDDEN
Definition: msipriv.h:981
UINT MSIREG_DeleteProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:751
BOOL msi_init_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:56
UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:445
const WCHAR * msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN
Definition: record.c:420
struct tagMSIFIELD MSIFIELD
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table) DECLSPEC_HIDDEN
Definition: table.c:2922
UINT ACTION_FindRelatedProducts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: upgrade.c:217
UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:338
UINT ACTION_AppSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1071
WCHAR * msi_get_package_code(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: package.c:1278
script
Definition: msipriv.h:383
@ SCRIPT_INSTALL
Definition: msipriv.h:385
@ SCRIPT_ROLLBACK
Definition: msipriv.h:387
@ SCRIPT_NONE
Definition: msipriv.h:384
@ SCRIPT_COMMIT
Definition: msipriv.h:386
@ SCRIPT_MAX
Definition: msipriv.h:388
UINT msi_get_string_table_codepage(const string_table *st) DECLSPEC_HIDDEN
Definition: string.c:671
BOOL msi_cabextract(MSIPACKAGE *package, MSIMEDIAINFO *mi, LPVOID data) DECLSPEC_HIDDEN
Definition: media.c:652
BOOL msi_add_string(string_table *st, const WCHAR *data, int len, BOOL persistent) DECLSPEC_HIDDEN
Definition: string.c:303
UINT msi_add_suminfo(MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns) DECLSPEC_HIDDEN
Definition: suminfo.c:1073
HANDLE msi_create_file(MSIPACKAGE *, const WCHAR *, DWORD, DWORD, DWORD, DWORD) DECLSPEC_HIDDEN
Definition: files.c:51
UINT msi_check_patch_applicable(MSIPACKAGE *package, MSISUMMARYINFO *si) DECLSPEC_HIDDEN
Definition: patch.c:294
UINT MSI_FormatRecordW(MSIPACKAGE *, MSIRECORD *, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: format.c:838
UINT msi_validate_product_id(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:7148
void msi_free_patchinfo(MSIPATCHINFO *patch) DECLSPEC_HIDDEN
Definition: patch.c:865
const WCHAR * msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN
Definition: install.c:232
INT ACTION_ShowDialog(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
BOOL squash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:74
UINT MSI_RecordGetStringA(MSIRECORD *, UINT, LPSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:351
UINT msi_export_suminfo(MSIDATABASE *db, HANDLE handle) DECLSPEC_HIDDEN
Definition: suminfo.c:1190
UINT msi_table_apply_transform(MSIDATABASE *db, IStorage *stg, int err_cond) DECLSPEC_HIDDEN
Definition: table.c:3371
int MSI_RecordGetInteger(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:213
UINT msi_load_suminfo_properties(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: suminfo.c:1262
UINT MSI_InstallPackage(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: action.c:7710
WCHAR ** msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN
Definition: action.c:305
WCHAR * msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:5465
UINT msi_get_property(MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: package.c:2250
void free_cached_tables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:470
UINT(* record_func)(MSIRECORD *, LPVOID)
Definition: msipriv.h:865
struct tagMSIFEATURE MSIFEATURE
UINT VIEW_find_column(MSIVIEW *, LPCWSTR, LPCWSTR, UINT *) DECLSPEC_HIDDEN
Definition: msiquery.c:59
WCHAR * msi_create_temp_file(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: custom.c:215
HRESULT get_typeinfo(tid_t tid, ITypeInfo **ti) DECLSPEC_HIDDEN
Definition: ieframe_main.c:61
BOOL decode_base85_guid(LPCWSTR, GUID *) DECLSPEC_HIDDEN
Definition: registry.c:132
UINT ACTION_InstallFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:556
UINT msi_strncpyWtoA(const WCHAR *str, int len, char *buf, DWORD *sz, BOOL remote) DECLSPEC_HIDDEN
Definition: install.c:190
struct tagMSIFILE MSIFILE
void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: install.c:833
const WCHAR * msi_string_lookup(const string_table *st, UINT id, int *len) DECLSPEC_HIDDEN
Definition: string.c:343
#define MSI_MAX_PROPS
Definition: msipriv.h:482
UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:404
struct tagMSIEXTENSION MSIEXTENSION
UINT ACTION_CCPSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1118
UINT msi_download_file(LPCWSTR szUrl, LPWSTR filename) DECLSPEC_HIDDEN
Definition: package.c:1027
UINT MSI_OpenDatabaseW(LPCWSTR, LPCWSTR, MSIDATABASE **) DECLSPEC_HIDDEN
Definition: database.c:140
void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN
Definition: action.c:596
UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:113
struct tagMSISOURCELISTINFO MSISOURCELISTINFO
BOOL msi_move_file(MSIPACKAGE *, const WCHAR *, const WCHAR *, DWORD) DECLSPEC_HIDDEN
Definition: files.c:133
UINT MSI_GetComponentStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1428
HRESULT msi_init_string_table(IStorage *stg) DECLSPEC_HIDDEN
Definition: string.c:460
UINT copy_remote_record(const struct wire_record *rec, MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: record.c:1052
const WCHAR * msi_get_command_line_option(const WCHAR *cmd, const WCHAR *option, UINT *len) DECLSPEC_HIDDEN
Definition: action.c:274
static LPWSTR strdupAtoW(LPCSTR str)
Definition: msipriv.h:1177
UINT read_stream_data(IStorage *stg, LPCWSTR stname, BOOL table, BYTE **pdata, UINT *psz) DECLSPEC_HIDDEN
Definition: table.c:232
BOOL unsquash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:41
MSIHANDLE msi_get_remote(MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: handle.c:183
UINT ACTION_RegisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:276
UINT MSI_RecordStreamToFile(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:900
void * alloc_msiobject(UINT type, UINT size, msihandledestructor destroy) DECLSPEC_HIDDEN
Definition: handle.c:201
UINT MSIREG_DeleteUninstallKey(const WCHAR *, enum platform) DECLSPEC_HIDDEN
struct tagMSIMEDIAINFO MSIMEDIAINFO
UINT msi_add_cabinet_stream(MSIPACKAGE *, UINT, IStorage *, const WCHAR *) DECLSPEC_HIDDEN
Definition: media.c:935
void msi_reset_source_folders(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: package.c:2089
UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:783
BOOL msi_remove_directory(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:88
UINT msi_uninstall_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:456
UINT ACTION_MsiPublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:595
UINT MSI_ViewModify(MSIQUERY *, MSIMODIFY, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:698
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond) DECLSPEC_HIDDEN
UINT MSIREG_OpenUserComponentsKey(LPCWSTR szComponent, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:505
BOOL TABLE_Exists(MSIDATABASE *db, LPCWSTR name) DECLSPEC_HIDDEN
Definition: table.c:960
DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR **data) DECLSPEC_HIDDEN
struct tagMSIVIEWOPS MSIVIEWOPS
MSIFOLDER * msi_get_loaded_folder(MSIPACKAGE *package, const WCHAR *dir) DECLSPEC_HIDDEN
Definition: action.c:585
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int) DECLSPEC_HIDDEN
Definition: record.c:280
BOOL msi_find_next_file(MSIPACKAGE *, HANDLE, WIN32_FIND_DATAW *) DECLSPEC_HIDDEN
Definition: files.c:124
LPWSTR msi_reg_get_val_str(HKEY hkey, LPCWSTR name) DECLSPEC_HIDDEN
Definition: registry.c:243
BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:131
const struct tagMSICOLUMNHASHENTRY * MSIITERHANDLE
Definition: msipriv.h:229
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:433
void msi_dialog_check_messages(HANDLE) DECLSPEC_HIDDEN
Definition: dialog.c:4072
struct tagMSICABINETSTREAM MSICABINETSTREAM
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec) DECLSPEC_HIDDEN
Definition: record.c:108
LANGID WINAPI MsiLoadStringW(MSIHANDLE, UINT, LPWSTR, int, LANGID)
BOOL msi_delete_file(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:70
folder_state
Definition: msipriv.h:564
@ FOLDER_STATE_UNINITIALIZED
Definition: msipriv.h:565
@ FOLDER_STATE_EXISTS
Definition: msipriv.h:566
@ FOLDER_STATE_REMOVED
Definition: msipriv.h:569
@ FOLDER_STATE_CREATED
Definition: msipriv.h:567
@ FOLDER_STATE_CREATED_PERSISTENT
Definition: msipriv.h:568
struct wire_record * marshal_record(MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: record.c:1109
void msi_free_handle_table(void) DECLSPEC_HIDDEN
Definition: handle.c:71
DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR function, LPCWSTR action) DECLSPEC_HIDDEN
Definition: script.c:288
struct tagMSITRANSFORM MSITRANSFORM
UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1088
struct tagMSISTREAM MSISTREAM
MSICONDITION MSI_EvaluateConditionW(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
UINT MSI_Sequence(MSIPACKAGE *package, LPCWSTR szTable) DECLSPEC_HIDDEN
Definition: action.c:452
UINT msi_commit_streams(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: streams.c:607
UINT MSIREG_DeleteUpgradeCodesKey(const WCHAR *) DECLSPEC_HIDDEN
Definition: registry.c:812
struct tagMSIBINARY MSIBINARY
struct tagMSIVERB MSIVERB
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1914
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1142
UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:841
VOID msi_destroy_stringtable(string_table *st) DECLSPEC_HIDDEN
Definition: string.c:107
UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:858
struct tagMSICLASS MSICLASS
struct tagMSIQUERY MSIQUERY
void msi_adjust_privilege_properties(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: package.c:965
struct tagMSIPACKAGE MSIPACKAGE
UINT msi_set_context(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: action.c:396
UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:582
WCHAR * msi_normalize_path(const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:2118
void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: dialog.c:4503
UINT ACTION_RegisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:690
HANDLE msi_find_first_file(MSIPACKAGE *, const WCHAR *, WIN32_FIND_DATAW *) DECLSPEC_HIDDEN
Definition: files.c:115
void * msihandle2msiinfo(MSIHANDLE handle, UINT type) DECLSPEC_HIDDEN
Definition: handle.c:158
UINT ACTION_MoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1206
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *, LPCWSTR, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:1044
MSIRECORD * MSI_CreateRecord(UINT) DECLSPEC_HIDDEN
Definition: record.c:76
UINT msi_strncpyW(const WCHAR *str, int len, WCHAR *buf, DWORD *sz) DECLSPEC_HIDDEN
Definition: install.c:213
struct tagFolderList FolderList
MSIPACKAGE * MSI_CreatePackage(MSIDATABASE *) DECLSPEC_HIDDEN
Definition: package.c:978
UINT msi_schedule_action(MSIPACKAGE *package, UINT script, const WCHAR *action) DECLSPEC_HIDDEN
Definition: custom.c:90
UINT ACTION_RemoveDuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1411
struct tagMSIPATCHINFO MSIPATCHINFO
MSIRECORD * MSI_CloneRecord(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:921
UINT ACTION_CustomAction(MSIPACKAGE *package, const WCHAR *action) DECLSPEC_HIDDEN
Definition: custom.c:1460
static void msi_revert_fs_redirection(MSIPACKAGE *package)
Definition: msipriv.h:1072
void release_typelib(void) DECLSPEC_HIDDEN
Definition: apps.c:159
UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:829
UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:768
UINT msi_load_all_components(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:809
struct tagMSIAPPID MSIAPPID
UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid, MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN
Definition: source.c:686
MSIASSEMBLY * msi_load_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:319
UINT msi_apply_registered_patch(MSIPACKAGE *package, LPCWSTR patch_code) DECLSPEC_HIDDEN
Definition: patch.c:990
LONG msi_reg_set_val_multi_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:217
void msiobj_addref(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:217
WCHAR * msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder) DECLSPEC_HIDDEN
Definition: install.c:364
static void msi_disable_fs_redirection(MSIPACKAGE *package)
Definition: msipriv.h:1068
void msi_parse_version_string(LPCWSTR, PDWORD, PDWORD) DECLSPEC_HIDDEN
Definition: appsearch.c:52
void msiobj_lock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:231
UINT msi_view_get_row(MSIDATABASE *, MSIVIEW *, UINT, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:353
UINT ACTION_MsiUnpublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:668
UINT msi_apply_patches(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:932
DWORD msi_get_disk_file_size(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:190
BOOL MSI_RecordsAreEqual(MSIRECORD *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:986
UINT WINAPI MsiDecomposeDescriptorA(LPCSTR, LPSTR, LPSTR, LPSTR, LPDWORD)
Definition: registry.c:984
int msi_compare_file_versions(VS_FIXEDFILEINFO *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:1930
HRESULT create_session(MSIHANDLE msiHandle, IDispatch *pInstaller, IDispatch **pDispatch) DECLSPEC_HIDDEN
Definition: automation.c:2440
void msiobj_unlock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:236
static char * strdupWtoA(LPCWSTR str)
Definition: msipriv.h:1164
void msi_dialog_destroy(msi_dialog *) DECLSPEC_HIDDEN
Definition: dialog.c:4140
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
Definition: package.c:2305
UINT WINAPI MsiCreateAndVerifyInstallerDirectory(DWORD)
Definition: msi.c:3816
UINT msi_get_suminfo(IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si) DECLSPEC_HIDDEN
Definition: suminfo.c:457
LANGID WINAPI MsiLoadStringA(MSIHANDLE, UINT, LPSTR, int, LANGID)
Definition: msi.c:2400
UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: package.c:1311
UINT msi_save_string_table(const string_table *st, IStorage *storage, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:564
void dump_record(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:1028
UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:857
UINT MSIREG_OpenUserDataPatchKey(LPCWSTR szPatch, MSIINSTALLCONTEXT dwContext, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:610
void msi_event_cleanup_all_subscriptions(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: dialog.c:4193
UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1307
LPWSTR msi_dup_property(MSIDATABASE *db, LPCWSTR prop) DECLSPEC_HIDDEN
Definition: package.c:2283
UINT MSI_RecordCopyField(MSIRECORD *, UINT, MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:166
UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:850
BOOL MSI_RecordIsNull(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:321
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature) DECLSPEC_HIDDEN
Definition: action.c:563
void msi_dialog_unregister_class(void) DECLSPEC_HIDDEN
Definition: dialog.c:4184
UINT WINAPI MsiDecomposeDescriptorW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR, LPDWORD)
Definition: registry.c:927
void ACTION_FinishCustomActions(const MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: custom.c:1604
enum _msi_file_state msi_file_state
LONG msi_reg_set_subkey_val(HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val) DECLSPEC_HIDDEN
Definition: registry.c:230
UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid) DECLSPEC_HIDDEN
Definition: registry.c:552
struct tagMSIASSEMBLY MSIASSEMBLY
UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1196
LONG msi_reg_set_val_dword(HKEY hkey, LPCWSTR name, DWORD val) DECLSPEC_HIDDEN
Definition: registry.c:225
void MSI_CloseRecord(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: record.c:67
platform
Definition: msipriv.h:364
@ PLATFORM_X64
Definition: msipriv.h:368
@ PLATFORM_UNRECOGNIZED
Definition: msipriv.h:365
@ PLATFORM_INTEL64
Definition: msipriv.h:367
@ PLATFORM_INTEL
Definition: msipriv.h:366
@ PLATFORM_ARM
Definition: msipriv.h:369
@ PLATFORM_ARM64
Definition: msipriv.h:370
VOID(* msihandledestructor)(MSIOBJECTHDR *)
Definition: msipriv.h:73
INT MSI_ProcessMessageVerbatim(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1848
struct tagMSICOMPONENT MSICOMPONENT
UINT MSI_SetInstallLevel(MSIPACKAGE *package, int iInstallLevel) DECLSPEC_HIDDEN
Definition: install.c:1572
UINT msi_set_string_table_codepage(string_table *st, UINT codepage) DECLSPEC_HIDDEN
Definition: string.c:676
UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1026
HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
LONG msi_reg_set_val_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:209
WCHAR * msi_get_assembly_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:240
UINT msi_load_all_features(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:951
struct tagMSIFILEPATCH MSIFILEPATCH
LPWSTR msi_get_suminfo_product(IStorage *stg) DECLSPEC_HIDDEN
Definition: suminfo.c:720
clr_version
Definition: msipriv.h:374
@ CLR_VERSION_V20
Definition: msipriv.h:377
@ CLR_VERSION_MAX
Definition: msipriv.h:379
@ CLR_VERSION_V40
Definition: msipriv.h:378
@ CLR_VERSION_V11
Definition: msipriv.h:376
@ CLR_VERSION_V10
Definition: msipriv.h:375
UINT msi_install_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:411
UINT ACTION_UnregisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:357
string_table * msi_load_string_table(IStorage *stg, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:478
UINT msi_package_add_media_disk(MSIPACKAGE *, DWORD, DWORD, DWORD, LPWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2648
UINT WINAPIV MSI_OpenQuery(MSIDATABASE *, MSIQUERY **, LPCWSTR,...) DECLSPEC_HIDDEN
Definition: msiquery.c:138
UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY **) DECLSPEC_HIDDEN
BOOL decode_streamname(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: table.c:178
INT ACTION_DialogBox(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN
Definition: package.c:1063
struct tagMSIRECORD MSIRECORD
UINT msi_clone_properties(MSIDATABASE *) DECLSPEC_HIDDEN
Definition: package.c:382
UINT write_stream_data(IStorage *stg, LPCWSTR stname, LPCVOID data, UINT sz, BOOL bTable) DECLSPEC_HIDDEN
Definition: table.c:296
UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context) DECLSPEC_HIDDEN
Definition: msi.c:56
void enum_stream_names(IStorage *stg) DECLSPEC_HIDDEN
Definition: table.c:204
BOOL msi_reg_get_val_dword(HKEY hkey, LPCWSTR name, DWORD *val) DECLSPEC_HIDDEN
Definition: registry.c:262
UINT msi_parse_command_line(MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case) DECLSPEC_HIDDEN
Definition: action.c:214
UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:692
struct tagComponentList ComponentList
void msi_free_media_info(MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:661
UINT msi_get_filehash(MSIPACKAGE *, const WCHAR *, MSIFILEHASHINFO *) DECLSPEC_HIDDEN
Definition: msi.c:4024
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:597
_msi_file_state
Definition: msipriv.h:593
@ msifs_missing
Definition: msipriv.h:595
@ msifs_skipped
Definition: msipriv.h:599
@ msifs_installed
Definition: msipriv.h:598
@ msifs_invalid
Definition: msipriv.h:594
@ msifs_present
Definition: msipriv.h:597
@ msifs_hashmatch
Definition: msipriv.h:600
@ msifs_overwrite
Definition: msipriv.h:596
BOOL msi_is_global_assembly(MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: action.c:2037
UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1392
void append_storage_to_db(MSIDATABASE *db, IStorage *stg) DECLSPEC_HIDDEN
Definition: database.c:76
UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:603
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote) DECLSPEC_HIDDEN
Definition: handle.c:135
DWORD msi_get_file_version_info(MSIPACKAGE *, const WCHAR *, DWORD, BYTE *) DECLSPEC_HIDDEN
Definition: files.c:151
struct tagMSIFOLDER MSIFOLDER
struct tagMSIMEDIADISK MSIMEDIADISK
UINT MSI_ViewExecute(MSIQUERY *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:502
UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: record.c:573
IAssemblyEnum * msi_create_assembly_enum(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:265
DWORD msi_get_file_attributes(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:106
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:111
UINT msi_get_db_suminfo(MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si) DECLSPEC_HIDDEN
Definition: suminfo.c:487
UINT MSIREG_OpenClassesUpgradeCodesKey(LPCWSTR szUpgradeCode, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:875
struct tagMSIDATABASE MSIDATABASE
struct tagMSISUMMARYINFO MSISUMMARYINFO
BOOL encode_base85_guid(GUID *, LPWSTR) DECLSPEC_HIDDEN
Definition: registry.c:165
UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage) DECLSPEC_HIDDEN
Definition: package.c:1385
UINT ACTION_PatchFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:784
WCHAR * msi_get_error_message(MSIDATABASE *, int) DECLSPEC_HIDDEN
Definition: package.c:1823
unsigned int UINT
Definition: ndis.h:50
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
DWORD * PDWORD
Definition: pedump.c:68
long LONG
Definition: pedump.c:60
static FILE * out
Definition: regtests2xml.c:44
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
Definition: replace.c:47
#define calloc
Definition: rosglue.h:14
const WCHAR * str
#define WINAPIV
Definition: sdbpapi.h:64
#define inline
Definition: compat.h:23
DWORD dwOptions
Definition: solitaire.cpp:25
PVOID user
Definition: msipriv.h:1104
LPWSTR curfile
Definition: msipriv.h:1103
MSIPACKAGE * package
Definition: msipriv.h:1100
PMSICABEXTRACTCB cb
Definition: msipriv.h:1102
MSIMEDIAINFO * mi
Definition: msipriv.h:1101
struct _column_info * next
Definition: msipriv.h:226
LPCWSTR column
Definition: msipriv.h:223
struct expr * val
Definition: msipriv.h:225
LPCWSTR table
Definition: msipriv.h:222
BOOL unicode
Definition: msipriv.h:748
LPCWSTR w
Definition: msipriv.h:751
LPCSTR a
Definition: msipriv.h:750
LPWSTR w
Definition: msipriv.h:743
LPSTR a
Definition: msipriv.h:742
BOOL unicode
Definition: msipriv.h:740
Definition: ftp_var.h:139
Definition: http.c:7252
Definition: query.h:87
Definition: parser.c:44
Definition: fci.c:127
Definition: fci.c:116
Definition: copy.c:22
Definition: mem.c:156
Definition: name.c:39
Definition: getopt.h:109
Definition: parse.h:23
struct list entry
Definition: msipriv.h:553
MSICOMPONENT * component
Definition: msipriv.h:554
MSIFEATURE * feature
Definition: msipriv.h:560
struct list entry
Definition: msipriv.h:559
MSIFOLDER * folder
Definition: msipriv.h:590
struct list entry
Definition: msipriv.h:589
LPWSTR DllSurrogate
Definition: msipriv.h:642
LPWSTR LocalServer
Definition: msipriv.h:640
struct list entry
Definition: msipriv.h:637
BOOL RunAsInteractiveUser
Definition: msipriv.h:644
LPWSTR RemoteServerName
Definition: msipriv.h:639
LPWSTR AppID
Definition: msipriv.h:638
LPWSTR ServiceParameters
Definition: msipriv.h:641
BOOL ActivateAtStorage
Definition: msipriv.h:643
DWORD attributes
Definition: msipriv.h:515
LPWSTR tempdir
Definition: msipriv.h:517
LPWSTR feature
Definition: msipriv.h:512
LPWSTR display_name
Definition: msipriv.h:516
LPWSTR manifest
Definition: msipriv.h:513
BOOL installed
Definition: msipriv.h:518
LPWSTR application
Definition: msipriv.h:514
WCHAR * source
Definition: msipriv.h:216
WCHAR * tmpfile
Definition: msipriv.h:217
struct list entry
Definition: msipriv.h:215
struct list entry
Definition: msipriv.h:192
IStorage * storage
Definition: msipriv.h:194
INT Attributes
Definition: msipriv.h:665
LPWSTR clsid
Definition: msipriv.h:652
LPWSTR IconPath
Definition: msipriv.h:660
LPWSTR Argument
Definition: msipriv.h:663
LPWSTR ProgIDText
Definition: msipriv.h:656
INSTALLSTATE action
Definition: msipriv.h:667
LPWSTR DefInprocHandler
Definition: msipriv.h:661
MSIAPPID * AppID
Definition: msipriv.h:658
LPWSTR FileTypeMask
Definition: msipriv.h:659
struct list entry
Definition: msipriv.h:651
LPWSTR Description
Definition: msipriv.h:657
LPWSTR DefInprocHandler32
Definition: msipriv.h:662
LPWSTR Context
Definition: msipriv.h:653
MSICOMPONENT * Component
Definition: msipriv.h:654
MSIFEATURE * Feature
Definition: msipriv.h:664
MSIPROGID * ProgID
Definition: msipriv.h:655
unsigned int hasLocalFeature
Definition: msipriv.h:545
unsigned int hasAdvertisedFeature
Definition: msipriv.h:544
unsigned int anyAbsent
Definition: msipriv.h:543
LPWSTR Component
Definition: msipriv.h:525
unsigned int updated
Definition: msipriv.h:548
unsigned int hasSourceFeature
Definition: msipriv.h:546
BOOL ForceLocalState
Definition: msipriv.h:534
INSTALLSTATE Action
Definition: msipriv.h:533
INSTALLSTATE ActionRequest
Definition: msipriv.h:532
unsigned int added
Definition: msipriv.h:547
LPWSTR AdvertiseString
Definition: msipriv.h:539
LPWSTR ComponentId
Definition: msipriv.h:526
MSIASSEMBLY * assembly
Definition: msipriv.h:540
struct list entry
Definition: msipriv.h:524
LPWSTR KeyPath
Definition: msipriv.h:530
LPWSTR Condition
Definition: msipriv.h:529
INSTALLSTATE Installed
Definition: msipriv.h:531
LPWSTR Directory
Definition: msipriv.h:527
LPWSTR FullKeypath
Definition: msipriv.h:538
UINT num_streams_allocated
Definition: msipriv.h:122
UINT media_transform_disk_id
Definition: msipriv.h:117
UINT bytes_per_strref
Definition: msipriv.h:111
MSISTREAM * streams
Definition: msipriv.h:120
UINT num_streams
Definition: msipriv.h:121
struct list transforms
Definition: msipriv.h:119
MSIOBJECTHDR hdr
Definition: msipriv.h:108
struct list tables
Definition: msipriv.h:118
LPWSTR deletefile
Definition: msipriv.h:113
IStorage * storage
Definition: msipriv.h:109
LPWSTR tempfolder
Definition: msipriv.h:114
string_table * strings
Definition: msipriv.h:110
LPWSTR path
Definition: msipriv.h:112
UINT media_transform_offset
Definition: msipriv.h:116
struct list verbs
Definition: msipriv.h:683
INSTALLSTATE action
Definition: msipriv.h:682
MSICOMPONENT * Component
Definition: msipriv.h:676
MSIPROGID * ProgID
Definition: msipriv.h:677
LPWSTR Extension
Definition: msipriv.h:675
MSIMIME * Mime
Definition: msipriv.h:679
MSIFEATURE * Feature
Definition: msipriv.h:680
LPWSTR ProgIDText
Definition: msipriv.h:678
struct list entry
Definition: msipriv.h:674
INT Attributes
Definition: msipriv.h:502
INSTALLSTATE Action
Definition: msipriv.h:505
LPWSTR Feature_Parent
Definition: msipriv.h:496
LPWSTR Feature
Definition: msipriv.h:495
LPWSTR Description
Definition: msipriv.h:498
INSTALLSTATE Installed
Definition: msipriv.h:503
LPWSTR Directory
Definition: msipriv.h:501
LPWSTR Title
Definition: msipriv.h:497
struct list Children
Definition: msipriv.h:506
INSTALLSTATE ActionRequest
Definition: msipriv.h:504
struct list Components
Definition: msipriv.h:507
struct list entry
Definition: msipriv.h:494
INT iVal
Definition: msipriv.h:142
IStream * stream
Definition: msipriv.h:144
UINT type
Definition: msipriv.h:139
union tagMSIFIELD::@505 u
LPWSTR szwVal
Definition: msipriv.h:143
MSIFILE * File
Definition: msipriv.h:626
BOOL extracted
Definition: msipriv.h:630
WCHAR * path
Definition: msipriv.h:632
struct list entry
Definition: msipriv.h:625
LPWSTR File
Definition: msipriv.h:606
BOOL IsCompressed
Definition: msipriv.h:618
MSICOMPONENT * Component
Definition: msipriv.h:607
MSIFILEHASHINFO hash
Definition: msipriv.h:619
msi_file_state state
Definition: msipriv.h:616
INT Sequence
Definition: msipriv.h:615
LPWSTR Language
Definition: msipriv.h:613
LPWSTR TargetPath
Definition: msipriv.h:617
LPWSTR FileName
Definition: msipriv.h:608
LPWSTR Version
Definition: msipriv.h:612
INT FileSize
Definition: msipriv.h:611
LPWSTR ShortName
Definition: msipriv.h:609
struct list entry
Definition: msipriv.h:605
INT Attributes
Definition: msipriv.h:614
LPWSTR LongName
Definition: msipriv.h:610
UINT disk_id
Definition: msipriv.h:620
LPWSTR SourceShortPath
Definition: msipriv.h:580
LPWSTR ResolvedTarget
Definition: msipriv.h:581
LPWSTR Directory
Definition: msipriv.h:576
LPWSTR Parent
Definition: msipriv.h:577
LPWSTR SourceLongPath
Definition: msipriv.h:579
LPWSTR TargetDefault
Definition: msipriv.h:578
struct list children
Definition: msipriv.h:575
enum folder_state State
Definition: msipriv.h:583
LPWSTR ResolvedSource
Definition: msipriv.h:582
BOOL persistent
Definition: msipriv.h:584
struct list entry
Definition: msipriv.h:574
DWORD context
Definition: msipriv.h:169
DWORD options
Definition: msipriv.h:170
LPWSTR volume_label
Definition: msipriv.h:172
struct list entry
Definition: msipriv.h:168
LPWSTR disk_prompt
Definition: msipriv.h:173
DWORD disk_id
Definition: msipriv.h:171
LPWSTR volume_label
Definition: msipriv.h:183
UINT last_sequence
Definition: msipriv.h:180
LPWSTR cabinet
Definition: msipriv.h:182
WCHAR sourcedir[MAX_PATH]
Definition: msipriv.h:187
BOOL is_extracted
Definition: msipriv.h:186
LPWSTR last_volume
Definition: msipriv.h:184
BOOL is_continuous
Definition: msipriv.h:185
LPWSTR disk_prompt
Definition: msipriv.h:181
MSIEXTENSION * Extension
Definition: msipriv.h:712
LPWSTR ContentType
Definition: msipriv.h:711
LPWSTR clsid
Definition: msipriv.h:714
struct list entry
Definition: msipriv.h:710
MSICLASS * Class
Definition: msipriv.h:715
LPWSTR suffix
Definition: msipriv.h:713
LONG refcount
Definition: msipriv.h:79
msihandledestructor destructor
Definition: msipriv.h:80
WCHAR DWORD const WCHAR void IUnknown IAssemblyName void *IAssemblyCache * cache_net[CLR_VERSION_MAX]
Definition: msipriv.h:423
HMODULE hfusion20
Definition: msipriv.h:417
BOOL ExecuteSequenceRun
Definition: msipriv.h:437
HANDLE custom_server_64_process
Definition: msipriv.h:443
HMODULE hfusion11
Definition: msipriv.h:416
UINT InWhatSequence
Definition: msipriv.h:438
int unique_actions_count
Definition: msipriv.h:436
HMODULE hfusion10
Definition: msipriv.h:415
float center_y
Definition: msipriv.h:456
struct list subscriptions
Definition: msipriv.h:461
BOOL delete_on_close
Definition: msipriv.h:450
HMODULE hmscoree
Definition: msipriv.h:419
UINT WordCount
Definition: msipriv.h:458
HANDLE custom_server_32_pipe
Definition: msipriv.h:444
HMODULE hfusion40
Definition: msipriv.h:418
unsigned char commit_action_running
Definition: msipriv.h:467
struct list classes
Definition: msipriv.h:426
LPWSTR LastAction
Definition: msipriv.h:410
struct list RunningActions
Definition: msipriv.h:440
struct list appids
Definition: msipriv.h:430
struct list features
Definition: msipriv.h:402
MSIOBJECTHDR hdr
Definition: msipriv.h:393
struct list files
Definition: msipriv.h:403
WCHAR DWORD const WCHAR DWORD
Definition: msipriv.h:421
MSIDATABASE * db
Definition: msipriv.h:394
unsigned char rollback_action_running
Definition: msipriv.h:468
enum platform platform
Definition: msipriv.h:396
LPWSTR next_dialog
Definition: msipriv.h:454
IAssemblyCache * cache_sxs
Definition: msipriv.h:424
HANDLE custom_server_64_pipe
Definition: msipriv.h:445
struct list cabinet_streams
Definition: msipriv.h:408
WCHAR DWORD
Definition: msipriv.h:420
struct list extensions
Definition: msipriv.h:427
struct list folders
Definition: msipriv.h:406
UINT num_langids
Definition: msipriv.h:397
LPWSTR * unique_actions
Definition: msipriv.h:435
unsigned char rpc_server_started
Definition: msipriv.h:472
LPWSTR ProductCode
Definition: msipriv.h:448
LPWSTR PackagePath
Definition: msipriv.h:447
struct list mimes
Definition: msipriv.h:429
INSTALLUILEVEL ui_level
Definition: msipriv.h:452
UINT action_progress_increment
Definition: msipriv.h:413
UINT Context
Definition: msipriv.h:459
WCHAR DWORD const WCHAR void IUnknown IAssemblyName DWORD
Definition: msipriv.h:422
struct list sourcelist_media
Definition: msipriv.h:464
LANGID * langids
Definition: msipriv.h:398
HANDLE log_file
Definition: msipriv.h:414
enum script script
Definition: msipriv.h:432
LPWSTR LastActionTemplate
Definition: msipriv.h:411
struct list filepatches
Definition: msipriv.h:404
LPWSTR * script_actions[SCRIPT_MAX]
Definition: msipriv.h:433
unsigned char scheduled_action_running
Definition: msipriv.h:466
msi_dialog * dialog
Definition: msipriv.h:453
unsigned char need_reboot_now
Definition: msipriv.h:470
unsigned char need_reboot_at_end
Definition: msipriv.h:469
LPWSTR localfile
Definition: msipriv.h:449
UINT LastActionResult
Definition: msipriv.h:412
struct list patches
Definition: msipriv.h:400
struct list binaries
Definition: msipriv.h:407
HANDLE custom_server_32_process
Definition: msipriv.h:442
void * cookie
Definition: msipriv.h:399
LPWSTR ActionFormat
Definition: msipriv.h:409
unsigned char need_rollback
Definition: msipriv.h:471
float center_x
Definition: msipriv.h:455
struct list tempfiles
Definition: msipriv.h:405
int script_actions_count[SCRIPT_MAX]
Definition: msipriv.h:434
struct list sourcelist_info
Definition: msipriv.h:463
BOOL registered
Definition: msipriv.h:209
DWORD uninstallable
Definition: msipriv.h:207
LPWSTR patchcode
Definition: msipriv.h:201
LPWSTR transforms
Definition: msipriv.h:203
struct list entry
Definition: msipriv.h:200
MSIPATCHSTATE state
Definition: msipriv.h:206
LPWSTR localfile
Definition: msipriv.h:205
LPWSTR products
Definition: msipriv.h:202
BOOL delete_on_close
Definition: msipriv.h:208
LPWSTR filename
Definition: msipriv.h:204
MSIPACKAGE * package
Definition: msipriv.h:478
msi_dialog * dialog
Definition: msipriv.h:479
MSIOBJECTHDR hdr
Definition: msipriv.h:477
MSIPROGID * CurVer
Definition: msipriv.h:695
MSICLASS * Class
Definition: msipriv.h:691
struct list entry
Definition: msipriv.h:688
MSIPROGID * Parent
Definition: msipriv.h:690
LPWSTR ProgID
Definition: msipriv.h:689
MSIPROGID * VersionInd
Definition: msipriv.h:696
LPWSTR IconPath
Definition: msipriv.h:693
LPWSTR Description
Definition: msipriv.h:692
MSIVIEW * view
Definition: msipriv.h:130
UINT row
Definition: msipriv.h:131
MSIDATABASE * db
Definition: msipriv.h:132
MSIOBJECTHDR hdr
Definition: msipriv.h:129
MSIFIELD fields[1]
Definition: msipriv.h:154
MSIOBJECTHDR hdr
Definition: msipriv.h:151
UINT count
Definition: msipriv.h:152
UINT64 cookie
Definition: msipriv.h:153
struct list entry
Definition: msipriv.h:159
UINT str_index
Definition: msipriv.h:88
IStream * stream
Definition: msipriv.h:89
MSIOBJECTHDR hdr
Definition: msipriv.h:486
IStorage * storage
Definition: msipriv.h:487
DWORD update_count
Definition: msipriv.h:488
IStorage * stg
Definition: msipriv.h:95
struct list entry
Definition: msipriv.h:94
LPWSTR Command
Definition: msipriv.h:704
INT Sequence
Definition: msipriv.h:703
struct list entry
Definition: msipriv.h:701
LPWSTR Argument
Definition: msipriv.h:705
LPWSTR Verb
Definition: msipriv.h:702
UINT(* insert_row)(struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary)
Definition: msipriv.h:283
UINT(* sort)(struct tagMSIVIEW *view, column_info *columns)
Definition: msipriv.h:344
UINT(* set_row)(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UINT mask)
Definition: msipriv.h:278
UINT(* add_column)(struct tagMSIVIEW *view, LPCWSTR column, INT type, BOOL hold)
Definition: msipriv.h:339
UINT(* set_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream *stream)
Definition: msipriv.h:271
UINT(* fetch_int)(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
Definition: msipriv.h:242
UINT(* set_string)(struct tagMSIVIEW *view, UINT row, UINT col, const WCHAR *val, int len)
Definition: msipriv.h:264
UINT(* fetch_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm)
Definition: msipriv.h:250
UINT(* modify)(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row)
Definition: msipriv.h:319
UINT(* add_ref)(struct tagMSIVIEW *view)
Definition: msipriv.h:329
UINT(* release)(struct tagMSIVIEW *view)
Definition: msipriv.h:334
UINT(* close)(struct tagMSIVIEW *view)
Definition: msipriv.h:298
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
Definition: msipriv.h:306
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
Definition: msipriv.h:293
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
Definition: msipriv.h:313
UINT(* set_int)(struct tagMSIVIEW *view, UINT row, UINT col, int val)
Definition: msipriv.h:257
UINT(* delete_row)(struct tagMSIVIEW *view, UINT row)
Definition: msipriv.h:288
UINT(* drop)(struct tagMSIVIEW *view)
Definition: msipriv.h:349
MSIDBERROR error
Definition: msipriv.h:356
const WCHAR * error_column
Definition: msipriv.h:357
const MSIVIEWOPS * ops
Definition: msipriv.h:355
MSIOBJECTHDR hdr
Definition: msipriv.h:354
void * PVOID
Definition: typedefs.h:50
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
Definition: pdh_main.c:94
int ret
static MONITORINFO mi
Definition: win.c:7338
int codepage
Definition: win_iconv.c:156
int * LPINT
Definition: windef.h:178
CONST void * LPCVOID
Definition: windef.h:191
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
int MSIDBERROR
Definition: winemsi.idl:35
int INSTALLSTATE
Definition: winemsi.idl:31
int MSICOSTTREE
Definition: winemsi.idl:34
int MSICONDITION
Definition: winemsi.idl:29
unsigned long MSIHANDLE
Definition: winemsi.idl:27
int MSIMODIFY
Definition: winemsi.idl:33
int MSICOLINFO
Definition: winemsi.idl:32
int INSTALLMESSAGE
Definition: winemsi.idl:28
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
_In_ ULONG Component
Definition: potypes.h:496
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193
#define const
Definition: zconf.h:233