ReactOS  0.4.12-dev-409-g9f418243
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 static const BOOL is_64bit = sizeof(void *) > sizeof(int);
43 
44 #define MSI_DATASIZEMASK 0x00ff
45 #define MSITYPE_VALID 0x0100
46 #define MSITYPE_LOCALIZABLE 0x200
47 #define MSITYPE_STRING 0x0800
48 #define MSITYPE_NULLABLE 0x1000
49 #define MSITYPE_KEY 0x2000
50 #define MSITYPE_TEMPORARY 0x4000
51 #define MSITYPE_UNKNOWN 0x8000
52 
53 #define MAX_STREAM_NAME_LEN 62
54 #define LONG_STR_BYTES 3
55 
56 /* Install UI level mask for AND operation to exclude flags */
57 #define INSTALLUILEVEL_MASK 0x0007
58 
59 #define MSITYPE_IS_BINARY(type) (((type) & ~MSITYPE_NULLABLE) == (MSITYPE_STRING|MSITYPE_VALID))
60 
61 struct tagMSITABLE;
62 typedef struct tagMSITABLE MSITABLE;
63 
64 struct string_table;
65 typedef struct string_table string_table;
66 
67 struct tagMSIOBJECTHDR;
69 
71 
73 {
78 };
79 
80 #define MSI_INITIAL_MEDIA_TRANSFORM_OFFSET 10000
81 #define MSI_INITIAL_MEDIA_TRANSFORM_DISKID 30000
82 
83 typedef struct tagMSISTREAM
84 {
87 } MSISTREAM;
88 
89 typedef struct tagMSITRANSFORM
90 {
91  struct list entry;
93 } MSITRANSFORM;
94 
95 typedef struct tagMSIDATABASE
96 {
107  struct list tables;
108  struct list transforms;
112 } MSIDATABASE;
113 
114 typedef struct tagMSIVIEW MSIVIEW;
115 
116 typedef struct tagMSIQUERY
117 {
122  struct list mem;
123 } MSIQUERY;
124 
125 /* maybe we can use a Variant instead of doing it ourselves? */
126 typedef struct tagMSIFIELD
127 {
129  union
130  {
135  } u;
136  int len;
137 } MSIFIELD;
138 
139 typedef struct tagMSIRECORD
140 {
142  UINT count; /* as passed to MsiCreateRecord */
143  MSIFIELD fields[1]; /* nb. array size is count+1 */
144 } MSIRECORD;
145 
146 typedef struct tagMSISOURCELISTINFO
147 {
148  struct list entry;
154 
155 typedef struct tagMSIMEDIADISK
156 {
157  struct list entry;
163 } MSIMEDIADISK;
164 
165 typedef struct tagMSIMEDIAINFO
166 {
176 } MSIMEDIAINFO;
177 
178 typedef struct tagMSICABINETSTREAM
179 {
180  struct list entry;
185 
186 typedef struct tagMSIPATCHINFO
187 {
188  struct list entry;
199 } MSIPATCHINFO;
200 
201 typedef struct tagMSIBINARY
202 {
203  struct list entry;
207 } MSIBINARY;
208 
209 typedef struct _column_info
210 {
215  struct expr *val;
217 } column_info;
218 
219 typedef const struct tagMSICOLUMNHASHENTRY *MSIITERHANDLE;
220 
221 typedef struct tagMSIVIEWOPS
222 {
223  /*
224  * fetch_int - reads one integer from {row,col} in the table
225  *
226  * This function should be called after the execute method.
227  * Data returned by the function should not change until
228  * close or delete is called.
229  * To get a string value, query the database's string table with
230  * the integer value returned from this function.
231  */
232  UINT (*fetch_int)( struct tagMSIVIEW *view, UINT row, UINT col, UINT *val );
233 
234  /*
235  * fetch_stream - gets a stream from {row,col} in the table
236  *
237  * This function is similar to fetch_int, except fetches a
238  * stream instead of an integer.
239  */
240  UINT (*fetch_stream)( struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm );
241 
242  /*
243  * get_row - gets values from a row
244  *
245  */
246  UINT (*get_row)( struct tagMSIVIEW *view, UINT row, MSIRECORD **rec );
247 
248  /*
249  * set_row - sets values in a row as specified by mask
250  *
251  * Similar semantics to fetch_int
252  */
254 
255  /*
256  * Inserts a new row into the database from the records contents
257  */
258  UINT (*insert_row)( struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary );
259 
260  /*
261  * Deletes a row from the database
262  */
264 
265  /*
266  * execute - loads the underlying data into memory so it can be read
267  */
269 
270  /*
271  * close - clears the data read by execute from memory
272  */
273  UINT (*close)( struct tagMSIVIEW *view );
274 
275  /*
276  * get_dimensions - returns the number of rows or columns in a table.
277  *
278  * The number of rows can only be queried after the execute method
279  * is called. The number of columns can be queried at any time.
280  */
281  UINT (*get_dimensions)( struct tagMSIVIEW *view, UINT *rows, UINT *cols );
282 
283  /*
284  * get_column_info - returns the name and type of a specific column
285  *
286  * The column information can be queried at any time.
287  */
289  BOOL *temporary, LPCWSTR *table_name );
290 
291  /*
292  * modify - not yet implemented properly
293  */
294  UINT (*modify)( struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row );
295 
296  /*
297  * delete - destroys the structure completely
298  */
299  UINT (*delete)( struct tagMSIVIEW * );
300 
301  /*
302  * find_matching_rows - iterates through rows that match a value
303  *
304  * If the column type is a string then a string ID should be passed in.
305  * If the value to be looked up is an integer then no transformation of
306  * the input value is required, except if the column is a string, in which
307  * case a string ID should be passed in.
308  * The handle is an input/output parameter that keeps track of the current
309  * position in the iteration. It must be initialised to zero before the
310  * first call and continued to be passed in to subsequent calls.
311  */
313 
314  /*
315  * add_ref - increases the reference count of the table
316  */
317  UINT (*add_ref)( struct tagMSIVIEW *view );
318 
319  /*
320  * release - decreases the reference count of the table
321  */
322  UINT (*release)( struct tagMSIVIEW *view );
323 
324  /*
325  * add_column - adds a column to the table
326  */
328 
329  /*
330  * remove_column - removes the column represented by table name and column number from the table
331  */
333 
334  /*
335  * sort - orders the table by columns
336  */
337  UINT (*sort)( struct tagMSIVIEW *view, column_info *columns );
338 
339  /*
340  * drop - drops the table from the database
341  */
342  UINT (*drop)( struct tagMSIVIEW *view );
343 } MSIVIEWOPS;
344 
346 {
348  const MSIVIEWOPS *ops;
351 };
352 
353 struct msi_dialog_tag;
354 typedef struct msi_dialog_tag msi_dialog;
355 
357 {
363 };
364 
366 {
372 };
373 
374 enum script
375 {
381 };
382 
383 typedef struct tagMSIPACKAGE
384 {
391  struct list patches;
392  struct list components;
393  struct list features;
394  struct list files;
396  struct list tempfiles;
397  struct list folders;
398  struct list binaries;
408 
409  struct list classes;
410  struct list extensions;
411  struct list progids;
412  struct list mimes;
413  struct list appids;
414 
421 
423 
429 
433  float center_x;
434  float center_y;
435 
438 
440 
443 
444  unsigned char scheduled_action_running : 1;
445  unsigned char commit_action_running : 1;
446  unsigned char rollback_action_running : 1;
447  unsigned char need_reboot_at_end : 1;
448  unsigned char need_reboot_now : 1;
449  unsigned char need_rollback : 1;
450 } MSIPACKAGE;
451 
452 typedef struct tagMSIPREVIEW
453 {
457 } MSIPREVIEW;
458 
459 #define MSI_MAX_PROPS 20
460 
461 typedef struct tagMSISUMMARYINFO
462 {
466  PROPVARIANT property[MSI_MAX_PROPS];
468 
469 typedef struct tagMSIFEATURE
470 {
471  struct list entry;
483  struct list Children;
484  struct list Components;
485 } MSIFEATURE;
486 
487 typedef struct tagMSIASSEMBLY
488 {
497 } MSIASSEMBLY;
498 
499 typedef struct tagMSICOMPONENT
500 {
501  struct list entry;
519 
520  unsigned int anyAbsent:1;
521  unsigned int hasAdvertisedFeature:1;
522  unsigned int hasLocalFeature:1;
523  unsigned int hasSourceFeature:1;
524 } MSICOMPONENT;
525 
526 typedef struct tagComponentList
527 {
528  struct list entry;
530 } ComponentList;
531 
532 typedef struct tagFeatureList
533 {
534  struct list entry;
536 } FeatureList;
537 
539 {
545 };
546 
547 typedef struct tagMSIFOLDER
548 {
549  struct list entry;
550  struct list children;
562 } MSIFOLDER;
563 
564 typedef struct tagFolderList
565 {
566  struct list entry;
568 } FolderList;
569 
570 typedef enum _msi_file_state {
579 
580 typedef struct tagMSIFILE
581 {
582  struct list entry;
598 } MSIFILE;
599 
600 typedef struct tagMSIFILEPATCH
601 {
602  struct list entry;
610 } MSIFILEPATCH;
611 
612 typedef struct tagMSIAPPID
613 {
614  struct list entry;
615  LPWSTR AppID; /* Primary key */
622 } MSIAPPID;
623 
624 typedef struct tagMSIPROGID MSIPROGID;
625 
626 typedef struct tagMSICLASS
627 {
628  struct list entry;
629  LPWSTR clsid; /* Primary Key */
630  LPWSTR Context; /* Primary Key */
643  /* not in the table, set during installation */
645 } MSICLASS;
646 
647 typedef struct tagMSIMIME MSIMIME;
648 
649 typedef struct tagMSIEXTENSION
650 {
651  struct list entry;
652  LPWSTR Extension; /* Primary Key */
658  /* not in the table, set during installation */
660  struct list verbs;
661 } MSIEXTENSION;
662 
664 {
665  struct list entry;
666  LPWSTR ProgID; /* Primary Key */
671  /* not in the table, set during installation */
674 };
675 
676 typedef struct tagMSIVERB
677 {
678  struct list entry;
683 } MSIVERB;
684 
686 {
687  struct list entry;
688  LPWSTR ContentType; /* Primary Key */
693 };
694 
695 #define SEQUENCE_UI 0x1
696 #define SEQUENCE_EXEC 0x2
697 
698 #define MSIHANDLETYPE_ANY 0
699 #define MSIHANDLETYPE_DATABASE 1
700 #define MSIHANDLETYPE_SUMMARYINFO 2
701 #define MSIHANDLETYPE_VIEW 3
702 #define MSIHANDLETYPE_RECORD 4
703 #define MSIHANDLETYPE_PACKAGE 5
704 #define MSIHANDLETYPE_PREVIEW 6
705 
706 #define MSI_MAJORVERSION 4
707 #define MSI_MINORVERSION 5
708 #define MSI_BUILDNUMBER 6001
709 
710 #define GUID_SIZE 39
711 #define SQUASHED_GUID_SIZE 33
712 
713 #define MSIHANDLE_MAGIC 0x4d434923
714 
715 /* handle unicode/ascii output in the Msi* API functions */
716 typedef struct {
718  union {
721  } str;
722 } awstring;
723 
724 typedef struct {
726  union {
729  } str;
730 } awcstring;
731 
733 
734 /* msi server interface */
739 
740 /* handle functions */
749 extern void msi_free_handle_table(void) DECLSPEC_HIDDEN;
750 
754 
755 
756 /* string table functions */
758 {
761 };
762 
763 extern BOOL msi_add_string( string_table *st, const WCHAR *data, int len, enum StringPersistence persistence ) DECLSPEC_HIDDEN;
764 extern UINT msi_string2id( const string_table *st, const WCHAR *data, int len, UINT *id ) DECLSPEC_HIDDEN;
766 extern const WCHAR *msi_string_lookup( const string_table *st, UINT id, int *len ) DECLSPEC_HIDDEN;
768 extern string_table *msi_load_string_table( IStorage *stg, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
769 extern UINT msi_save_string_table( const string_table *st, IStorage *storage, UINT *bytes_per_strref ) DECLSPEC_HIDDEN;
772 extern WCHAR *msi_strdupW( const WCHAR *value, int len ) DECLSPEC_HIDDEN;
773 
776 
777 extern UINT read_stream_data( IStorage *stg, LPCWSTR stname, BOOL table,
778  BYTE **pdata, UINT *psz ) DECLSPEC_HIDDEN;
779 extern UINT write_stream_data( IStorage *stg, LPCWSTR stname,
780  LPCVOID data, UINT sz, BOOL bTable ) DECLSPEC_HIDDEN;
781 
782 /* transform functions */
785  LPCWSTR szTransformFile, int iErrorCond ) DECLSPEC_HIDDEN;
788 
789 /* patch functions */
792 extern UINT msi_apply_registered_patch( MSIPACKAGE *package, LPCWSTR patch_code ) DECLSPEC_HIDDEN;
793 extern void msi_free_patchinfo( MSIPATCHINFO *patch ) DECLSPEC_HIDDEN;
794 
795 /* action internals */
802 extern UINT msi_parse_command_line( MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case ) DECLSPEC_HIDDEN;
809 
810 /* record internals */
814 extern const WCHAR *MSI_RecordGetString( const MSIRECORD *, UINT ) DECLSPEC_HIDDEN;
834 extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
835 extern void dump_record(MSIRECORD *) DECLSPEC_HIDDEN;
836 
837 /* stream internals */
838 extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
841 
842 /* database internals */
847 typedef UINT (*record_func)( MSIRECORD *, LPVOID );
851 
852 /* view internals */
860 
861 /* install internals */
862 extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSPEC_HIDDEN;
863 
864 /* package internals */
866 extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
881 
882 /* for deformating */
884 
885 /* registry data encoding/decoding functions */
892 extern UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid,
900 extern UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid,
903 extern UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
904  LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
909 extern UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext,
910  LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN;
928 
937 
942 
943 /* msi dialog interface */
946 extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
947 
948 /* summary information */
949 extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
950 extern UINT msi_get_db_suminfo( MSIDATABASE *db, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
954 extern UINT msi_add_suminfo( MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns ) DECLSPEC_HIDDEN;
957 
958 /* undocumented functions */
964 
965 /* UI globals */
977 
978 /* action related functions */
982 
983 /* actions in other modules */
1005 
1006 /* Helpers */
1012 extern int msi_get_property_int( MSIDATABASE *package, LPCWSTR prop, int def ) DECLSPEC_HIDDEN;
1014 extern void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN;
1018 extern void msi_reset_folders( MSIPACKAGE *package, BOOL source ) DECLSPEC_HIDDEN;
1033 extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
1049 
1050 /* media */
1051 
1053 
1054 #define MSICABEXTRACT_BEGINEXTRACT 0x01
1055 #define MSICABEXTRACT_FILEEXTRACTED 0x02
1056 
1057 typedef struct
1058 {
1064 } MSICABDATA;
1065 
1066 extern UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN;
1071 
1072 /* control event stuff */
1073 extern void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN;
1075 
1076 /* OLE automation */
1077 typedef enum tid_t {
1086 } tid_t;
1087 
1088 extern HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
1091 extern void release_typelib(void) DECLSPEC_HIDDEN;
1092 
1093 /* Scripting */
1095 
1096 /* User interface messages from the actions */
1097 extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
1098 
1099 /* common strings */
1100 static const WCHAR szSourceDir[] = {'S','o','u','r','c','e','D','i','r',0};
1101 static const WCHAR szSOURCEDIR[] = {'S','O','U','R','C','E','D','I','R',0};
1102 static const WCHAR szRootDrive[] = {'R','O','O','T','D','R','I','V','E',0};
1103 static const WCHAR szTargetDir[] = {'T','A','R','G','E','T','D','I','R',0};
1104 static const WCHAR szLocalSid[] = {'S','-','1','-','5','-','1','8',0};
1105 static const WCHAR szAllSid[] = {'S','-','1','-','1','-','0',0};
1106 static const WCHAR szEmpty[] = {0};
1107 static const WCHAR szAll[] = {'A','L','L',0};
1108 static const WCHAR szOne[] = {'1',0};
1109 static const WCHAR szZero[] = {'0',0};
1110 static const WCHAR szSpace[] = {' ',0};
1111 static const WCHAR szBackSlash[] = {'\\',0};
1112 static const WCHAR szForwardSlash[] = {'/',0};
1113 static const WCHAR szDot[] = {'.',0};
1114 static const WCHAR szDotDot[] = {'.','.',0};
1115 static const WCHAR szSemiColon[] = {';',0};
1116 static const WCHAR szPreselected[] = {'P','r','e','s','e','l','e','c','t','e','d',0};
1117 static const WCHAR szPatches[] = {'P','a','t','c','h','e','s',0};
1118 static const WCHAR szState[] = {'S','t','a','t','e',0};
1119 static const WCHAR szMsi[] = {'m','s','i',0};
1120 static const WCHAR szPatch[] = {'P','A','T','C','H',0};
1121 static const WCHAR szSourceList[] = {'S','o','u','r','c','e','L','i','s','t',0};
1122 static const WCHAR szInstalled[] = {'I','n','s','t','a','l','l','e','d',0};
1123 static const WCHAR szReinstall[] = {'R','E','I','N','S','T','A','L','L',0};
1124 static const WCHAR szReinstallMode[] = {'R','E','I','N','S','T','A','L','L','M','O','D','E',0};
1125 static const WCHAR szRemove[] = {'R','E','M','O','V','E',0};
1126 static const WCHAR szUserSID[] = {'U','s','e','r','S','I','D',0};
1127 static const WCHAR szProductCode[] = {'P','r','o','d','u','c','t','C','o','d','e',0};
1128 static const WCHAR szRegisterClassInfo[] = {'R','e','g','i','s','t','e','r','C','l','a','s','s','I','n','f','o',0};
1129 static const WCHAR szRegisterProgIdInfo[] = {'R','e','g','i','s','t','e','r','P','r','o','g','I','d','I','n','f','o',0};
1130 static const WCHAR szRegisterExtensionInfo[] = {'R','e','g','i','s','t','e','r','E','x','t','e','n','s','i','o','n','I','n','f','o',0};
1131 static const WCHAR szRegisterMIMEInfo[] = {'R','e','g','i','s','t','e','r','M','I','M','E','I','n','f','o',0};
1132 static const WCHAR szDuplicateFiles[] = {'D','u','p','l','i','c','a','t','e','F','i','l','e','s',0};
1133 static const WCHAR szRemoveDuplicateFiles[] = {'R','e','m','o','v','e','D','u','p','l','i','c','a','t','e','F','i','l','e','s',0};
1134 static const WCHAR szInstallFiles[] = {'I','n','s','t','a','l','l','F','i','l','e','s',0};
1135 static const WCHAR szPatchFiles[] = {'P','a','t','c','h','F','i','l','e','s',0};
1136 static const WCHAR szRemoveFiles[] = {'R','e','m','o','v','e','F','i','l','e','s',0};
1137 static const WCHAR szFindRelatedProducts[] = {'F','i','n','d','R','e','l','a','t','e','d','P','r','o','d','u','c','t','s',0};
1138 static const WCHAR szAllUsers[] = {'A','L','L','U','S','E','R','S',0};
1139 static const WCHAR szCustomActionData[] = {'C','u','s','t','o','m','A','c','t','i','o','n','D','a','t','a',0};
1140 static const WCHAR szUILevel[] = {'U','I','L','e','v','e','l',0};
1141 static const WCHAR szProductID[] = {'P','r','o','d','u','c','t','I','D',0};
1142 static const WCHAR szPIDTemplate[] = {'P','I','D','T','e','m','p','l','a','t','e',0};
1143 static const WCHAR szPIDKEY[] = {'P','I','D','K','E','Y',0};
1144 static const WCHAR szTYPELIB[] = {'T','Y','P','E','L','I','B',0};
1145 static const WCHAR szSumInfo[] = {5 ,'S','u','m','m','a','r','y','I','n','f','o','r','m','a','t','i','o','n',0};
1146 static const WCHAR szHCR[] = {'H','K','E','Y','_','C','L','A','S','S','E','S','_','R','O','O','T','\\',0};
1147 static const WCHAR szHCU[] = {'H','K','E','Y','_','C','U','R','R','E','N','T','_','U','S','E','R','\\',0};
1148 static const WCHAR szHLM[] = {'H','K','E','Y','_','L','O','C','A','L','_','M','A','C','H','I','N','E','\\',0};
1149 static const WCHAR szHU[] = {'H','K','E','Y','_','U','S','E','R','S','\\',0};
1150 static const WCHAR szWindowsFolder[] = {'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
1151 static const WCHAR szAppSearch[] = {'A','p','p','S','e','a','r','c','h',0};
1152 static const WCHAR szMoveFiles[] = {'M','o','v','e','F','i','l','e','s',0};
1153 static const WCHAR szCCPSearch[] = {'C','C','P','S','e','a','r','c','h',0};
1154 static const WCHAR szUnregisterClassInfo[] = {'U','n','r','e','g','i','s','t','e','r','C','l','a','s','s','I','n','f','o',0};
1155 static const WCHAR szUnregisterExtensionInfo[] = {'U','n','r','e','g','i','s','t','e','r','E','x','t','e','n','s','i','o','n','I','n','f','o',0};
1156 static const WCHAR szUnregisterMIMEInfo[] = {'U','n','r','e','g','i','s','t','e','r','M','I','M','E','I','n','f','o',0};
1157 static const WCHAR szUnregisterProgIdInfo[] = {'U','n','r','e','g','i','s','t','e','r','P','r','o','g','I','d','I','n','f','o',0};
1158 static const WCHAR szRegisterFonts[] = {'R','e','g','i','s','t','e','r','F','o','n','t','s',0};
1159 static const WCHAR szUnregisterFonts[] = {'U','n','r','e','g','i','s','t','e','r','F','o','n','t','s',0};
1160 static const WCHAR szCLSID[] = {'C','L','S','I','D',0};
1161 static const WCHAR szProgID[] = {'P','r','o','g','I','D',0};
1162 static const WCHAR szVIProgID[] = {'V','e','r','s','i','o','n','I','n','d','e','p','e','n','d','e','n','t','P','r','o','g','I','D',0};
1163 static const WCHAR szAppID[] = {'A','p','p','I','D',0};
1164 static const WCHAR szDefaultIcon[] = {'D','e','f','a','u','l','t','I','c','o','n',0};
1165 static const WCHAR szInprocHandler[] = {'I','n','p','r','o','c','H','a','n','d','l','e','r',0};
1166 static const WCHAR szInprocHandler32[] = {'I','n','p','r','o','c','H','a','n','d','l','e','r','3','2',0};
1167 static const WCHAR szMIMEDatabase[] = {'M','I','M','E','\\','D','a','t','a','b','a','s','e','\\','C','o','n','t','e','n','t',' ','T','y','p','e','\\',0};
1168 static const WCHAR szLocalPackage[] = {'L','o','c','a','l','P','a','c','k','a','g','e',0};
1169 static const WCHAR szOriginalDatabase[] = {'O','r','i','g','i','n','a','l','D','a','t','a','b','a','s','e',0};
1170 static const WCHAR szUpgradeCode[] = {'U','p','g','r','a','d','e','C','o','d','e',0};
1171 static const WCHAR szAdminUser[] = {'A','d','m','i','n','U','s','e','r',0};
1172 static const WCHAR szIntel[] = {'I','n','t','e','l',0};
1173 static const WCHAR szIntel64[] = {'I','n','t','e','l','6','4',0};
1174 static const WCHAR szX64[] = {'x','6','4',0};
1175 static const WCHAR szAMD64[] = {'A','M','D','6','4',0};
1176 static const WCHAR szARM[] = {'A','r','m',0};
1177 static const WCHAR szWow6432NodeCLSID[] = {'W','o','w','6','4','3','2','N','o','d','e','\\','C','L','S','I','D',0};
1178 static const WCHAR szStreams[] = {'_','S','t','r','e','a','m','s',0};
1179 static const WCHAR szStorages[] = {'_','S','t','o','r','a','g','e','s',0};
1180 static const WCHAR szMsiPublishAssemblies[] = {'M','s','i','P','u','b','l','i','s','h','A','s','s','e','m','b','l','i','e','s',0};
1181 static const WCHAR szCostingComplete[] = {'C','o','s','t','i','n','g','C','o','m','p','l','e','t','e',0};
1182 static const WCHAR szTempFolder[] = {'T','e','m','p','F','o','l','d','e','r',0};
1183 static const WCHAR szDatabase[] = {'D','A','T','A','B','A','S','E',0};
1184 static const WCHAR szCRoot[] = {'C',':','\\',0};
1185 static const WCHAR szProductLanguage[] = {'P','r','o','d','u','c','t','L','a','n','g','u','a','g','e',0};
1186 static const WCHAR szProductVersion[] = {'P','r','o','d','u','c','t','V','e','r','s','i','o','n',0};
1187 static const WCHAR szWindowsInstaller[] = {'W','i','n','d','o','w','s','I','n','s','t','a','l','l','e','r',0};
1188 static const WCHAR szStringData[] = {'_','S','t','r','i','n','g','D','a','t','a',0};
1189 static const WCHAR szStringPool[] = {'_','S','t','r','i','n','g','P','o','o','l',0};
1190 static const WCHAR szInstallLevel[] = {'I','N','S','T','A','L','L','L','E','V','E','L',0};
1191 static const WCHAR szCostInitialize[] = {'C','o','s','t','I','n','i','t','i','a','l','i','z','e',0};
1192 static const WCHAR szAppDataFolder[] = {'A','p','p','D','a','t','a','F','o','l','d','e','r',0};
1193 static const WCHAR szRollbackDisabled[] = {'R','o','l','l','b','a','c','k','D','i','s','a','b','l','e','d',0};
1194 static const WCHAR szName[] = {'N','a','m','e',0};
1195 static const WCHAR szData[] = {'D','a','t','a',0};
1196 static const WCHAR szLangResource[] = {'\\','V','a','r','F','i','l','e','I','n','f','o','\\','T','r','a','n','s','l','a','t','i','o','n',0};
1197 static const WCHAR szInstallLocation[] = {'I','n','s','t','a','l','l','L','o','c','a','t','i','o','n',0};
1198 static const WCHAR szProperty[] = {'P','r','o','p','e','r','t','y',0};
1199 static const WCHAR szUninstallable[] = {'U','n','i','n','s','t','a','l','l','a','b','l','e',0};
1200 static const WCHAR szEXECUTEACTION[] = {'E','X','E','C','U','T','E','A','C','T','I','O','N',0};
1201 
1202 /* memory allocation macro functions */
1203 static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
1204 static inline void *msi_alloc( size_t len )
1205 {
1206  return HeapAlloc( GetProcessHeap(), 0, len );
1207 }
1208 
1209 static void *msi_alloc_zero( size_t len ) __WINE_ALLOC_SIZE(1);
1210 static inline void *msi_alloc_zero( size_t len )
1211 {
1213 }
1214 
1215 static void *msi_realloc( void *mem, size_t len ) __WINE_ALLOC_SIZE(2);
1216 static inline void *msi_realloc( void *mem, size_t len )
1217 {
1218  return HeapReAlloc( GetProcessHeap(), 0, mem, len );
1219 }
1220 
1221 static void *msi_realloc_zero( void *mem, size_t len ) __WINE_ALLOC_SIZE(2);
1222 static inline void *msi_realloc_zero( void *mem, size_t len )
1223 {
1225 }
1226 
1227 static inline BOOL msi_free( void *mem )
1228 {
1229  return HeapFree( GetProcessHeap(), 0, mem );
1230 }
1231 
1232 static inline char *strdupWtoA( LPCWSTR str )
1233 {
1234  LPSTR ret = NULL;
1235  DWORD len;
1236 
1237  if (!str) return ret;
1238  len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
1239  ret = msi_alloc( len );
1240  if (ret)
1241  WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
1242  return ret;
1243 }
1244 
1245 static inline LPWSTR strdupAtoW( LPCSTR str )
1246 {
1247  LPWSTR ret = NULL;
1248  DWORD len;
1249 
1250  if (!str) return ret;
1251  len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
1252  ret = msi_alloc( len * sizeof(WCHAR) );
1253  if (ret)
1254  MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
1255  return ret;
1256 }
1257 
1258 static inline LPWSTR strdupW( LPCWSTR src )
1259 {
1260  LPWSTR dest;
1261  if (!src) return NULL;
1262  dest = msi_alloc( (lstrlenW(src)+1)*sizeof(WCHAR) );
1263  if (dest)
1264  lstrcpyW(dest, src);
1265  return dest;
1266 }
1267 
1268 #endif /* __WINE_MSI_PRIVATE__ */
LPWSTR msi_suminfo_dup_string(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:681
int INSTALLMESSAGE
Definition: msiserver.idl:32
LPWSTR Argument
Definition: msipriv.h:682
UINT msi_table_apply_transform(MSIDATABASE *db, IStorage *stg) DECLSPEC_HIDDEN
Definition: table.c:2714
LPWSTR ProductCode
Definition: msipriv.h:426
UINT ACTION_DuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1127
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:263
BOOL msi_file_hash_matches(MSIFILE *) DECLSPEC_HIDDEN
Definition: action.c:2098
const WCHAR * msi_string_lookup(const string_table *st, UINT id, int *len) DECLSPEC_HIDDEN
Definition: string.c:347
LPWSTR tempfolder
Definition: msipriv.h:103
WCHAR * msi_create_temp_file(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: custom.c:201
static const WCHAR szSemiColon[]
Definition: msipriv.h:1115
DWORD disk_id
Definition: msipriv.h:160
static const WCHAR szPreselected[]
Definition: msipriv.h:1116
static const WCHAR szPatches[]
Definition: msipriv.h:1117
LONG msi_reg_set_subkey_val(HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWSTR val) DECLSPEC_HIDDEN
Definition: registry.c:381
INTERNETFEATURELIST feature
Definition: misc.c:1697
INSTALLSTATE Action
Definition: msipriv.h:482
struct tagMSISUMMARYINFO MSISUMMARYINFO
StringPersistence
Definition: msipriv.h:757
LPWSTR display_name
Definition: msipriv.h:493
static const WCHAR szIntel[]
Definition: msipriv.h:1172
UINT msi_get_property(MSIDATABASE *, LPCWSTR, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: package.c:2336
UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1080
enum _msi_file_state msi_file_state
MSIASSEMBLY * msi_load_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:352
void msi_adjust_privilege_properties(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: package.c:1046
void ACTION_FinishCustomActions(const MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: custom.c:1339
MSISTREAM * streams
Definition: msipriv.h:109
enum platform platform
Definition: msipriv.h:388
struct list entry
Definition: msipriv.h:665
static const WCHAR szUnregisterFonts[]
Definition: msipriv.h:1159
MSIRECORD * MSI_CloneRecord(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:974
MSICLASS * Class
Definition: msipriv.h:692
UINT msi_get_stream(MSIDATABASE *, const WCHAR *, IStream **) DECLSPEC_HIDDEN
Definition: streams.c:518
struct tagMSIEXTENSION MSIEXTENSION
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
Definition: sock.c:82
enum tagMSICOSTTREE MSICOSTTREE
UINT ACTION_PatchFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:577
DWORD msi_get_disk_file_size(LPCWSTR) DECLSPEC_HIDDEN
Definition: action.c:2084
void MSI_CloseRecord(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: record.c:70
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:649
UINT msi_validate_product_id(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:7435
IAssemblyCache * cache_net[CLR_VERSION_MAX]
Definition: msipriv.h:406
HRESULT create_msi_custom_remote(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
Definition: custom.c:1460
static const WCHAR szAMD64[]
Definition: msipriv.h:1175
void msi_resolve_target_folder(MSIPACKAGE *package, const WCHAR *name, BOOL load_prop) DECLSPEC_HIDDEN
Definition: action.c:2333
BOOL msi_cabextract(MSIPACKAGE *package, MSIMEDIAINFO *mi, LPVOID data) DECLSPEC_HIDDEN
Definition: media.c:653
LPWSTR Version
Definition: msipriv.h:589
UINT msi_apply_registered_patch(MSIPACKAGE *package, LPCWSTR patch_code) DECLSPEC_HIDDEN
Definition: patch.c:1029
static const WCHAR szDuplicateFiles[]
Definition: msipriv.h:1132
clr_version
Definition: msipriv.h:365
HRESULT create_msi_remote_package(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
Definition: package.c:2783
Definition: fci.c:115
LPCWSTR w
Definition: msipriv.h:728
UINT MSIREG_OpenClassesUpgradeCodesKey(LPCWSTR szUpgradeCode, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:1004
UINT msi_schedule_action(MSIPACKAGE *package, UINT script, const WCHAR *action) DECLSPEC_HIDDEN
Definition: custom.c:71
static const WCHAR szUserSID[]
Definition: msipriv.h:1126
BOOL extracted
Definition: msipriv.h:607
static const WCHAR szAll[]
Definition: msipriv.h:1107
UINT ACTION_UnregisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1497
UINT MSI_RecordCopyField(MSIRECORD *, UINT, MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:169
msi_file_state state
Definition: msipriv.h:593
UINT MSI_ViewGetColumnInfo(MSIQUERY *, MSICOLINFO, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:530
LPWSTR transforms
Definition: msipriv.h:191
enum tagMSIINSTALLCONTEXT MSIINSTALLCONTEXT
Definition: action.c:41
MSICOMPONENT * Component
Definition: msipriv.h:653
#define WideCharToMultiByte
Definition: compat.h:101
LPWSTR msi_reg_get_val_str(HKEY hkey, LPCWSTR name) DECLSPEC_HIDDEN
Definition: registry.c:394
BOOL decode_base85_guid(LPCWSTR, GUID *) DECLSPEC_HIDDEN
Definition: registry.c:283
static const WCHAR szRollbackDisabled[]
Definition: msipriv.h:1193
BOOL is_extracted
Definition: msipriv.h:174
BOOL persistent
Definition: msipriv.h:559
MSIASSEMBLY * assembly
Definition: msipriv.h:517
static const WCHAR szPatchFiles[]
Definition: msipriv.h:1135
LPWSTR Language
Definition: msipriv.h:590
enum tagINSTALLUILEVEL INSTALLUILEVEL
static const WCHAR szX64[]
Definition: msipriv.h:1174
LPWSTR RemoteServerName
Definition: msipriv.h:616
struct tagMSISOURCELISTINFO MSISOURCELISTINFO
IStorage * storage
Definition: msipriv.h:464
Definition: http.c:6587
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
Definition: msipriv.h:281
LPWSTR Parent
Definition: msipriv.h:552
static const WCHAR szPIDTemplate[]
Definition: msipriv.h:1142
UINT msi_apply_transforms(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:988
struct tagMSIVERB MSIVERB
static const WCHAR szRegisterFonts[]
Definition: msipriv.h:1158
UINT MSI_ViewModify(MSIQUERY *, MSIMODIFY, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:601
MSIOBJECTHDR hdr
Definition: msipriv.h:385
struct list entry
Definition: msipriv.h:501
unsigned int anyAbsent
Definition: msipriv.h:520
__wchar_t WCHAR
Definition: xmlstorage.h:180
UINT LastActionResult
Definition: msipriv.h:403
struct list entry
Definition: msipriv.h:614
struct list entry
Definition: msipriv.h:687
MSIFEATURE * Feature
Definition: msipriv.h:641
MSIOBJECTHDR hdr
Definition: msipriv.h:141
LPWSTR TargetDefault
Definition: msipriv.h:553
MSIEXTENSION * Extension
Definition: msipriv.h:689
MSICOMPONENT * Component
Definition: msipriv.h:631
void msi_dialog_destroy(msi_dialog *) DECLSPEC_HIDDEN
Definition: dialog.c:4040
void msi_parse_version_string(LPCWSTR, PDWORD, PDWORD) DECLSPEC_HIDDEN
Definition: appsearch.c:53
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
Definition: package.c:2392
struct list RunningActions
Definition: msipriv.h:422
LPWSTR Feature
Definition: msipriv.h:472
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
#define CP_ACP
Definition: compat.h:99
static const WCHAR szCostInitialize[]
Definition: msipriv.h:1191
LPWSTR * unique_actions
Definition: msipriv.h:417
INT Attributes
Definition: msipriv.h:642
tid_t
Definition: ieframe.h:311
UINT(* find_matching_rows)(struct tagMSIVIEW *view, UINT col, UINT val, UINT *row, MSIITERHANDLE *handle)
Definition: msipriv.h:312
LPWSTR IconPath
Definition: msipriv.h:637
struct list entry
Definition: msipriv.h:534
UINT ACTION_RegisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:747
struct list entry
Definition: msipriv.h:148
static char * strdupWtoA(LPCWSTR str)
Definition: msipriv.h:1232
LPWSTR PackagePath
Definition: msipriv.h:425
HRESULT create_session(MSIHANDLE msiHandle, IDispatch *pInstaller, IDispatch **pDispatch) DECLSPEC_HIDDEN
Definition: automation.c:2468
static const WCHAR szData[]
Definition: msipriv.h:1195
HANDLE log_file
Definition: msipriv.h:405
LPWSTR LastAction
Definition: msipriv.h:401
UINT MSI_RecordGetStringW(MSIRECORD *, UINT, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:487
BOOL msi_init_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:92
INSTALLSTATE action
Definition: msipriv.h:659
struct list children
Definition: msipriv.h:550
UINT MSI_ViewExecute(MSIQUERY *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: msiquery.c:443
UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:681
WCHAR * msi_resolve_source_folder(MSIPACKAGE *package, const WCHAR *name, MSIFOLDER **folder) DECLSPEC_HIDDEN
Definition: install.c:351
msi_dialog * dialog
Definition: msipriv.h:431
static const WCHAR szUnregisterClassInfo[]
Definition: msipriv.h:1154
LPCWSTR mode
Definition: msipriv.h:104
BOOL MSI_RecordsAreEqual(MSIRECORD *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:1039
UINT ready_media(MSIPACKAGE *package, BOOL compressed, MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:844
UINT MSI_SetTargetPathW(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: install.c:567
static const WCHAR szWindowsInstaller[]
Definition: msipriv.h:1187
WCHAR * msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:5712
UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid, MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN
Definition: source.c:698
float center_y
Definition: msipriv.h:434
MSIHANDLE alloc_msi_remote_handle(IUnknown *unk) DECLSPEC_HIDDEN
Definition: handle.c:133
UINT read_stream_data(IStorage *stg, LPCWSTR stname, BOOL table, BYTE **pdata, UINT *psz) DECLSPEC_HIDDEN
Definition: table.c:242
UINT MSI_RecordGetIStream(MSIRECORD *, UINT, IStream **) DECLSPEC_HIDDEN
Definition: record.c:905
GLdouble n
Definition: glext.h:7729
static const WCHAR szCLSID[]
Definition: msipriv.h:1160
unsigned int hasSourceFeature
Definition: msipriv.h:523
BOOL msi_is_global_assembly(MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: action.c:2193
MSIFILEHASHINFO hash
Definition: msipriv.h:596
static const WCHAR szRootDrive[]
Definition: msipriv.h:1102
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
WCHAR * msi_get_error_message(MSIDATABASE *, int) DECLSPEC_HIDDEN
Definition: package.c:1851
static const WCHAR szRemoveFiles[]
Definition: msipriv.h:1136
LPWSTR DllSurrogate
Definition: msipriv.h:619
INSTALLUI_HANDLERW gUIHandlerW
Definition: msi_main.c:44
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
UINT write_stream_data(IStorage *stg, LPCWSTR stname, LPCVOID data, UINT sz, BOOL bTable) DECLSPEC_HIDDEN
Definition: table.c:306
struct tagMSIPREVIEW MSIPREVIEW
struct list entry
Definition: msipriv.h:549
UINT ACTION_UnregisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:370
void enum_stream_names(IStorage *stg) DECLSPEC_HIDDEN
Definition: table.c:213
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: glext.h:5644
MSIPATCHSTATE state
Definition: msipriv.h:194
UINT msi_strcpy_to_awstring(const WCHAR *, int, awstring *, DWORD *) DECLSPEC_HIDDEN
Definition: install.c:181
enum folder_state State
Definition: msipriv.h:558
LPWSTR File
Definition: msipriv.h:583
void msi_destroy_assembly_caches(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: assembly.c:103
DWORD attributes
Definition: msipriv.h:492
struct _column_info * next
Definition: msipriv.h:216
BOOL ForceLocalState
Definition: msipriv.h:511
static MONITORINFO mi
Definition: win.c:7331
BOOL msi_add_string(string_table *st, const WCHAR *data, int len, enum StringPersistence persistence) DECLSPEC_HIDDEN
Definition: string.c:307
INSTALLUILEVEL gUILevel
Definition: msi_main.c:41
static const WCHAR szZero[]
Definition: msipriv.h:1109
LPWSTR AppID
Definition: msipriv.h:615
struct list folders
Definition: msipriv.h:397
WORD LANGID
Definition: typedefs.h:79
UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1442
UINT num_streams_allocated
Definition: msipriv.h:111
string_table * msi_load_string_table(IStorage *stg, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:482
DWORD uninstallable
Definition: msipriv.h:195
INSTALLSTATE Action
Definition: msipriv.h:510
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
Definition: msipriv.h:268
INT(CALLBACK * INSTALLUI_HANDLER_RECORD)(LPVOID, UINT, MSIHANDLE)
Definition: msi.h:422
BOOL ExecuteSequenceRun
Definition: msipriv.h:419
WCHAR * msi_get_assembly_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:267
LPCSTR a
Definition: msipriv.h:727
struct tagFeatureList FeatureList
UINT ACTION_FindRelatedProducts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: upgrade.c:204
MSIPROGID * Parent
Definition: msipriv.h:667
LPWSTR KeyPath
Definition: msipriv.h:507
LPWSTR w
Definition: msipriv.h:720
int32_t INT_PTR
Definition: typedefs.h:62
UINT MSI_RecordStreamToFile(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:953
static const WCHAR szAllSid[]
Definition: msipriv.h:1105
char * LPSTR
Definition: xmlstorage.h:182
VOID(* msihandledestructor)(MSIOBJECTHDR *)
Definition: msipriv.h:70
LANGID WINAPI MsiLoadStringW(MSIHANDLE, UINT, LPWSTR, int, LANGID)
Definition: msi.c:2393
static const WCHAR szInstallFiles[]
Definition: msipriv.h:1134
static const WCHAR szProductLanguage[]
Definition: msipriv.h:1185
UINT msi_package_add_info(MSIPACKAGE *, DWORD, DWORD, LPCWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2800
const char * filename
Definition: ioapi.h:135
INT Sequence
Definition: msipriv.h:680
INT_PTR pVal
Definition: msipriv.h:132
MSIPROGID * VersionInd
Definition: msipriv.h:673
#define lstrlenW
Definition: compat.h:407
INT Attributes
Definition: msipriv.h:479
LPWSTR FileTypeMask
Definition: msipriv.h:636
int32_t INT
Definition: typedefs.h:56
struct list files
Definition: msipriv.h:394
static void * msi_realloc(void *mem, size_t len) __WINE_ALLOC_SIZE(2)
Definition: msipriv.h:1216
Definition: query.h:86
static const BOOL is_64bit
Definition: msipriv.h:41
static const WCHAR szHLM[]
Definition: msipriv.h:1148
MSICONDITION MSI_EvaluateConditionW(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
Definition: cond.tab.c:2442
LPWSTR Description
Definition: msipriv.h:475
WCHAR * msi_font_version_from_file(const WCHAR *) DECLSPEC_HIDDEN
Definition: font.c:199
static const WCHAR szProgID[]
Definition: msipriv.h:1161
UINT ACTION_CCPSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1179
MSIFEATURE * feature
Definition: msipriv.h:535
unsigned long MSIHANDLE
Definition: msiserver.idl:25
MSIFILE * File
Definition: msipriv.h:603
UINT ACTION_CustomAction(MSIPACKAGE *, const WCHAR *, UINT) DECLSPEC_HIDDEN
LPWSTR next_dialog
Definition: msipriv.h:432
static const WCHAR szSpace[]
Definition: msipriv.h:1110
void msi_event_cleanup_all_subscriptions(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: dialog.c:4093
UINT disk_id
Definition: msipriv.h:597
static void * msi_alloc_zero(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1210
void msi_free_action_script(MSIPACKAGE *package, UINT script) DECLSPEC_HIDDEN
Definition: package.c:129
struct tagMSICABINETSTREAM MSICABINETSTREAM
UINT MSIREG_OpenUserComponentsKey(LPCWSTR szComponent, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:653
struct tagMSIMEDIADISK MSIMEDIADISK
UINT MSI_RecordGetStringA(MSIRECORD *, UINT, LPSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:399
UINT MSI_DatabaseGetPrimaryKeys(MSIDATABASE *, LPCWSTR, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:896
LPWSTR AdvertiseString
Definition: msipriv.h:516
static const WCHAR szIntel64[]
Definition: msipriv.h:1173
WCHAR sourcedir[MAX_PATH]
Definition: msipriv.h:175
MSICLASS * Class
Definition: msipriv.h:668
BOOL(* PMSICABEXTRACTCB)(MSIPACKAGE *, LPCWSTR, DWORD, LPWSTR *, DWORD *, PVOID)
Definition: msipriv.h:1052
DWORD msi_version_str_to_dword(LPCWSTR p) DECLSPEC_HIDDEN
Definition: registry.c:339
struct list verbs
Definition: msipriv.h:660
static const WCHAR szSumInfo[]
Definition: msipriv.h:1145
static const WCHAR szHCU[]
Definition: msipriv.h:1147
struct list tempfiles
Definition: msipriv.h:396
struct list entry
Definition: msipriv.h:528
static const WCHAR szTYPELIB[]
Definition: msipriv.h:1144
BOOL TABLE_Exists(MSIDATABASE *db, LPCWSTR name) DECLSPEC_HIDDEN
Definition: table.c:971
LPWSTR suffix
Definition: msipriv.h:690
BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN
Definition: record.c:1010
UINT msi_install_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:444
UINT MSIREG_OpenInstallProps(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:830
void msiobj_lock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:232
LPWSTR clsid
Definition: msipriv.h:691
BOOL RunAsInteractiveUser
Definition: msipriv.h:621
UINT MSI_OpenQuery(MSIDATABASE *, MSIQUERY **, LPCWSTR,...) DECLSPEC_HIDDEN
Definition: msiquery.c:143
UINT MSIREG_OpenUserUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:930
UINT msi_apply_patches(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: patch.c:970
UINT row
Definition: msipriv.h:120
BOOL registered
Definition: msipriv.h:197
static LPWSTR strdupW(LPCWSTR src)
Definition: msipriv.h:1258
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int) DECLSPEC_HIDDEN
Definition: record.c:328
LPWSTR msi_get_suminfo_product(IStorage *stg) DECLSPEC_HIDDEN
Definition: suminfo.c:705
UINT MSIREG_OpenUserDataFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:622
VOID msi_destroy_stringtable(string_table *st) DECLSPEC_HIDDEN
Definition: string.c:108
INT ACTION_DialogBox(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
UINT msi_check_patch_applicable(MSIPACKAGE *package, MSISUMMARYINFO *si) DECLSPEC_HIDDEN
Definition: patch.c:290
GLenum GLint GLuint mask
Definition: glext.h:6028
MSIVIEW * view
Definition: msipriv.h:119
UINT ACTION_UnregisterProgIdInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1139
IStorage * storage
Definition: msipriv.h:182
UINT MSI_ViewFetch(MSIQUERY *, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:364
LPWSTR path
Definition: msipriv.h:101
static const WCHAR szHCR[]
Definition: msipriv.h:1146
struct list entry
Definition: msipriv.h:180
UINT MSIREG_DeleteUserFeaturesKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:595
static const WCHAR szUpgradeCode[]
Definition: msipriv.h:1170
struct list sourcelist_info
Definition: msipriv.h:441
string_table * strings
Definition: msipriv.h:99
LPWSTR ResolvedTarget
Definition: msipriv.h:556
long LONG
Definition: pedump.c:60
BOOL MSI_RecordIsNull(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:369
UINT(* add_column)(struct tagMSIVIEW *view, LPCWSTR table, UINT number, LPCWSTR column, UINT type, BOOL hold)
Definition: msipriv.h:327
UINT MSI_RecordSetStreamFromFileW(MSIRECORD *, UINT, LPCWSTR) DECLSPEC_HIDDEN
Definition: record.c:736
static size_t double number
Definition: printf.c:64
struct list entry
Definition: msipriv.h:678
UINT msi_download_file(LPCWSTR szUrl, LPWSTR filename) DECLSPEC_HIDDEN
Definition: package.c:1107
static const WCHAR szAppID[]
Definition: msipriv.h:1163
static const WCHAR szRegisterClassInfo[]
Definition: msipriv.h:1128
msi_dialog * dialog
Definition: msipriv.h:456
HRESULT create_msiserver(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
IAssemblyEnum * msi_create_assembly_enum(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: assembly.c:292
HMODULE module
Definition: msipriv.h:206
static const WCHAR szUnregisterProgIdInfo[]
Definition: msipriv.h:1157
static const WCHAR szFindRelatedProducts[]
Definition: msipriv.h:1137
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1946
UINT MSI_InstallPackage(MSIPACKAGE *, LPCWSTR, LPCWSTR) DECLSPEC_HIDDEN
Definition: action.c:8020
static const WCHAR szEmpty[]
Definition: msipriv.h:1106
static PVOID ptr
Definition: dispmode.c:27
void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN
Definition: action.c:740
UINT MSIREG_DeleteLocalClassesProductKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:972
struct list sourcelist_media
Definition: msipriv.h:442
int codepage
Definition: win_iconv.c:156
static const WCHAR szAppDataFolder[]
Definition: msipriv.h:1192
WCHAR * path
Definition: msipriv.h:609
INT ACTION_ShowDialog(MSIPACKAGE *, LPCWSTR) DECLSPEC_HIDDEN
unsigned char rollback_action_running
Definition: msipriv.h:446
static const WCHAR szMsiPublishAssemblies[]
Definition: msipriv.h:1180
const WCHAR * str
void msi_free_media_info(MSIMEDIAINFO *mi) DECLSPEC_HIDDEN
Definition: media.c:662
INSTALLUI_HANDLER_RECORD gUIHandlerRecord
Definition: msi_main.c:45
LPWSTR filename
Definition: msipriv.h:192
LPWSTR Directory
Definition: msipriv.h:551
UINT MSIREG_OpenUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:674
LPWSTR Command
Definition: msipriv.h:681
struct list tables
Definition: msipriv.h:107
UINT msi_clone_properties(MSIDATABASE *) DECLSPEC_HIDDEN
Definition: package.c:377
struct tagMSIBINARY MSIBINARY
smooth NULL
Definition: ftsmooth.c:416
WCHAR * tmpfile
Definition: msipriv.h:205
LPSTR a
Definition: msipriv.h:719
MSIMEDIAINFO * mi
Definition: msipriv.h:1060
UINT msi_set_sourcedir_props(MSIPACKAGE *package, BOOL replace) DECLSPEC_HIDDEN
Definition: action.c:441
struct list binaries
Definition: msipriv.h:398
UINT msi_get_suminfo(IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si) DECLSPEC_HIDDEN
Definition: suminfo.c:457
void msi_reset_folders(MSIPACKAGE *package, BOOL source) DECLSPEC_HIDDEN
Definition: package.c:2130
struct tagMSICLASS MSICLASS
WCHAR * msi_build_icon_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:3895
LPCWSTR column
Definition: msipriv.h:212
void msi_reduce_to_long_filename(WCHAR *) DECLSPEC_HIDDEN
Definition: files.c:863
UINT MSIREG_DeleteUserDataPatchKey(LPCWSTR patch, MSIINSTALLCONTEXT context) DECLSPEC_HIDDEN
Definition: registry.c:778
INSTALLSTATE ActionRequest
Definition: msipriv.h:509
script
Definition: msipriv.h:374
LONG msi_reg_set_val_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:360
static const WCHAR szRegisterExtensionInfo[]
Definition: msipriv.h:1130
UINT count
Definition: msipriv.h:142
static const WCHAR szSourceList[]
Definition: msipriv.h:1121
static const WCHAR szMoveFiles[]
Definition: msipriv.h:1152
LONG msi_reg_set_val_dword(HKEY hkey, LPCWSTR name, DWORD val) DECLSPEC_HIDDEN
Definition: registry.c:376
const WCHAR * MSI_RecordGetString(const MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:482
GLuint index
Definition: glext.h:6031
unsigned int dir
Definition: maze.c:112
void msi_free_patchinfo(MSIPATCHINFO *patch) DECLSPEC_HIDDEN
Definition: patch.c:902
BOOL is_continuous
Definition: msipriv.h:173
UINT ACTION_MsiPublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:651
const char * LPCSTR
Definition: xmlstorage.h:183
struct _column_info column_info
LPWSTR products
Definition: msipriv.h:190
UINT MSIREG_OpenPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:901
UINT WINAPI MsiDecomposeDescriptorW(LPCWSTR, LPWSTR, LPWSTR, LPWSTR, LPDWORD)
Definition: registry.c:1055
DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR function, LPCWSTR action) DECLSPEC_HIDDEN
Definition: script.c:293
tid_t
Definition: msipriv.h:1077
UINT WordCount
Definition: msipriv.h:436
struct list mimes
Definition: msipriv.h:412
void append_storage_to_db(MSIDATABASE *db, IStorage *stg) DECLSPEC_HIDDEN
Definition: database.c:84
static const WCHAR szWow6432NodeCLSID[]
Definition: msipriv.h:1177
static PROTOCOLDATA * pdata
Definition: protocol.c:157
struct tagMSICOMPONENT MSICOMPONENT
BOOL msi_reg_get_val_dword(HKEY hkey, LPCWSTR name, DWORD *val) DECLSPEC_HIDDEN
Definition: registry.c:413
IStream * stream
Definition: msipriv.h:86
UINT WINAPI MsiDecomposeDescriptorA(LPCSTR, LPSTR, LPSTR, LPSTR, LPDWORD)
Definition: registry.c:1112
static const WCHAR szRemoveDuplicateFiles[]
Definition: msipriv.h:1133
static const WCHAR szInstallLocation[]
Definition: msipriv.h:1197
WCHAR ** msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN
Definition: action.c:388
struct list entry
Definition: msipriv.h:471
LPWSTR feature
Definition: msipriv.h:489
struct list Children
Definition: msipriv.h:483
void free_cached_tables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:480
GLuint GLfloat * val
Definition: glext.h:7180
UINT MSI_ViewClose(MSIQUERY *) DECLSPEC_HIDDEN
Definition: msiquery.c:412
platform
Definition: msipriv.h:356
struct tagMSIPACKAGE MSIPACKAGE
unsigned char commit_action_running
Definition: msipriv.h:445
LPWSTR LocalServer
Definition: msipriv.h:617
LPWSTR ProgIDText
Definition: msipriv.h:655
DWORD context
Definition: msipriv.h:158
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
Definition: replace.c:47
MSIPACKAGE * package
Definition: msipriv.h:1059
UINT MSIREG_OpenProductKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:492
LPWSTR DefInprocHandler
Definition: msipriv.h:638
LPWSTR szwVal
Definition: msipriv.h:133
UINT msi_add_cabinet_stream(MSIPACKAGE *, UINT, IStorage *, const WCHAR *) DECLSPEC_HIDDEN
Definition: media.c:912
MSIOBJECTHDR hdr
Definition: msipriv.h:454
LPWSTR Extension
Definition: msipriv.h:652
static const WCHAR szForwardSlash[]
Definition: msipriv.h:1112
void dump_record(MSIRECORD *) DECLSPEC_HIDDEN
Definition: record.c:1081
enum tagMSIDBERROR MSIDBERROR
struct list entry
Definition: msipriv.h:566
struct list entry
Definition: msipriv.h:582
WCHAR * msi_strdupW(const WCHAR *value, int len) DECLSPEC_HIDDEN
Definition: record.c:158
union tagMSIFIELD::@474 u
UINT ACTION_RemoveDuplicateFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1203
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
HRESULT get_typeinfo(tid_t tid, ITypeInfo **ti) DECLSPEC_HIDDEN
Definition: ieframe_main.c:61
static const WCHAR szAllUsers[]
Definition: msipriv.h:1138
static const WCHAR szUnregisterExtensionInfo[]
Definition: msipriv.h:1155
unsigned int BOOL
Definition: ntddk_ex.h:94
UINT bytes_per_strref
Definition: msipriv.h:100
GLsizeiptr size
Definition: glext.h:5919
LPWSTR Context
Definition: msipriv.h:630
static const WCHAR szLangResource[]
Definition: msipriv.h:1196
struct list features
Definition: msipriv.h:393
LPWSTR LastActionTemplate
Definition: msipriv.h:402
MSICONDITION MSI_DatabaseIsTablePersistent(MSIDATABASE *db, LPCWSTR table) DECLSPEC_HIDDEN
Definition: table.c:2239
#define GetProcessHeap()
Definition: compat.h:395
LPWSTR Directory
Definition: msipriv.h:504
LPWSTR Directory
Definition: msipriv.h:478
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
struct list classes
Definition: msipriv.h:409
void * msihandle2msiinfo(MSIHANDLE handle, UINT type) DECLSPEC_HIDDEN
Definition: handle.c:157
static const WCHAR szProductCode[]
Definition: msipriv.h:1127
LPWSTR * script_actions[SCRIPT_MAX]
Definition: msipriv.h:415
LPWSTR ProgIDText
Definition: msipriv.h:633
static const WCHAR szState[]
Definition: msipriv.h:1118
void * alloc_msiobject(UINT type, UINT size, msihandledestructor destroy) DECLSPEC_HIDDEN
Definition: handle.c:202
MSIRECORD * MSI_QueryGetRecord(MSIDATABASE *db, LPCWSTR query,...) DECLSPEC_HIDDEN
Definition: msiquery.c:206
static LPWSTR strdupAtoW(LPCSTR str)
Definition: msipriv.h:1245
BOOL msi_create_full_path(const WCHAR *path) DECLSPEC_HIDDEN
Definition: action.c:700
DWORD options
Definition: msipriv.h:159
Definition: parser.c:43
LPVOID gUIContext
Definition: msi_main.c:48
const MSIVIEWOPS * ops
Definition: msipriv.h:348
LONG HRESULT
Definition: typedefs.h:77
unsigned char need_reboot_now
Definition: msipriv.h:448
IAssemblyCache * cache_sxs
Definition: msipriv.h:407
INSTALLUILEVEL ui_level
Definition: msipriv.h:430
struct tagMSIPATCHINFO MSIPATCHINFO
UINT MSI_GetFeatureCost(MSIPACKAGE *, MSIFEATURE *, MSICOSTTREE, INSTALLSTATE, LPINT) DECLSPEC_HIDDEN
Definition: install.c:1201
UINT msi_string2id(const string_table *st, const WCHAR *data, int len, UINT *id) DECLSPEC_HIDDEN
Definition: string.c:404
struct tagComponentList ComponentList
LPWSTR localfile
Definition: msipriv.h:427
LPWSTR encode_streamname(BOOL bTable, LPCWSTR in) DECLSPEC_HIDDEN
Definition: table.c:128
struct list Components
Definition: msipriv.h:484
static BOOL is_wow64
Definition: loader.c:55
struct list appids
Definition: msipriv.h:413
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:109
static const WCHAR szStorages[]
Definition: msipriv.h:1179
LPWSTR Description
Definition: msipriv.h:634
static const WCHAR szLocalSid[]
Definition: msipriv.h:1104
#define MAX_PATH
Definition: compat.h:26
static const WCHAR szCostingComplete[]
Definition: msipriv.h:1181
int msi_compare_file_versions(VS_FIXEDFILEINFO *, const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:2059
static const WCHAR szSOURCEDIR[]
Definition: msipriv.h:1101
BOOL IsCompressed
Definition: msipriv.h:595
static IDispatch * pInstaller
Definition: automation.c:66
unsigned int UINT
Definition: ndis.h:50
BOOL unicode
Definition: msipriv.h:725
static const WCHAR szVIProgID[]
Definition: msipriv.h:1162
static FILE * out
Definition: regtests2xml.c:44
struct tagMSIVIEWOPS MSIVIEWOPS
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL ActivateAtStorage
Definition: msipriv.h:620
UINT(* close)(struct tagMSIVIEW *view)
Definition: msipriv.h:273
HINSTANCE msi_hInstance
Definition: msi_main.c:51
WCHAR * gszLogFile
Definition: msi_main.c:50
UINT MSI_SetFeatureStates(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:1794
MSIDATABASE * db
Definition: msipriv.h:386
struct tagMSIFIELD MSIFIELD
UINT ACTION_UnregisterClassInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:912
struct tagMSITRANSFORM MSITRANSFORM
LPWSTR ResolvedSource
Definition: msipriv.h:557
UINT MSIREG_DeleteUserProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:530
LPWSTR cabinet
Definition: msipriv.h:171
MSIFILE * msi_get_loaded_file(MSIPACKAGE *package, const WCHAR *file) DECLSPEC_HIDDEN
Definition: action.c:674
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) DECLSPEC_HIDDEN
Definition: action.c:7909
MSIPROGID * ProgID
Definition: msipriv.h:654
static const WCHAR szWindowsFolder[]
Definition: msipriv.h:1150
void msi_dialog_unregister_class(void) DECLSPEC_HIDDEN
Definition: dialog.c:4084
static const WCHAR szHU[]
Definition: msipriv.h:1149
int unique_actions_count
Definition: msipriv.h:418
HWND gUIhwnd
Definition: msi_main.c:42
MSIOBJECTHDR hdr
Definition: msipriv.h:118
LANGID * langids
Definition: msipriv.h:390
static const WCHAR szMsi[]
Definition: msipriv.h:1119
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:170
UINT msi_commit_streams(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: streams.c:625
MSIOBJECTHDR hdr
Definition: msipriv.h:463
UINT MSIREG_OpenUserDataProductPatchesKey(LPCWSTR product, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:806
struct list entry
Definition: msipriv.h:91
LPWSTR Component
Definition: msipriv.h:502
UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1248
struct list entry
Definition: msipriv.h:203
static const WCHAR szSourceDir[]
Definition: msipriv.h:1100
GLenum GLenum GLuint components
Definition: glext.h:9620
struct list entry
Definition: msipriv.h:651
PVOID user
Definition: msipriv.h:1063
HRESULT msi_init_string_table(IStorage *stg) DECLSPEC_HIDDEN
Definition: string.c:464
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature) DECLSPEC_HIDDEN
Definition: action.c:663
LPVOID gUIContextRecord
Definition: msi_main.c:49
int ret
UINT ACTION_MoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:995
UINT MSIREG_OpenUserDataProductKey(LPCWSTR szProduct, MSIINSTALLCONTEXT dwContext, LPCWSTR szUserSid, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:728
MSIRECORD * MSI_CreateRecord(UINT) DECLSPEC_HIDDEN
Definition: record.c:79
static const WCHAR szAppSearch[]
Definition: msipriv.h:1151
UINT MSI_FormatRecordW(MSIPACKAGE *, MSIRECORD *, LPWSTR, LPDWORD) DECLSPEC_HIDDEN
Definition: format.c:839
static const WCHAR szStringPool[]
Definition: msipriv.h:1189
UINT MSI_RecordSetStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:724
void destroy(_Tp *__pointer)
Definition: _construct.h:278
LPWSTR SourceShortPath
Definition: msipriv.h:555
UINT WINAPI MsiCreateAndVerifyInstallerDirectory(DWORD)
Definition: msi.c:3878
UINT ACTION_MsiUnpublishAssemblies(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: assembly.c:716
static const WCHAR szPIDKEY[]
Definition: msipriv.h:1143
BOOL installed
Definition: msipriv.h:495
float center_x
Definition: msipriv.h:433
LPWSTR volume_label
Definition: msipriv.h:172
MSIPROGID * CurVer
Definition: msipriv.h:672
#define VOID
Definition: acefi.h:82
static const WCHAR szLocalPackage[]
Definition: msipriv.h:1168
static const WCHAR szDot[]
Definition: msipriv.h:1113
UINT MSIREG_DeleteProductKey(LPCWSTR szProduct) DECLSPEC_HIDDEN
Definition: registry.c:885
void msi_dialog_check_messages(HANDLE) DECLSPEC_HIDDEN
Definition: dialog.c:3972
LPWSTR Feature_Parent
Definition: msipriv.h:473
GLenum GLsizei len
Definition: glext.h:6722
UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage) DECLSPEC_HIDDEN
Definition: package.c:1441
unsigned char BYTE
Definition: mem.h:68
int MSICONDITION
Definition: msiserver.idl:33
Definition: _list.h:228
static const WCHAR szReinstall[]
Definition: msipriv.h:1123
const struct tagMSICOLUMNHASHENTRY * MSIITERHANDLE
Definition: msipriv.h:219
struct list entry
Definition: msipriv.h:188
LPWSTR patchcode
Definition: msipriv.h:189
GLenum src
Definition: glext.h:6340
UINT msi_package_add_media_disk(MSIPACKAGE *, DWORD, DWORD, DWORD, LPWSTR, LPWSTR) DECLSPEC_HIDDEN
Definition: package.c:2823
enum tagMSIPATCHSTATE MSIPATCHSTATE
UINT msi_add_suminfo(MSIDATABASE *db, LPWSTR **records, int num_records, int num_columns) DECLSPEC_HIDDEN
Definition: suminfo.c:1000
UINT MSI_RecordSetIntPtr(MSIRECORD *, UINT, INT_PTR) DECLSPEC_HIDDEN
Definition: record.c:314
INT iVal
Definition: msipriv.h:131
INSTALLSTATE msi_get_component_action(MSIPACKAGE *package, MSICOMPONENT *comp) DECLSPEC_HIDDEN
Definition: action.c:755
unsigned char scheduled_action_running
Definition: msipriv.h:444
UINT msi_save_string_table(const string_table *st, IStorage *storage, UINT *bytes_per_strref) DECLSPEC_HIDDEN
Definition: string.c:568
#define WINAPI
Definition: msvc.h:20
WCHAR * source
Definition: msipriv.h:204
VS_FIXEDFILEINFO * msi_get_disk_file_version(LPCWSTR) DECLSPEC_HIDDEN
Definition: action.c:2028
_msi_file_state
Definition: msipriv.h:570
BOOL is_wow64 DECLSPEC_HIDDEN
Definition: msipriv.h:42
static const WCHAR szInprocHandler[]
Definition: msipriv.h:1165
LPWSTR disk_prompt
Definition: msipriv.h:162
enum tagMSICOLINFO MSICOLINFO
void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: install.c:858
static const WCHAR szEXECUTEACTION[]
Definition: msipriv.h:1200
UINT MSI_CommitTables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:2204
UINT MSIREG_DeleteLocalClassesFeaturesKey(LPCWSTR szProductCode) DECLSPEC_HIDDEN
Definition: registry.c:988
LPWSTR Title
Definition: msipriv.h:474
UINT MSIREG_DeleteUserUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:960
static const WCHAR szUninstallable[]
Definition: msipriv.h:1199
struct list entry
Definition: msipriv.h:602
IStorage * stg
Definition: msipriv.h:92
UINT MSI_RecordSetIStream(MSIRECORD *, UINT, IStream *) DECLSPEC_HIDDEN
Definition: record.c:889
void msiobj_addref(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:218
MSIAPPID * AppID
Definition: msipriv.h:635
LPWSTR Condition
Definition: msipriv.h:506
MSIDATABASE * db
Definition: msipriv.h:121
const WCHAR * msi_get_target_folder(MSIPACKAGE *package, const WCHAR *name) DECLSPEC_HIDDEN
Definition: install.c:209
static const WCHAR szDatabase[]
Definition: msipriv.h:1183
struct list extensions
Definition: msipriv.h:410
struct list cabinet_streams
Definition: msipriv.h:399
int MSI_RecordGetInteger(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:245
const WCHAR * msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN
Definition: record.c:469
UINT MSIREG_DeleteUserDataComponentKey(LPCWSTR szComponent, LPCWSTR szUserSid) DECLSPEC_HIDDEN
Definition: registry.c:699
static const WCHAR szReinstallMode[]
Definition: msipriv.h:1124
LPWSTR ComponentId
Definition: msipriv.h:503
UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context) DECLSPEC_HIDDEN
Definition: msi.c:55
UINT msi_uninstall_assembly(MSIPACKAGE *, MSICOMPONENT *) DECLSPEC_HIDDEN
Definition: assembly.c:489
struct tagMSIRECORD MSIRECORD
UINT(* set_row)(struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UINT mask)
Definition: msipriv.h:253
INT(CALLBACK * INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR)
Definition: msi.h:420
unsigned int hasLocalFeature
Definition: msipriv.h:522
INSTALLSTATE msi_get_feature_action(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN
Definition: action.c:771
struct tagMSIMEDIAINFO MSIMEDIAINFO
UINT(* sort)(struct tagMSIVIEW *view, column_info *columns)
Definition: msipriv.h:337
LPWSTR application
Definition: msipriv.h:491
UINT msi_set_string_table_codepage(string_table *st, UINT codepage) DECLSPEC_HIDDEN
Definition: string.c:680
struct list subscriptions
Definition: msipriv.h:439
UINT num_langids
Definition: msipriv.h:389
LPWSTR clsid
Definition: msipriv.h:629
UINT ACTION_UnregisterExtensionInfo(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: classes.c:1359
UINT InWhatSequence
Definition: msipriv.h:420
LPWSTR LongName
Definition: msipriv.h:587
MSICOMPONENT * Component
Definition: msipriv.h:584
struct tagMSIFEATURE MSIFEATURE
INT_PTR MSI_RecordGetIntPtr(MSIRECORD *, UINT) DECLSPEC_HIDDEN
Definition: record.c:219
msihandledestructor destructor
Definition: msipriv.h:77
unsigned int hasAdvertisedFeature
Definition: msipriv.h:521
LPWSTR ActionFormat
Definition: msipriv.h:400
int INSTALLSTATE
Definition: msiserver.idl:35
LONG refcount
Definition: msipriv.h:76
MSIFEATURE * Feature
Definition: msipriv.h:657
const WCHAR * action
Definition: action.c:7779
struct expr * val
Definition: msipriv.h:215
HRESULT create_msi_remote_database(IUnknown *pOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
Definition: database.c:2119
int script_actions_count[SCRIPT_MAX]
Definition: msipriv.h:416
static const WCHAR szTempFolder[]
Definition: msipriv.h:1182
UINT MSI_GetComponentStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1480
MSIFOLDER * msi_get_loaded_folder(MSIPACKAGE *package, const WCHAR *dir) DECLSPEC_HIDDEN
Definition: action.c:685
static const WCHAR szOriginalDatabase[]
Definition: msipriv.h:1169
#define lstrcpyW
Definition: compat.h:406
GLuint in
Definition: glext.h:9616
const WCHAR * error_column
Definition: msipriv.h:350
struct tagMSIQUERY MSIQUERY
struct tagMSIFILE MSIFILE
IStream * stream
Definition: msipriv.h:134
UINT MSI_SetInstallLevel(MSIPACKAGE *package, int iInstallLevel) DECLSPEC_HIDDEN
Definition: install.c:1644
UINT str_index
Definition: msipriv.h:85
static const WCHAR szAdminUser[]
Definition: msipriv.h:1171
LPWSTR ShortName
Definition: msipriv.h:586
IUnknown * msi_get_remote(MSIHANDLE handle) DECLSPEC_HIDDEN
Definition: handle.c:182
UINT ACTION_AppSearch(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: appsearch.c:1126
UINT MSIREG_OpenUserDataPatchKey(LPCWSTR szPatch, MSIINSTALLCONTEXT dwContext, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:754
UINT(* remove_column)(struct tagMSIVIEW *view, LPCWSTR table, UINT number)
Definition: msipriv.h:332
WCHAR * msi_dup_record_field(MSIRECORD *row, INT index) DECLSPEC_HIDDEN
Definition: record.c:1055
MSIOBJECTHDR hdr
Definition: msipriv.h:347
BOOL decode_streamname(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: table.c:187
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:2072
LPWSTR deletefile
Definition: msipriv.h:102
#define HeapReAlloc
Definition: compat.h:393
static const WCHAR szProperty[]
Definition: msipriv.h:1198
void msiobj_unlock(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:237
Definition: services.c:325
MSIFIELD fields[1]
Definition: msipriv.h:143
DWORD gUIFilterRecord
Definition: msi_main.c:47
struct tagMSISTREAM MSISTREAM
static const WCHAR szOne[]
Definition: msipriv.h:1108
LPWSTR curfile
Definition: msipriv.h:1062
BOOL unicode
Definition: msipriv.h:717
LPWSTR ProgID
Definition: msipriv.h:666
MSIPROGID * ProgID
Definition: msipriv.h:632
UINT MSI_SetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE) DECLSPEC_HIDDEN
Definition: install.c:940
enum tagMSIMODIFY MSIMODIFY
UINT ACTION_RegisterFonts(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: font.c:290
UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: record.c:625
UINT(* record_func)(MSIRECORD *, LPVOID)
Definition: msipriv.h:847
MSIPACKAGE * package
Definition: msipriv.h:455
UINT(* fetch_int)(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
Definition: msipriv.h:232
static const WCHAR szStreams[]
Definition: msipriv.h:1178
BOOL temporary
Definition: msipriv.h:214
static const WCHAR szBackSlash[]
Definition: msipriv.h:1111
UINT msi_view_get_row(MSIDATABASE *, MSIVIEW *, UINT, MSIRECORD **) DECLSPEC_HIDDEN
Definition: msiquery.c:287
static const WCHAR szRegisterMIMEInfo[]
Definition: msipriv.h:1131
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: package.c:2149
DWORD * PDWORD
Definition: pedump.c:68
UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN
Definition: package.c:1143
BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:112
struct tagFolderList FolderList
#define MultiByteToWideChar
Definition: compat.h:100
LPWSTR localfile
Definition: msipriv.h:193
UINT MSI_Sequence(MSIPACKAGE *package, LPCWSTR szTable) DECLSPEC_HIDDEN
Definition: action.c:539
struct list entry
Definition: msipriv.h:157
static const WCHAR szStringData[]
Definition: msipriv.h:1188
UINT Context
Definition: msipriv.h:437
UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: package.c:1419
DWORD update_count
Definition: msipriv.h:465
UINT MSI_RecordReadStream(MSIRECORD *, UINT, char *, LPDWORD) DECLSPEC_HIDDEN
Definition: record.c:814
UINT MSIREG_OpenUserPatchesKey(LPCWSTR szPatch, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:542
UINT ACTION_RemoveFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:1341
static const WCHAR szCRoot[]
Definition: msipriv.h:1184
INSTALLSTATE Installed
Definition: msipriv.h:508
static const WCHAR szCCPSearch[]
Definition: msipriv.h:1153
UINT media_transform_disk_id
Definition: msipriv.h:106
UINT(* fetch_stream)(struct tagMSIVIEW *view, UINT row, UINT col, IStream **stm)
Definition: msipriv.h:240
WCHAR * msi_normalize_path(const WCHAR *) DECLSPEC_HIDDEN
Definition: action.c:2273
UINT MSIREG_OpenUpgradeCodesKey(LPCWSTR szProduct, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:915
PMSICABEXTRACTCB cb
Definition: msipriv.h:1061
BOOL delete_on_close
Definition: msipriv.h:196
WCHAR * msi_build_directory_name(DWORD,...) DECLSPEC_HIDDEN
Definition: action.c:2164
Definition: mem.c:156
CONST void * LPCVOID
Definition: windef.h:191
static BOOL msi_free(void *mem)
Definition: msipriv.h:1227
UINT(* get_row)(struct tagMSIVIEW *view, UINT row, MSIRECORD **rec)
Definition: msipriv.h:246
LPWSTR FullKeypath
Definition: msipriv.h:515
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
Definition: msipriv.h:288
LPWSTR ServiceParameters
Definition: msipriv.h:618
LPWSTR BaseURL
Definition: msipriv.h:424
LPCWSTR table
Definition: msipriv.h:211
Definition: name.c:36
static const WCHAR szName[]
Definition: msipriv.h:1194
LPWSTR FileName
Definition: msipriv.h:585
UINT(* modify)(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row)
Definition: msipriv.h:294
static const WCHAR szProductID[]
Definition: msipriv.h:1141
UINT last_sequence
Definition: msipriv.h:169
UINT(* release)(struct tagMSIVIEW *view)
Definition: msipriv.h:322
UINT msi_export_suminfo(MSIDATABASE *db, HANDLE handle) DECLSPEC_HIDDEN
Definition: suminfo.c:1120
UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
Definition: custom.c:94
uint32_t * LPDWORD
Definition: typedefs.h:57
static const WCHAR szRemove[]
Definition: msipriv.h:1125
static const WCHAR szTargetDir[]
Definition: msipriv.h:1103
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1204
UINT num_streams
Definition: msipriv.h:110
#define const
Definition: zconf.h:230
INT msi_suminfo_get_int32(MSISUMMARYINFO *si, UINT uiProperty) DECLSPEC_HIDDEN
Definition: suminfo.c:693
static IOleDocumentView * view
Definition: activex.c:1749
INT Sequence
Definition: msipriv.h:592
UINT(* drop)(struct tagMSIVIEW *view)
Definition: msipriv.h:342
UINT ACTION_InstallFiles(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: files.c:354
LPWSTR tempdir
Definition: msipriv.h:494
UINT MSIREG_DeleteUserDataProductKey(LPCWSTR, MSIINSTALLCONTEXT) DECLSPEC_HIDDEN
Definition: registry.c:856
UINT MSIREG_OpenFeaturesKey(LPCWSTR szProduct, LPCWSTR szUserSid, MSIINSTALLCONTEXT context, HKEY *key, BOOL create) DECLSPEC_HIDDEN
Definition: registry.c:556
UINT msi_get_filehash(const WCHAR *, MSIFILEHASHINFO *) DECLSPEC_HIDDEN
Definition: msi.c:4090
static const WCHAR szUnregisterMIMEInfo[]
Definition: msipriv.h:1156
LPWSTR DefInprocHandler32
Definition: msipriv.h:639
void msi_event_fire(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN
Definition: dialog.c:4421
static char * dest
Definition: rtl.c:135
UINT action_progress_increment
Definition: msipriv.h:404
LPWSTR Verb
Definition: msipriv.h:679
UINT MSIREG_DeleteUninstallKey(const WCHAR *, enum platform) DECLSPEC_HIDDEN
static void * msi_realloc_zero(void *mem, size_t len) __WINE_ALLOC_SIZE(2)
Definition: msipriv.h:1222
INT(CALLBACK * INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR)
Definition: msi.h:421
IStorage * storage
Definition: msipriv.h:98
BOOL unsquash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:192
struct tagMSIFILEPATCH MSIFILEPATCH
GLenum GLenum GLvoid GLvoid * column
Definition: glext.h:5664
INT FileSize
Definition: msipriv.h:588
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:652
static const WCHAR szDefaultIcon[]
Definition: msipriv.h:1164
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
#define MSI_MAX_PROPS
Definition: msipriv.h:459
UINT msi_set_context(MSIPACKAGE *) DECLSPEC_HIDDEN
Definition: action.c:483
INT Attributes
Definition: msipriv.h:591
GLfloat GLfloat p
Definition: glext.h:8902
struct tagMSIFOLDER MSIFOLDER
WCHAR * LPWSTR
Definition: xmlstorage.h:184
MSICOMPONENT * component
Definition: msipriv.h:529
LONG msi_reg_set_val_multi_str(HKEY hkey, LPCWSTR name, LPCWSTR value) DECLSPEC_HIDDEN
Definition: registry.c:368
UINT msi_load_all_features(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:1108
UINT MSIREG_DeleteClassesUpgradeCodesKey(LPCWSTR szUpgradeCode) DECLSPEC_HIDDEN
Definition: registry.c:1019
INT MSI_ProcessMessageVerbatim(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *) DECLSPEC_HIDDEN
Definition: package.c:1880
static const WCHAR szProductVersion[]
Definition: msipriv.h:1186
static const WCHAR szDotDot[]
Definition: msipriv.h:1114
UINT type
Definition: msipriv.h:128
static const WCHAR szInprocHandler32[]
Definition: msipriv.h:1166
#define UINT
Definition: msvc.h:27
LPWSTR manifest
Definition: msipriv.h:490
UINT MSI_IterateRecords(MSIQUERY *, LPDWORD, record_func, LPVOID) DECLSPEC_HIDDEN
Definition: msiquery.c:168
INSTALLSTATE ActionRequest
Definition: msipriv.h:481
struct list filepatches
Definition: msipriv.h:395
struct tagMSIDATABASE MSIDATABASE
MSIMIME * Mime
Definition: msipriv.h:656
UINT msi_parse_command_line(MSIPACKAGE *package, LPCWSTR szCommandLine, BOOL preserve_case) DECLSPEC_HIDDEN
Definition: action.c:328
UINT MSI_OpenDatabaseW(LPCWSTR, LPCWSTR, MSIDATABASE **) DECLSPEC_HIDDEN
Definition: database.c:149
static const WCHAR szPatch[]
Definition: msipriv.h:1120
BOOL delete_on_close
Definition: msipriv.h:428
static const struct access_res create[16]
Definition: package.c:7720
LPWSTR SourceLongPath
Definition: msipriv.h:554
LPWSTR Argument
Definition: msipriv.h:640
struct tagMSIASSEMBLY MSIASSEMBLY
UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:5407
LPWSTR TargetPath
Definition: msipriv.h:594
LPWSTR Description
Definition: msipriv.h:669
LPWSTR volume_label
Definition: msipriv.h:161
static TfClientId tid
static const WCHAR szInstalled[]
Definition: msipriv.h:1122
unsigned char need_rollback
Definition: msipriv.h:449
static const WCHAR szMIMEDatabase[]
Definition: msipriv.h:1167
void msi_free_handle_table(void) DECLSPEC_HIDDEN
Definition: handle.c:69
LPWSTR IconPath
Definition: msipriv.h:670
LANGID WINAPI MsiLoadStringA(MSIHANDLE, UINT, LPSTR, int, LANGID)
Definition: msi.c:2433
MSIOBJECTHDR hdr
Definition: msipriv.h:97
#define HeapFree(x, y, z)
Definition: compat.h:394
struct tagMSIAPPID MSIAPPID
INSTALLSTATE Installed
Definition: msipriv.h:480
UINT MSIREG_DeleteUpgradeCodesKey(const WCHAR *) DECLSPEC_HIDDEN
Definition: registry.c:944
int msiobj_release(MSIOBJECTHDR *) DECLSPEC_HIDDEN
Definition: handle.c:242
static const WCHAR szUILevel[]
Definition: msipriv.h:1140
BOOL squash_guid(LPCWSTR in, LPWSTR out) DECLSPEC_HIDDEN
Definition: registry.c:225
void release_typelib(void) DECLSPEC_HIDDEN
Definition: apps.c:155
static const WCHAR szTable[]
Definition: table.c:78
UINT media_transform_offset
Definition: msipriv.h:105
LPWSTR ContentType
Definition: msipriv.h:688
INSTALLSTATE action
Definition: msipriv.h:644
UINT msi_load_suminfo_properties(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: suminfo.c:1190
static const WCHAR szCustomActionData[]
Definition: msipriv.h:1139
MSIDBERROR error
Definition: msipriv.h:349
UINT msi_get_string_table_codepage(const string_table *st) DECLSPEC_HIDDEN
Definition: string.c:675
struct list transforms
Definition: msipriv.h:108
UINT MSI_GetFeatureStateW(MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *) DECLSPEC_HIDDEN
Definition: install.c:1100
struct list patches
Definition: msipriv.h:391
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec) DECLSPEC_HIDDEN
Definition: record.c:111
folder_state
Definition: msipriv.h:538
static const WCHAR szARM[]
Definition: msipriv.h:1176
WCHAR * msi_resolve_file_source(MSIPACKAGE *package, MSIFILE *file) DECLSPEC_HIDDEN
Definition: files.c:326
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:76
static const WCHAR szRegisterProgIdInfo[]
Definition: msipriv.h:1129
struct list entry
Definition: msipriv.h:628
Definition: path.c:42
DWORD deformat_string(MSIPACKAGE *package, LPCWSTR ptr, WCHAR **data) DECLSPEC_HIDDEN
BOOL encode_base85_guid(GUID *, LPWSTR) DECLSPEC_HIDDEN
Definition: registry.c:316
UINT MSI_DatabaseApplyTransformW(MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond) DECLSPEC_HIDDEN
Definition: msiquery.c:716
MSIPACKAGE * MSI_CreatePackage(MSIDATABASE *, LPCWSTR) DECLSPEC_HIDDEN
Definition: package.c:1057
UINT(* add_ref)(struct tagMSIVIEW *view)
Definition: msipriv.h:317
int * LPINT
Definition: windef.h:178
UINT(* insert_row)(struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary)
Definition: msipriv.h:258
UINT msi_load_all_components(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: action.c:952
static const WCHAR szInstallLevel[]
Definition: msipriv.h:1190
Definition: fci.c:126
unsigned char need_reboot_at_end
Definition: msipriv.h:447
LPWSTR msi_dup_property(MSIDATABASE *db, LPCWSTR prop) DECLSPEC_HIDDEN
Definition: package.c:2370
UINT MSI_DatabaseOpenViewW(MSIDATABASE *, LPCWSTR, MSIQUERY **) DECLSPEC_HIDDEN
Definition: msiquery.c:111
DWORD gUIFilter
Definition: msi_main.c:46
MSIFOLDER * folder
Definition: msipriv.h:567
GLuint const GLchar * name
Definition: glext.h:6031