ReactOS  0.4.15-dev-4872-g8a3db97
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 
44 static 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 
64 struct tagMSITABLE;
65 typedef struct tagMSITABLE MSITABLE;
66 
67 struct string_table;
68 typedef struct string_table string_table;
69 
70 struct tagMSIOBJECTHDR;
72 
74 
76 {
81 };
82 
83 #define MSI_INITIAL_MEDIA_TRANSFORM_OFFSET 10000
84 #define MSI_INITIAL_MEDIA_TRANSFORM_DISKID 32000
85 
86 typedef struct tagMSISTREAM
87 {
90 } MSISTREAM;
91 
92 typedef struct tagMSITRANSFORM
93 {
94  struct list entry;
96 } MSITRANSFORM;
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 
106 typedef struct tagMSIDATABASE
107 {
118  struct list tables;
119  struct list transforms;
123 } MSIDATABASE;
124 
125 typedef struct tagMSIVIEW MSIVIEW;
126 
127 typedef struct tagMSIQUERY
128 {
133  struct list mem;
134 } MSIQUERY;
135 
136 /* maybe we can use a Variant instead of doing it ourselves? */
137 typedef struct tagMSIFIELD
138 {
140  union
141  {
145  } u;
146  int len;
147 } MSIFIELD;
148 
149 typedef struct tagMSIRECORD
150 {
152  UINT count; /* as passed to MsiCreateRecord */
154  MSIFIELD fields[1]; /* nb. array size is count+1 */
155 } MSIRECORD;
156 
157 typedef struct tagMSISOURCELISTINFO
158 {
159  struct list entry;
165 
166 typedef struct tagMSIMEDIADISK
167 {
168  struct list entry;
174 } MSIMEDIADISK;
175 
176 typedef struct tagMSIMEDIAINFO
177 {
188 } MSIMEDIAINFO;
189 
190 typedef struct tagMSICABINETSTREAM
191 {
192  struct list entry;
197 
198 typedef struct tagMSIPATCHINFO
199 {
200  struct list entry;
211 } MSIPATCHINFO;
212 
213 typedef struct tagMSIBINARY
214 {
215  struct list entry;
218 } MSIBINARY;
219 
220 typedef struct _column_info
221 {
225  struct expr *val;
227 } column_info;
228 
229 typedef const struct tagMSICOLUMNHASHENTRY *MSIITERHANDLE;
230 
231 typedef 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  */
242  UINT (*fetch_int)( struct tagMSIVIEW *view, UINT row, UINT col, UINT *val );
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  */
283  UINT (*insert_row)( struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary );
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  */
329  UINT (*add_ref)( struct tagMSIVIEW *view );
330 
331  /*
332  * release - decreases the reference count of the table
333  */
334  UINT (*release)( struct tagMSIVIEW *view );
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 );
350 } MSIVIEWOPS;
351 
353 {
355  const MSIVIEWOPS *ops;
358 };
359 
360 struct msi_dialog_tag;
361 typedef struct msi_dialog_tag msi_dialog;
362 
364 {
371 };
372 
374 {
380 };
381 
382 enum script
383 {
389 };
390 
391 typedef struct tagMSIPACKAGE
392 {
399  void *cookie;
400  struct list patches;
401  struct list components;
402  struct list features;
403  struct list files;
405  struct list tempfiles;
406  struct list folders;
407  struct list binaries;
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;
427  struct list extensions;
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;
473 } MSIPACKAGE;
474 
475 typedef struct tagMSIPREVIEW
476 {
480 } MSIPREVIEW;
481 
482 #define MSI_MAX_PROPS 20
483 
484 typedef struct tagMSISUMMARYINFO
485 {
489  PROPVARIANT property[MSI_MAX_PROPS];
491 
492 typedef struct tagMSIFEATURE
493 {
494  struct list entry;
506  struct list Children;
507  struct list Components;
508 } MSIFEATURE;
509 
510 typedef struct tagMSIASSEMBLY
511 {
520 } MSIASSEMBLY;
521 
522 typedef 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;
549 } MSICOMPONENT;
550 
551 typedef struct tagComponentList
552 {
553  struct list entry;
555 } ComponentList;
556 
557 typedef struct tagFeatureList
558 {
559  struct list entry;
561 } FeatureList;
562 
564 {
570 };
571 
572 typedef struct tagMSIFOLDER
573 {
574  struct list entry;
575  struct list children;
585 } MSIFOLDER;
586 
587 typedef struct tagFolderList
588 {
589  struct list entry;
591 } FolderList;
592 
593 typedef enum _msi_file_state {
602 
603 typedef struct tagMSIFILE
604 {
605  struct list entry;
621 } MSIFILE;
622 
623 typedef struct tagMSIFILEPATCH
624 {
625  struct list entry;
633 } MSIFILEPATCH;
634 
635 typedef struct tagMSIAPPID
636 {
637  struct list entry;
638  LPWSTR AppID; /* Primary key */
645 } MSIAPPID;
646 
647 typedef struct tagMSIPROGID MSIPROGID;
648 
649 typedef 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 */
668 } MSICLASS;
669 
670 typedef struct tagMSIMIME MSIMIME;
671 
672 typedef struct tagMSIEXTENSION
673 {
674  struct list entry;
675  LPWSTR Extension; /* Primary Key */
681  /* not in the table, set during installation */
683  struct list verbs;
684 } MSIEXTENSION;
685 
687 {
688  struct list entry;
689  LPWSTR ProgID; /* Primary Key */
694  /* not in the table, set during installation */
697 };
698 
699 typedef struct tagMSIVERB
700 {
701  struct list entry;
706 } MSIVERB;
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 */
739 typedef struct {
741  union {
744  } str;
745 } awstring;
746 
747 typedef struct {
749  union {
752  } str;
753 } awcstring;
754 
756 
757 /* msi server interface */
760 
761 /* handle functions */
770 extern void msi_free_handle_table(void) DECLSPEC_HIDDEN;
771 
775 
776 
777 /* string table functions */
778 extern BOOL msi_add_string( string_table *st, const WCHAR *data, int len, BOOL persistent ) DECLSPEC_HIDDEN;
779 extern UINT msi_string2id( const string_table *st, const WCHAR *data, int len, UINT *id ) DECLSPEC_HIDDEN;
781 extern const WCHAR *msi_string_lookup( const string_table *st, UINT id, int *len ) DECLSPEC_HIDDEN;
783 extern string_table *msi_load_string_table( IStorage *stg, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
784 extern UINT msi_save_string_table( const string_table *st, IStorage *storage, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
787 extern WCHAR *msi_strdupW( const WCHAR *value, int len ) DECLSPEC_HIDDEN;
788 
791 
792 extern UINT read_stream_data( IStorage *stg, LPCWSTR stname, BOOL table,
793  BYTE **pdata, UINT *psz ) DECLSPEC_HIDDEN;
794 extern UINT write_stream_data( IStorage *stg, LPCWSTR stname,
795  LPCVOID data, UINT sz, BOOL bTable ) DECLSPEC_HIDDEN;
796 
797 /* transform functions */
798 extern 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 */
807 extern UINT msi_apply_registered_patch( MSIPACKAGE *package, LPCWSTR patch_code ) DECLSPEC_HIDDEN;
808 extern void msi_free_patchinfo( MSIPATCHINFO *patch ) DECLSPEC_HIDDEN;
809 
810 /* action internals */
815 extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN;
817 extern UINT msi_parse_command_line( MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case ) DECLSPEC_HIDDEN;
818 extern const WCHAR *msi_get_command_line_option( const WCHAR *cmd, const WCHAR *option, UINT *len ) DECLSPEC_HIDDEN;
825 
826 /* record internals */
830 extern const WCHAR *MSI_RecordGetString( const MSIRECORD *, UINT ) DECLSPEC_HIDDEN;
848 extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
849 extern void dump_record(MSIRECORD *) DECLSPEC_HIDDEN;
852 extern void free_remote_record(struct wire_record *rec) DECLSPEC_HIDDEN;
854 
855 /* stream internals */
856 extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
859 
860 /* database internals */
865 typedef UINT (*record_func)( MSIRECORD *, LPVOID );
869 
870 /* view internals */
878 
879 /* install internals */
880 extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSPEC_HIDDEN;
881 
882 /* package internals */
883 #define WINE_OPENPACKAGEFLAGS_RECACHE 0x80000000
885 extern UINT MSI_OpenPackageW( LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
900 
901 /* for deformating */
903 
904 /* registry data encoding/decoding functions */
911 extern UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid,
919 extern UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid,
922 extern UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
923  LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
928 extern UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
929  LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
947 
951 extern int msi_compare_font_versions(const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN;
952 
957 
958 /* msi dialog interface */
961 extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
962 
963 /* summary information */
964 extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
965 extern UINT msi_get_db_suminfo( MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
969 extern 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 */
995 extern void ACTION_FinishCustomActions( const MSIPACKAGE* package) DECLSPEC_HIDDEN;
998 
999 /* actions in other modules */
1021 
1022 /* Helpers */
1026 extern UINT msi_set_property( MSIDATABASE *, const WCHAR *, const WCHAR *, int ) DECLSPEC_HIDDEN;
1028 extern int msi_get_property_int( MSIDATABASE *package, LPCWSTR prop, int def ) DECLSPEC_HIDDEN;
1030 extern void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN;
1033 extern const WCHAR *msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN;
1034 extern void msi_reset_source_folders( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
1048 extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
1063 extern 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 }
1072 static inline void msi_revert_fs_redirection( MSIPACKAGE *package )
1073 {
1074  if (is_wow64 && package->platform == PLATFORM_X64) Wow64RevertWow64FsRedirection( package->cookie );
1075 }
1077 extern BOOL msi_delete_file( MSIPACKAGE *, const WCHAR * ) DECLSPEC_HIDDEN;
1083 extern 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 
1098 typedef struct
1099 {
1105 } MSICABDATA;
1106 
1107 extern UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
1112 
1113 /* control event stuff */
1114 extern void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN;
1116 
1117 /* OLE automation */
1118 typedef enum tid_t {
1127 } tid_t;
1128 
1129 extern HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
1132 extern void release_typelib(void) DECLSPEC_HIDDEN;
1133 
1134 /* Scripting */
1136 
1137 /* User interface messages from the actions */
1138 extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
1139 
1140 /* memory allocation macro functions */
1141 static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
1142 static inline void *msi_alloc( size_t len )
1143 {
1144  return malloc( len );
1145 }
1146 
1147 static void *msi_alloc_zero( size_t len ) __WINE_ALLOC_SIZE(1);
1148 static inline void *msi_alloc_zero( size_t len )
1149 {
1150  return calloc( 1, len );
1151 }
1152 
1153 static void *msi_realloc( void *mem, size_t len ) __WINE_ALLOC_SIZE(2);
1154 static inline void *msi_realloc( void *mem, size_t len )
1155 {
1156  return realloc( mem, len );
1157 }
1158 
1159 static inline void msi_free( void *mem )
1160 {
1161  free( mem );
1162 }
1163 
1164 static 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 
1177 static 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 
1190 static 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__ */
#define realloc
Definition: debug_ros.c:6
LPWSTR msi_suminfo_dup_string(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:696
LPWSTR Argument
Definition: msipriv.h:705
HANDLE msi_create_file(MSIPACKAGE *, const WCHAR *, DWORD, DWORD, DWORD, DWORD) DECLSPEC_HIDDEN
Definition: files.c:51
LPWSTR ProductCode
Definition: msipriv.h:448
UINT ACTION_DuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1336
UINT msi_get_db_suminfo(MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si) DECLSPEC_HIDDEN
Definition: suminfo.c:487
UINT(* delete_row)(struct tagMSIVIEW *view, UINT row)
Definition: msipriv.h:288
const WCHAR * msi_string_lookup(const string_table *st, UINT id, int *len) DECLSPEC_HIDDEN
Definition: string.c:343
LPWSTR tempfolder
Definition: msipriv.h:114
WCHAR * msi_create_temp_file(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: custom.c:215
BOOL msi_create_full_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:202
DWORD disk_id
Definition: msipriv.h:171
LONG msi_reg_set_subkey_val(HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val) DECLSPEC_HIDDEN
Definition: registry.c:230
DWORD dwOptions
Definition: solitaire.cpp:24
INTERNETFEATURELIST feature
Definition: misc.c:1719
INSTALLSTATE Action
Definition: msipriv.h:505
struct tagMSISUMMARYINFO MSISUMMARYINFO
LPWSTR display_name
Definition: msipriv.h:516
struct wire_record * marshal_record(MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: record.c:1109
UINT msi_get_property(MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: package.c:2194
UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1026
enum _msi_file_state msi_file_state
BOOL WINAPI Wow64RevertWow64FsRedirection(IN PVOID OldValue)
Definition: utils.c:805
MSIASSEMBLY * msi_load_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:319
void msi_adjust_privilege_properties(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: package.c:965
void ACTION_FinishCustomActions(const MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: custom.c:1604
MSISTREAM * streams
Definition: msipriv.h:120
union tagMSIFIELD::@486 u
enum platform platform
Definition: msipriv.h:396
UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage) DECLSPEC_HIDDEN
Definition: package.c:1333
struct list entry
Definition: msipriv.h:688
MSIRECORD * MSI_CloneRecord(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:921
UINT msi_strncpyWtoA(const WCHAR *str, int len, char *buf, DWORD *sz, BOOL remote) DECLSPEC_HIDDEN
Definition: install.c:190
BOOL msi_set_file_attributes(MSIPACKAGE *, const WCHAR *, DWORD) DECLSPEC_HIDDEN
Definition: files.c:97
int INSTALLMESSAGE
Definition: winemsi.idl:28
MSICLASS * Class
Definition: msipriv.h:715
UINT msi_get_stream(MSIDATABASE *, const WCHAR *, IStream **) DECLSPEC_HIDDEN
Definition: streams.c:499
struct tagMSIEXTENSION MSIEXTENSION
Definition: pdh_main.c:93
UINT ACTION_PatchFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:784
UINT copy_remote_record(const struct wire_record *rec, MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: record.c:1052
void MSI_CloseRecord(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: record.c:67
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:597
UINT msi_validate_product_id(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:7148
void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN
Definition: action.c:2178
BOOL msi_cabextract(MSIPACKAGE *package, MSIMEDIAINFO *mi, LPVOID data) DECLSPEC_HIDDEN
Definition: media.c:652
LPWSTR Version
Definition: msipriv.h:612
UINT msi_apply_registered_patch(MSIPACKAGE *package, LPCWSTR patch_code) DECLSPEC_HIDDEN
Definition: patch.c:990
clr_version
Definition: msipriv.h:373
Definition: fci.c:115
LPCWSTR w
Definition: msipriv.h:751
UINT MSIREG_OpenClassesUpgradeCodesKey(LPCWSTR szUpgradeCode, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:875
enum script script
Definition: msipriv.h:432
UINT msi_schedule_action(MSIPACKAGE *package, UINT script, const WCHAR *action) DECLSPEC_HIDDEN
Definition: custom.c:90
BOOL extracted
Definition: msipriv.h:630
UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1450
UINT MSI_RecordCopyField(MSIRECORD *, UINT, MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:166
msi_file_state state
Definition: msipriv.h:616
UINT(* set_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream *stream)
Definition: msipriv.h:271
UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:603
LPWSTR transforms
Definition: msipriv.h:203
enum tagMSIINSTALLCONTEXT MSIINSTALLCONTEXT
Definition: action.c:49
MSICOMPONENT * Component
Definition: msipriv.h:676
#define WideCharToMultiByte
Definition: compat.h:111
LPWSTR msi_reg_get_val_str(HKEY hkey, LPCWSTR name) DECLSPEC_HIDDEN
Definition: registry.c:243
BOOL is_wow64
Definition: msi.c:54
BOOL decode_base85_guid(LPCWSTR, GUID *) DECLSPEC_HIDDEN
Definition: registry.c:132
BOOL is_extracted
Definition: msipriv.h:186
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
BOOL persistent
Definition: msipriv.h:584
MSIASSEMBLY * assembly
Definition: msipriv.h:540
LPWSTR Language
Definition: msipriv.h:613
enum tagINSTALLUILEVEL INSTALLUILEVEL
LPWSTR RemoteServerName
Definition: msipriv.h:639
struct tagMSISOURCELISTINFO MSISOURCELISTINFO
IStorage * storage
Definition: msipriv.h:487
Definition: http.c:7251
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
Definition: msipriv.h:306
LPWSTR Parent
Definition: msipriv.h:577
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out) DECLSPEC_HIDDEN
Definition: record.c:1095
UINT msi_apply_transforms(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:950
struct tagMSIVERB MSIVERB
Definition: ftp_var.h:139
UINT MSI_ViewModify(MSIQUERY *, MSIMODIFY, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:698
MSIOBJECTHDR hdr
Definition: msipriv.h:393
static void msi_revert_fs_redirection(MSIPACKAGE *package)
Definition: msipriv.h:1072
struct list entry
Definition: msipriv.h:524
unsigned char rpc_server_started
Definition: msipriv.h:472
unsigned int anyAbsent
Definition: msipriv.h:543
UINT LastActionResult
Definition: msipriv.h:412
struct list entry
Definition: msipriv.h:637
struct list entry
Definition: msipriv.h:710
_In_ ULONG Component
Definition: potypes.h:496
MSIFEATURE * Feature
Definition: msipriv.h:664
MSIOBJECTHDR hdr
Definition: msipriv.h:151
LPWSTR TargetDefault
Definition: msipriv.h:578
MSIEXTENSION * Extension
Definition: msipriv.h:712
MSICOMPONENT * Component
Definition: msipriv.h:654
void msi_dialog_destroy(msi_dialog *) DECLSPEC_HIDDEN
Definition: dialog.c:4120
void msi_parse_version_string(LPCWSTR, PDWORD, PDWORD) DECLSPEC_HIDDEN
Definition: appsearch.c:52
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
Definition: package.c:2249
struct list RunningActions
Definition: msipriv.h:440
LPWSTR Feature
Definition: msipriv.h:495
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
#define CP_ACP
Definition: compat.h:109
LPWSTR * unique_actions
Definition: msipriv.h:435
INT Attributes
Definition: msipriv.h:665
tid_t
Definition: ieframe.h:311
#define free
Definition: debug_ros.c:5
LPWSTR IconPath
Definition: msipriv.h:660
struct list entry
Definition: msipriv.h:559
UINT ACTION_RegisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:690
struct list entry
Definition: msipriv.h:159
static char * strdupWtoA(LPCWSTR str)
Definition: msipriv.h:1164
LPWSTR PackagePath
Definition: msipriv.h:447
HRESULT create_session(MSIHANDLE msiHandle, IDispatch *pInstaller, IDispatch **pDispatch) DECLSPEC_HIDDEN
Definition: automation.c:2440
HANDLE log_file
Definition: msipriv.h:414
LPWSTR LastAction
Definition: msipriv.h:410
UINT MSI_RecordGetStringW(MSIRECORD *, UINT, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
BOOL msi_init_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:56
INSTALLSTATE action
Definition: msipriv.h:682
struct list children
Definition: msipriv.h:575
UINT MSI_ViewExecute(MSIQUERY *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:502
UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:689
WCHAR * msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder) DECLSPEC_HIDDEN
Definition: install.c:364
msi_dialog * dialog
Definition: msipriv.h:453
BOOL MSI_RecordsAreEqual(MSIRECORD *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:986
UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:850
UINT MSI_SetTargetPathW(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: install.c:564
WCHAR * msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:5465
UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid, MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN
Definition: source.c:686
float center_y
Definition: msipriv.h:456
HMODULE hfusion20
Definition: msipriv.h:417
HANDLE custom_server_32_process
Definition: msipriv.h:442
UINT read_stream_data(IStorage *stg, LPCWSTR stname, BOOL table, BYTE **pdata, UINT *psz) DECLSPEC_HIDDEN
Definition: table.c:232
LPWSTR last_volume
Definition: msipriv.h:184
UINT MSI_RecordGetIStream(MSIRECORD *, UINT, IStream **) DECLSPEC_HIDDEN
Definition: record.c:852
GLdouble n
Definition: glext.h:7729
unsigned int hasSourceFeature
Definition: msipriv.h:546
BOOL msi_is_global_assembly(MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: action.c:2037
MSIFILEHASHINFO hash
Definition: msipriv.h:619
int MSICONDITION
Definition: winemsi.idl:29
WCHAR * msi_get_error_message(MSIDATABASE *, int) DECLSPEC_HIDDEN
Definition: package.c:1767
LPWSTR DllSurrogate
Definition: msipriv.h:642
INSTALLUI_HANDLERW gUIHandlerW
Definition: msi_main.c:44
UINT write_stream_data(IStorage *stg, LPCWSTR stname, LPCVOID data, UINT sz, BOOL bTable) DECLSPEC_HIDDEN
Definition: table.c:296
struct tagMSIPREVIEW MSIPREVIEW
struct list entry
Definition: msipriv.h:574
_In_ ULONG const _In_ FEATURE_NUMBER const Feature
Definition: cdrom.h:1075
UINT ACTION_UnregisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:357
void enum_stream_names(IStorage *stg) DECLSPEC_HIDDEN
Definition: table.c:204
BOOL msi_remove_directory(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:88
MSIPATCHSTATE state
Definition: msipriv.h:206
UINT msi_strcpy_to_awstring(const WCHAR *, int, awstring *, DWORD *) DECLSPEC_HIDDEN
Definition: install.c:158
enum folder_state State
Definition: msipriv.h:583
LPWSTR File
Definition: msipriv.h:606
void msi_destroy_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:92
DWORD attributes
Definition: msipriv.h:515
struct _column_info * next
Definition: msipriv.h:226
BOOL ForceLocalState
Definition: msipriv.h:534
static MONITORINFO mi
Definition: win.c:7338
INSTALLUILEVEL gUILevel
Definition: msi_main.c:41
static void msi_free(void *mem)
Definition: msipriv.h:1159
LPWSTR AppID
Definition: msipriv.h:638
struct list folders
Definition: msipriv.h:406
WORD LANGID
Definition: typedefs.h:81
UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1392
UINT num_streams_allocated
Definition: msipriv.h:122
string_table * msi_load_string_table(IStorage *stg, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:478
DWORD uninstallable
Definition: msipriv.h:207
INSTALLSTATE Action
Definition: msipriv.h:533
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
Definition: msipriv.h:293
INT(CALLBACK * INSTALLUI_HANDLER_RECORD)(LPVOID, UINT, MSIHANDLE)
Definition: msi.h:422
BOOL ExecuteSequenceRun
Definition: msipriv.h:437
WCHAR * msi_get_assembly_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:240
DWORD msi_get_file_attributes(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:106
LPCSTR a
Definition: msipriv.h:750
struct tagFeatureList FeatureList
UINT ACTION_FindRelatedProducts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: upgrade.c:217
MSIPROGID * Parent
Definition: msipriv.h:690
LPWSTR KeyPath
Definition: msipriv.h:530
LPWSTR w
Definition: msipriv.h:743
UINT MSI_RecordStreamToFile(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:900
char * LPSTR
Definition: xmlstorage.h:182
VOID(* msihandledestructor)(MSIOBJECTHDR *)
Definition: msipriv.h:73
LANGID WINAPI MsiLoadStringW(MSIHANDLE, UINT, LPWSTR, int, LANGID)
UINT msi_package_add_info(MSIPACKAGE *, DWORD, DWORD, LPCWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2569
const char * filename
Definition: ioapi.h:135
INT Sequence
Definition: msipriv.h:703
MSIPROGID * VersionInd
Definition: msipriv.h:696
#define lstrlenW
Definition: compat.h:609
#define BOOL
Definition: nt_native.h:43
INT Attributes
Definition: msipriv.h:502
LPWSTR FileTypeMask
Definition: msipriv.h:659
#define DWORD
Definition: nt_native.h:44
int32_t INT
Definition: typedefs.h:58
struct list files
Definition: msipriv.h:403
static void * msi_realloc(void *mem, size_t len) __WINE_ALLOC_SIZE(2)
Definition: msipriv.h:1154
Definition: query.h:86
static const BOOL is_64bit
Definition: msipriv.h:44
MSICONDITION MSI_EvaluateConditionW(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
LPWSTR Description
Definition: msipriv.h:498
UINT ACTION_CCPSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1118
MSIFEATURE * feature
Definition: msipriv.h:560
MSIFILE * File
Definition: msipriv.h:626
LPWSTR next_dialog
Definition: msipriv.h:454
void msi_event_cleanup_all_subscriptions(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: dialog.c:4173
UINT disk_id
Definition: msipriv.h:620
static void * msi_alloc_zero(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1148
void msi_free_action_script(MSIPACKAGE *package, UINT script) DECLSPEC_HIDDEN
Definition: package.c:138
UINT64 cookie
Definition: msipriv.h:153
struct tagMSICABINETSTREAM MSICABINETSTREAM
UINT MSIREG_OpenUserComponentsKey(LPCWSTR szComponent, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:505
struct tagMSIMEDIADISK MSIMEDIADISK
UINT MSI_RecordGetStringA(MSIRECORD *, UINT, LPSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:351
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *, LPCWSTR, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:1044
LPWSTR AdvertiseString
Definition: msipriv.h:539
UINT WINAPIV MSI_OpenQuery(MSIDATABASE *, MSIQUERY **, LPCWSTR,...) DECLSPEC_HIDDEN
Definition: msiquery.c:138
WCHAR sourcedir[MAX_PATH]
Definition: msipriv.h:187
MSICLASS * Class
Definition: msipriv.h:691
BOOL(* PMSICABEXTRACTCB)(MSIPACKAGE *, LPCWSTR, DWORD, LPWSTR *, DWORD *, PVOID)
Definition: msipriv.h:1093
DWORD msi_version_str_to_dword(LPCWSTR p) DECLSPEC_HIDDEN
Definition: registry.c:188
struct list verbs
Definition: msipriv.h:683
UINT msi_strncpyW(const WCHAR *str, int len, WCHAR *buf, DWORD *sz) DECLSPEC_HIDDEN
Definition: install.c:213
struct list tempfiles
Definition: msipriv.h:405
struct list entry
Definition: msipriv.h:553
BOOL TABLE_Exists(MSIDATABASE *db, LPCWSTR name) DECLSPEC_HIDDEN
Definition: table.c:960
LPWSTR suffix
Definition: msipriv.h:713
BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN
Definition: record.c:957
UINT msi_install_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:411
UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:692
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
void msiobj_lock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:231
LPWSTR clsid
Definition: msipriv.h:714
BOOL RunAsInteractiveUser
Definition: msipriv.h:644
UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:798
UINT msi_apply_patches(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:932
UINT row
Definition: msipriv.h:131
unsigned int updated
Definition: msipriv.h:548
BOOL registered
Definition: msipriv.h:209
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote) DECLSPEC_HIDDEN
Definition: handle.c:135
static LPWSTR strdupW(LPCWSTR src)
Definition: msipriv.h:1190
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int) DECLSPEC_HIDDEN
Definition: record.c:280
LPWSTR msi_get_suminfo_product(IStorage *stg) DECLSPEC_HIDDEN
Definition: suminfo.c:720
UINT MSIREG_OpenUserDataFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:472
VOID msi_destroy_stringtable(string_table *st) DECLSPEC_HIDDEN
Definition: string.c:107
INT ACTION_DialogBox(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
UINT msi_check_patch_applicable(MSIPACKAGE *package, MSISUMMARYINFO *si) DECLSPEC_HIDDEN
Definition: patch.c:294
GLenum GLint GLuint mask
Definition: glext.h:6028
MSIVIEW * view
Definition: msipriv.h:130
UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1088
IStorage * storage
Definition: msipriv.h:194
UINT MSI_ViewFetch(MSIQUERY *, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:377
LPWSTR path
Definition: msipriv.h:112
struct list entry
Definition: msipriv.h:192
unsigned int BOOL
Definition: ntddk_ex.h:94
UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:445
struct list sourcelist_info
Definition: msipriv.h:463
string_table * strings
Definition: msipriv.h:110
LPWSTR ResolvedTarget
Definition: msipriv.h:581
long LONG
Definition: pedump.c:60
BOOL MSI_RecordIsNull(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:321
UINT MSI_RecordSetStreamFromFileW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:683
struct list entry
Definition: msipriv.h:701
UINT msi_download_file(LPCWSTR szUrl, LPWSTR filename) DECLSPEC_HIDDEN
Definition: package.c:1027
msi_dialog * dialog
Definition: msipriv.h:479
HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
IAssemblyEnum * msi_create_assembly_enum(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:265
unsigned long MSIHANDLE
Definition: winemsi.idl:24
unsigned int added
Definition: msipriv.h:547
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1858
UINT MSI_InstallPackage(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: action.c:7710
static PVOID ptr
Definition: dispmode.c:27
UINT(* set_string)(struct tagMSIVIEW *view, UINT row, UINT col, const WCHAR *val, int len)
Definition: msipriv.h:264
void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN
Definition: action.c:596
UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:841
struct list sourcelist_media
Definition: msipriv.h:464
int codepage
Definition: win_iconv.c:156
void free_remote_record(struct wire_record *rec) DECLSPEC_HIDDEN
Definition: record.c:1149
WCHAR * path
Definition: msipriv.h:632
INT ACTION_ShowDialog(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
unsigned char rollback_action_running
Definition: msipriv.h:468
const WCHAR * str
void msi_free_media_info(MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:661
INSTALLUI_HANDLER_RECORD gUIHandlerRecord
Definition: msi_main.c:45
LPWSTR filename
Definition: msipriv.h:204
LPWSTR Directory
Definition: msipriv.h:576
UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:526
HMODULE hfusion40
Definition: msipriv.h:418
LPWSTR Command
Definition: msipriv.h:704
struct list tables
Definition: msipriv.h:118
UINT msi_clone_properties(MSIDATABASE *) DECLSPEC_HIDDEN
Definition: package.c:382
struct tagMSIBINARY MSIBINARY
WCHAR * tmpfile
Definition: msipriv.h:217
LPSTR a
Definition: msipriv.h:742
MSIMEDIAINFO * mi
Definition: msipriv.h:1101
UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace) DECLSPEC_HIDDEN
Definition: action.c:354
struct list binaries
Definition: msipriv.h:407
UINT msi_get_suminfo(IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si) DECLSPEC_HIDDEN
Definition: suminfo.c:457
Definition: getopt.h:108
struct tagMSICLASS MSICLASS
WCHAR * msi_build_icon_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:3711
LPCWSTR column
Definition: msipriv.h:223
void msi_reduce_to_long_filename(WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:1074
UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context) DECLSPEC_HIDDEN
Definition: registry.c:636
INSTALLSTATE ActionRequest
Definition: msipriv.h:532
script
Definition: msipriv.h:382
LONG msi_reg_set_val_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:209
UINT count
Definition: msipriv.h:152
int MSIMODIFY
Definition: winemsi.idl:33
LONG msi_reg_set_val_dword(HKEY hkey, LPCWSTR name, DWORD val) DECLSPEC_HIDDEN
Definition: registry.c:225
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:433
GLuint index
Definition: glext.h:6031
unsigned int dir
Definition: maze.c:112
void msi_free_patchinfo(MSIPATCHINFO *patch) DECLSPEC_HIDDEN
Definition: patch.c:865
BOOL is_continuous
Definition: msipriv.h:185
UINT ACTION_MsiPublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:595
const char * LPCSTR
Definition: xmlstorage.h:183
void * PVOID
Definition: retypes.h:9
struct _column_info column_info
LPWSTR products
Definition: msipriv.h:202
UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:768
UINT WINAPI MsiDecomposeDescriptorW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR, LPDWORD)
Definition: registry.c:927
HANDLE custom_server_64_process
Definition: msipriv.h:443
DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR function, LPCWSTR action) DECLSPEC_HIDDEN
Definition: script.c:288
tid_t
Definition: msipriv.h:1118
UINT WordCount
Definition: msipriv.h:458
struct list mimes
Definition: msipriv.h:429
void append_storage_to_db(MSIDATABASE *db, IStorage *stg) DECLSPEC_HIDDEN
Definition: database.c:76
static PROTOCOLDATA * pdata
Definition: protocol.c:158
struct tagMSICOMPONENT MSICOMPONENT
BOOL msi_reg_get_val_dword(HKEY hkey, LPCWSTR name, DWORD *val) DECLSPEC_HIDDEN
Definition: registry.c:262
IStream * stream
Definition: msipriv.h:89
UINT WINAPI MsiDecomposeDescriptorA(LPCSTR, LPSTR, LPSTR, LPSTR, LPDWORD)
Definition: registry.c:984
WCHAR ** msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN
Definition: action.c:305
struct list entry
Definition: msipriv.h:494
LPWSTR feature
Definition: msipriv.h:512
struct list Children
Definition: msipriv.h:506
void free_cached_tables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:470
GLuint GLfloat * val
Definition: glext.h:7180
UINT MSI_ViewClose(MSIQUERY *) DECLSPEC_HIDDEN
Definition: msiquery.c:454
platform
Definition: msipriv.h:363
struct tagMSIPACKAGE MSIPACKAGE
unsigned char commit_action_running
Definition: msipriv.h:467
LPWSTR LocalServer
Definition: msipriv.h:640
MSIRECORD *WINAPIV MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR query,...) DECLSPEC_HIDDEN
Definition: msiquery.c:201
BOOL msi_find_next_file(MSIPACKAGE *, HANDLE, WIN32_FIND_DATAW *) DECLSPEC_HIDDEN
Definition: files.c:124
LPWSTR ProgIDText
Definition: msipriv.h:678
DWORD context
Definition: msipriv.h:169
int MSICOLINFO
Definition: winemsi.idl:32
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
Definition: replace.c:47
MSIPACKAGE * package
Definition: msipriv.h:1100
UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:338
LPWSTR DefInprocHandler
Definition: msipriv.h:661
LPWSTR szwVal
Definition: msipriv.h:143
UINT msi_add_cabinet_stream(MSIPACKAGE *, UINT, IStorage *, const WCHAR *) DECLSPEC_HIDDEN
Definition: media.c:935
MSIOBJECTHDR hdr
Definition: msipriv.h:477
LPWSTR Extension
Definition: msipriv.h:675
void dump_record(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:1028
struct list entry
Definition: msipriv.h:589
struct list entry
Definition: msipriv.h:605
WCHAR * msi_strdupW(const WCHAR *value, int len) DECLSPEC_HIDDEN
Definition: record.c:155
UINT ACTION_RemoveDuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1411
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
MSIHANDLE msi_get_remote(MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: handle.c:183
HRESULT get_typeinfo(tid_t tid, ITypeInfo **ti) DECLSPEC_HIDDEN
Definition: ieframe_main.c:61
UINT bytes_per_strref
Definition: msipriv.h:111
GLsizeiptr size
Definition: glext.h:5919
LPWSTR Context
Definition: msipriv.h:653
struct list features
Definition: msipriv.h:402
LPWSTR LastActionTemplate
Definition: msipriv.h:411
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table) DECLSPEC_HIDDEN
Definition: table.c:2922
LPWSTR Directory
Definition: msipriv.h:527
LPWSTR Directory
Definition: msipriv.h:501
void custom_stop_server(HANDLE process, HANDLE pipe) DECLSPEC_HIDDEN
Definition: custom.c:681
struct list classes
Definition: msipriv.h:426
void * msihandle2msiinfo(MSIHANDLE handle, UINT type) DECLSPEC_HIDDEN
Definition: handle.c:158
LPWSTR * script_actions[SCRIPT_MAX]
Definition: msipriv.h:433
LPWSTR ProgIDText
Definition: msipriv.h:656
void * alloc_msiobject(UINT type, UINT size, msihandledestructor destroy) DECLSPEC_HIDDEN
Definition: handle.c:201
__wchar_t WCHAR
Definition: xmlstorage.h:180
static LPWSTR strdupAtoW(LPCSTR str)
Definition: msipriv.h:1177
DWORD options
Definition: msipriv.h:170
Definition: parser.c:43
LPVOID gUIContext
Definition: msi_main.c:48
const MSIVIEWOPS * ops
Definition: msipriv.h:355
LONG HRESULT
Definition: typedefs.h:79
unsigned char need_reboot_now
Definition: msipriv.h:470
IAssemblyCache * cache_sxs
Definition: msipriv.h:424
INSTALLUILEVEL ui_level
Definition: msipriv.h:452
DWORD msi_get_disk_file_size(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:190
struct tagMSIPATCHINFO MSIPATCHINFO
UINT MSI_GetFeatureCost(MSIPACKAGE *, MSIFEATURE *, MSICOSTTREE, INSTALLSTATE, LPINT) DECLSPEC_HIDDEN
Definition: install.c:1155
UINT msi_string2id(const string_table *st, const WCHAR *data, int len, UINT *id) DECLSPEC_HIDDEN
Definition: string.c:400
struct tagComponentList ComponentList
LPWSTR localfile
Definition: msipriv.h:449
LPWSTR encode_streamname(BOOL bTable, LPCWSTR in) DECLSPEC_HIDDEN
Definition: table.c:119
struct list Components
Definition: msipriv.h:507
UINT ACTION_CustomAction(MSIPACKAGE *package, const WCHAR *action) DECLSPEC_HIDDEN
Definition: custom.c:1460
struct list appids
Definition: msipriv.h:430
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:111
LPWSTR Description
Definition: msipriv.h:657
#define MAX_PATH
Definition: compat.h:34
#define WINAPI
Definition: msvc.h:6
int msi_compare_file_versions(VS_FIXEDFILEINFO *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:1930
MSIPACKAGE * MSI_CreatePackage(MSIDATABASE *) DECLSPEC_HIDDEN
Definition: package.c:978
BOOL IsCompressed
Definition: msipriv.h:618
static IDispatch * pInstaller
Definition: automation.c:55
BOOL unicode
Definition: msipriv.h:748
static FILE * out
Definition: regtests2xml.c:44
struct tagMSIVIEWOPS MSIVIEWOPS
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL ActivateAtStorage
Definition: msipriv.h:643
UINT(* close)(struct tagMSIVIEW *view)
Definition: msipriv.h:298
HINSTANCE msi_hInstance
Definition: msi_main.c:51
WCHAR * gszLogFile
Definition: msi_main.c:50
WCHAR DWORD const WCHAR void IUnknown IAssemblyName void *IAssemblyCache * cache_net[CLR_VERSION_MAX]
Definition: msipriv.h:422
HANDLE msi_find_first_file(MSIPACKAGE *, const WCHAR *, WIN32_FIND_DATAW *) DECLSPEC_HIDDEN
Definition: files.c:115
UINT MSI_SetFeatureStates(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:1640
MSIDATABASE * db
Definition: msipriv.h:394
struct tagMSIFIELD MSIFIELD
UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:857
struct tagMSITRANSFORM MSITRANSFORM
LPWSTR ResolvedSource
Definition: msipriv.h:582
HMODULE hfusion11
Definition: msipriv.h:416
UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:378
LPWSTR cabinet
Definition: msipriv.h:182
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *file) DECLSPEC_HIDDEN
Definition: action.c:574
MSIPROGID * ProgID
Definition: msipriv.h:677
void msi_dialog_unregister_class(void) DECLSPEC_HIDDEN
Definition: dialog.c:4164
int unique_actions_count
Definition: msipriv.h:436
HWND gUIhwnd
Definition: msi_main.c:42
MSIOBJECTHDR hdr
Definition: msipriv.h:129
LANGID * langids
Definition: msipriv.h:398
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
INSTALLUI_HANDLERA gUIHandlerA
Definition: msi_main.c:43
LPWSTR disk_prompt
Definition: msipriv.h:181
static void msi_disable_fs_redirection(MSIPACKAGE *package)
Definition: msipriv.h:1068
UINT msi_commit_streams(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: streams.c:607
MSIOBJECTHDR hdr
Definition: msipriv.h:486
UINT MSIREG_OpenUserDataProductPatchesKey(LPCWSTR product, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:666
struct list entry
Definition: msipriv.h:94
LPWSTR Component
Definition: msipriv.h:525
UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1196
HANDLE custom_server_32_pipe
Definition: msipriv.h:444
struct list entry
Definition: msipriv.h:215
WCHAR *WINAPIV msi_build_directory_name(DWORD,...) DECLSPEC_HIDDEN
Definition: action.c:2008
GLenum GLenum GLuint components
Definition: glext.h:9620
struct list entry
Definition: msipriv.h:674
PVOID user
Definition: msipriv.h:1104
HRESULT msi_init_string_table(IStorage *stg) DECLSPEC_HIDDEN
Definition: string.c:460
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature) DECLSPEC_HIDDEN
Definition: action.c:563
LPVOID gUIContextRecord
Definition: msi_main.c:49
int ret
UINT ACTION_MoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1206
UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:582
MSIRECORD * MSI_CreateRecord(UINT) DECLSPEC_HIDDEN
Definition: record.c:76
UINT MSI_FormatRecordW(MSIPACKAGE *, MSIRECORD *, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: format.c:838
UINT MSI_RecordSetStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:671
void destroy(_Tp *__pointer)
Definition: _construct.h:278
LPWSTR SourceShortPath
Definition: msipriv.h:580
UINT WINAPI MsiCreateAndVerifyInstallerDirectory(DWORD)
Definition: msi.c:3816
UINT ACTION_MsiUnpublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:668
GLuint GLuint stream
Definition: glext.h:7522
BOOL installed
Definition: msipriv.h:518
float center_x
Definition: msipriv.h:455
LPWSTR volume_label
Definition: msipriv.h:183
MSIPROGID * CurVer
Definition: msipriv.h:695
#define VOID
Definition: acefi.h:82
UINT MSIREG_DeleteProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:751
void msi_dialog_check_messages(HANDLE) DECLSPEC_HIDDEN
Definition: dialog.c:4052
LPWSTR Feature_Parent
Definition: msipriv.h:496
GLenum GLsizei len
Definition: glext.h:6722
Definition: _list.h:228
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr) DECLSPEC_HIDDEN
Definition: custom.c:85
const struct tagMSICOLUMNHASHENTRY * MSIITERHANDLE
Definition: msipriv.h:229
struct list entry
Definition: msipriv.h:200
int INSTALLSTATE
Definition: winemsi.idl:31
LPWSTR patchcode
Definition: msipriv.h:201
GLenum src
Definition: glext.h:6340
UINT msi_package_add_media_disk(MSIPACKAGE *, DWORD, DWORD, DWORD, LPWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2592
enum tagMSIPATCHSTATE MSIPATCHSTATE
UINT msi_add_suminfo(MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns) DECLSPEC_HIDDEN
Definition: suminfo.c:1073
INT iVal
Definition: msipriv.h:142
INSTALLSTATE msi_get_component_action(MSIPACKAGE *package, MSICOMPONENT *comp) DECLSPEC_HIDDEN
Definition: action.c:611
int MSIDBERROR
Definition: winemsi.idl:35
unsigned char scheduled_action_running
Definition: msipriv.h:466
UINT msi_save_string_table(const string_table *st, IStorage *storage, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:564
WCHAR * source
Definition: msipriv.h:216
_msi_file_state
Definition: msipriv.h:593
BOOL is_wow64 DECLSPEC_HIDDEN
Definition: msipriv.h:981
unsigned char BYTE
Definition: xxhash.c:193
LPWSTR disk_prompt
Definition: msipriv.h:173
void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: install.c:833
UINT MSI_CommitTables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:2887
WCHAR DWORD
Definition: msipriv.h:420
UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:858
LPWSTR Title
Definition: msipriv.h:497
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action) DECLSPEC_HIDDEN
Definition: action.c:7610
#define WINAPIV
Definition: sdbpapi.h:64
UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:829
struct list entry
Definition: msipriv.h:625
IStorage * stg
Definition: msipriv.h:95
UINT MSI_RecordSetIStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:836
void msiobj_addref(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:217
MSIAPPID * AppID
Definition: msipriv.h:658
LPWSTR Condition
Definition: msipriv.h:529
MSIDATABASE * db
Definition: msipriv.h:132
const WCHAR * msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN
Definition: install.c:232
struct list extensions
Definition: msipriv.h:427
struct list cabinet_streams
Definition: msipriv.h:408
int MSI_RecordGetInteger(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:213
const WCHAR * msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN
Definition: record.c:420
UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid) DECLSPEC_HIDDEN
Definition: registry.c:552
LPWSTR ComponentId
Definition: msipriv.h:526
UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context) DECLSPEC_HIDDEN
Definition: msi.c:56
UINT msi_uninstall_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:456
struct tagMSIRECORD MSIRECORD
UINT(* set_row)(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UINT mask)
Definition: msipriv.h:278
INT(CALLBACK * INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR)
Definition: msi.h:420
unsigned int hasLocalFeature
Definition: msipriv.h:545
INSTALLSTATE msi_get_feature_action(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: action.c:627
void * cookie
Definition: msipriv.h:399
struct tagMSIMEDIAINFO MSIMEDIAINFO
UINT(* set_int)(struct tagMSIVIEW *view, UINT row, UINT col, int val)
Definition: msipriv.h:257
UINT(* sort)(struct tagMSIVIEW *view, column_info *columns)
Definition: msipriv.h:344
LPWSTR application
Definition: msipriv.h:514
HMODULE hfusion10
Definition: msipriv.h:415
UINT msi_set_string_table_codepage(string_table *st, UINT codepage) DECLSPEC_HIDDEN
Definition: string.c:676
struct list subscriptions
Definition: msipriv.h:461
UINT num_langids
Definition: msipriv.h:397
LPWSTR clsid
Definition: msipriv.h:652
UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1307
UINT InWhatSequence
Definition: msipriv.h:438
LPWSTR LongName
Definition: msipriv.h:610
MSICOMPONENT * Component
Definition: msipriv.h:607
struct tagMSIFEATURE MSIFEATURE
msihandledestructor destructor
Definition: msipriv.h:80
unsigned int hasAdvertisedFeature
Definition: msipriv.h:544
LPWSTR ActionFormat
Definition: msipriv.h:409
LONG refcount
Definition: msipriv.h:79
MSIFEATURE * Feature
Definition: msipriv.h:680
const WCHAR * action
Definition: action.c:7479
struct expr * val
Definition: msipriv.h:225
int script_actions_count[SCRIPT_MAX]
Definition: msipriv.h:434
UINT MSI_GetComponentStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1428
MSIFOLDER * msi_get_loaded_folder(MSIPACKAGE *package, const WCHAR *dir) DECLSPEC_HIDDEN
Definition: action.c:585
#define lstrcpyW
Definition: compat.h:608
GLuint in
Definition: glext.h:9616
const WCHAR * error_column
Definition: msipriv.h:357
struct tagMSIQUERY MSIQUERY
struct tagMSIFILE MSIFILE
IStream * stream
Definition: msipriv.h:144
UINT MSI_SetInstallLevel(MSIPACKAGE *package, int iInstallLevel) DECLSPEC_HIDDEN
Definition: install.c:1572
UINT str_index
Definition: msipriv.h:88
LPWSTR ShortName
Definition: msipriv.h:609
UINT ACTION_AppSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1071
UINT MSIREG_OpenUserDataPatchKey(LPCWSTR szPatch, MSIINSTALLCONTEXT dwContext, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:610
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN
Definition: record.c:1002
MSIOBJECTHDR hdr
Definition: msipriv.h:354
BOOL decode_streamname(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: table.c:178
UINT VIEW_find_column(MSIVIEW *, LPCWSTR, LPCWSTR, UINT *) DECLSPEC_HIDDEN
Definition: msiquery.c:59
int msi_compare_font_versions(const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:1943
LPWSTR deletefile
Definition: msipriv.h:113
void msiobj_unlock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:236
MSIFIELD fields[1]
Definition: msipriv.h:154
DWORD gUIFilterRecord
Definition: msi_main.c:47
struct tagMSISTREAM MSISTREAM
LPWSTR curfile
Definition: msipriv.h:1103
BOOL unicode
Definition: msipriv.h:740
LPWSTR ProgID
Definition: msipriv.h:689
BOOL msi_move_file(MSIPACKAGE *, const WCHAR *, const WCHAR *, DWORD) DECLSPEC_HIDDEN
Definition: files.c:133
MSIPROGID * ProgID
Definition: msipriv.h:655
UINT MSI_SetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE) DECLSPEC_HIDDEN
Definition: install.c:915
UINT ACTION_RegisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:276
unsigned int UINT
Definition: ndis.h:50
UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: record.c:573
UINT(* record_func)(MSIRECORD *, LPVOID)
Definition: msipriv.h:865
#define NULL
Definition: types.h:112
MSIPACKAGE * package
Definition: msipriv.h:478
UINT(* fetch_int)(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
Definition: msipriv.h:242
#define inline
Definition: compat.h:23
UINT msi_view_get_row(MSIDATABASE *, MSIVIEW *, UINT, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:353
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: package.c:2044
DWORD * PDWORD
Definition: pedump.c:68
UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN
Definition: package.c:1063
BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:131
struct tagFolderList FolderList
#define MultiByteToWideChar
Definition: compat.h:110
LPWSTR localfile
Definition: msipriv.h:205
UINT MSI_Sequence(MSIPACKAGE *package, LPCWSTR szTable) DECLSPEC_HIDDEN
Definition: action.c:452
struct list entry
Definition: msipriv.h:168
UINT Context
Definition: msipriv.h:459
UINT msi_table_apply_transform(MSIDATABASE *db, IStorage *stg, int err_cond) DECLSPEC_HIDDEN
Definition: table.c:3371
UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: package.c:1311
WCHAR DWORD const WCHAR DWORD
Definition: msipriv.h:421
DWORD update_count
Definition: msipriv.h:488
UINT MSI_RecordReadStream(MSIRECORD *, UINT, char *, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:761
UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:390
DWORD msi_get_file_version_info(MSIPACKAGE *, const WCHAR *, DWORD, BYTE *) DECLSPEC_HIDDEN
Definition: files.c:151
UINT ACTION_RemoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1549
INSTALLSTATE Installed
Definition: msipriv.h:531
UINT media_transform_disk_id
Definition: msipriv.h:117
UINT(* fetch_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm)
Definition: msipriv.h:250
WCHAR * msi_normalize_path(const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:2118
HMODULE hmscoree
Definition: msipriv.h:419
UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:783
PMSICABEXTRACTCB cb
Definition: msipriv.h:1102
UINT(* add_column)(struct tagMSIVIEW *view, LPCWSTR column, INT type, BOOL hold)
Definition: msipriv.h:339
BOOL delete_on_close
Definition: msipriv.h:208
Definition: mem.c:156
CONST void * LPCVOID
Definition: windef.h:191
LPWSTR FullKeypath
Definition: msipriv.h:538
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
Definition: msipriv.h:313
LPWSTR ServiceParameters
Definition: msipriv.h:641
LPCWSTR table
Definition: msipriv.h:222
Definition: name.c:38
#define calloc
Definition: rosglue.h:14
LPWSTR FileName
Definition: msipriv.h:608
UINT(* modify)(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row)
Definition: msipriv.h:319
UINT last_sequence
Definition: msipriv.h:180
UINT(* release)(struct tagMSIVIEW *view)
Definition: msipriv.h:334
UINT msi_export_suminfo(MSIDATABASE *db, HANDLE handle) DECLSPEC_HIDDEN
Definition: suminfo.c:1190
UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:113
uint32_t * LPDWORD
Definition: typedefs.h:59
int MSICOSTTREE
Definition: winemsi.idl:34
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1142
UINT num_streams
Definition: msipriv.h:121
#define const
Definition: zconf.h:230
INT msi_suminfo_get_int32(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:708
WCHAR DWORD const WCHAR void IUnknown IAssemblyName DWORD
Definition: msipriv.h:422
static IOleDocumentView * view
Definition: activex.c:1749
UINT msi_get_filehash(MSIPACKAGE *, const WCHAR *, MSIFILEHASHINFO *) DECLSPEC_HIDDEN
Definition: msi.c:4024
INT Sequence
Definition: msipriv.h:615
const WCHAR * msi_get_command_line_option(const WCHAR *cmd, const WCHAR *option, UINT *len) DECLSPEC_HIDDEN
Definition: action.c:274
HRESULT(WINAPI *pGetFileVersion)(const WCHAR *
UINT(* drop)(struct tagMSIVIEW *view)
Definition: msipriv.h:349
#define malloc
Definition: debug_ros.c:4
UINT ACTION_InstallFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:556
LPWSTR tempdir
Definition: msipriv.h:517
UINT MSIREG_DeleteUserDataProductKey(LPCWSTR, MSIINSTALLCONTEXT) DECLSPEC_HIDDEN
Definition: registry.c:720
UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:404
LPWSTR DefInprocHandler32
Definition: msipriv.h:662
void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: dialog.c:4483
static char * dest
Definition: rtl.c:135
UINT action_progress_increment
Definition: msipriv.h:413
LPWSTR Verb
Definition: msipriv.h:702
UINT MSIREG_DeleteUninstallKey(const WCHAR *, enum platform) DECLSPEC_HIDDEN
INT(CALLBACK * INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR)
Definition: msi.h:421
IStorage * storage
Definition: msipriv.h:109
BOOL unsquash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:41
struct tagMSIFILEPATCH MSIFILEPATCH
GLenum GLenum GLvoid GLvoid * column
Definition: glext.h:5664
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
INT FileSize
Definition: msipriv.h:611
UINT MSIREG_OpenUninstallKey(const WCHAR *, enum platform, HKEY *, BOOL) DECLSPEC_HIDDEN
MSICOMPONENT * msi_get_loaded_component(MSIPACKAGE *package, const WCHAR *Component) DECLSPEC_HIDDEN
Definition: action.c:552
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
#define MSI_MAX_PROPS
Definition: msipriv.h:482
BOOL msi_add_string(string_table *st, const WCHAR *data, int len, BOOL persistent) DECLSPEC_HIDDEN
Definition: string.c:303
UINT msi_set_context(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: action.c:396
INT Attributes
Definition: msipriv.h:614
unsigned long long UINT64
GLfloat GLfloat p
Definition: glext.h:8902
struct tagMSIFOLDER MSIFOLDER
WCHAR * LPWSTR
Definition: xmlstorage.h:184
MSICOMPONENT * component
Definition: msipriv.h:554
VS_FIXEDFILEINFO * msi_get_disk_file_version(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:161
LONG msi_reg_set_val_multi_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:217
UINT msi_load_all_features(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:951
UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:890
INT MSI_ProcessMessageVerbatim(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1792
UINT type
Definition: msipriv.h:139
LPWSTR manifest
Definition: msipriv.h:513
UINT MSI_IterateRecords(MSIQUERY *, LPDWORD, record_func, LPVOID) DECLSPEC_HIDDEN
Definition: msiquery.c:163
INSTALLSTATE ActionRequest
Definition: msipriv.h:504
struct list filepatches
Definition: msipriv.h:404
struct tagMSIDATABASE MSIDATABASE
MSIMIME * Mime
Definition: msipriv.h:679
UINT msi_parse_command_line(MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case) DECLSPEC_HIDDEN
Definition: action.c:214
UINT MSI_OpenDatabaseW(LPCWSTR, LPCWSTR, MSIDATABASE **) DECLSPEC_HIDDEN
Definition: database.c:140
BOOL delete_on_close
Definition: msipriv.h:450
static const struct access_res create[16]
Definition: package.c:7644
LPWSTR SourceLongPath
Definition: msipriv.h:579
LPWSTR Argument
Definition: msipriv.h:663
WCHAR * msi_get_font_file_version(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: font.c:186
struct tagMSIASSEMBLY MSIASSEMBLY
UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:5183
BOOL msi_delete_file(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:70
HANDLE custom_server_64_pipe
Definition: msipriv.h:445
LPWSTR TargetPath
Definition: msipriv.h:617
LPWSTR Description
Definition: msipriv.h:692
LPWSTR volume_label
Definition: msipriv.h:172
static TfClientId tid
unsigned char need_rollback
Definition: msipriv.h:471
void msi_free_handle_table(void) DECLSPEC_HIDDEN
Definition: handle.c:71
LPWSTR IconPath
Definition: msipriv.h:693
LANGID WINAPI MsiLoadStringA(MSIHANDLE, UINT, LPSTR, int, LANGID)
Definition: msi.c:2400
MSIOBJECTHDR hdr
Definition: msipriv.h:108
struct tagMSIAPPID MSIAPPID
INSTALLSTATE Installed
Definition: msipriv.h:503
UINT MSIREG_DeleteUpgradeCodesKey(const WCHAR *) DECLSPEC_HIDDEN
Definition: registry.c:812
int msiobj_release(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:241
BOOL squash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:74
void release_typelib(void) DECLSPEC_HIDDEN
Definition: apps.c:159
UINT media_transform_offset
Definition: msipriv.h:116
LPWSTR ContentType
Definition: msipriv.h:711
INSTALLSTATE action
Definition: msipriv.h:667
UINT msi_load_suminfo_properties(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: suminfo.c:1262
MSIDBERROR error
Definition: msipriv.h:356
UINT msi_get_string_table_codepage(const string_table *st) DECLSPEC_HIDDEN
Definition: string.c:671
struct list transforms
Definition: msipriv.h:119
UINT MSI_GetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1065
struct list patches
Definition: msipriv.h:400
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec) DECLSPEC_HIDDEN
Definition: record.c:108
folder_state
Definition: msipriv.h:563
WCHAR * msi_resolve_file_source(MSIPACKAGE *package, MSIFILE *file) DECLSPEC_HIDDEN
Definition: files.c:528
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
WCHAR * msi_get_package_code(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: package.c:1278
struct list entry
Definition: msipriv.h:651
Definition: copy.c:22
DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR **data) DECLSPEC_HIDDEN
BOOL encode_base85_guid(GUID *, LPWSTR) DECLSPEC_HIDDEN
Definition: registry.c:165
BOOL WINAPI Wow64DisableWow64FsRedirection(IN PVOID *OldValue)
Definition: utils.c:782
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond) DECLSPEC_HIDDEN
UINT(* add_ref)(struct tagMSIVIEW *view)
Definition: msipriv.h:329
int * LPINT
Definition: windef.h:178
UINT(* insert_row)(struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary)
Definition: msipriv.h:283
UINT msi_load_all_components(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:809
Definition: fci.c:126
unsigned char need_reboot_at_end
Definition: msipriv.h:469
LPWSTR msi_dup_property(MSIDATABASE *db, LPCWSTR prop) DECLSPEC_HIDDEN
Definition: package.c:2227
UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY **) DECLSPEC_HIDDEN
DWORD gUIFilter
Definition: msi_main.c:46
MSIFOLDER * folder
Definition: msipriv.h:590
GLuint const GLchar * name
Definition: glext.h:6031
void msi_reset_source_folders(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: package.c:2033