ReactOS 0.4.16-dev-597-gdbf7844
msiquery.h File Reference
#include <msi.h>
Include dependency graph for msiquery.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MSI_NULL_INTEGER   0x80000000
 
#define MSIDBOPEN_READONLY   (LPCTSTR)0
 
#define MSIDBOPEN_TRANSACT   (LPCTSTR)1
 
#define MSIDBOPEN_DIRECT   (LPCTSTR)2
 
#define MSIDBOPEN_CREATE   (LPCTSTR)3
 
#define MSIDBOPEN_CREATEDIRECT   (LPCTSTR)4
 
#define MSIDBOPEN_PATCHFILE   32 / sizeof(*MSIDBOPEN_READONLY)
 
#define MsiDatabaseOpenView   WINELIB_NAME_AW(MsiDatabaseOpenView)
 
#define MsiViewGetError   WINELIB_NAME_AW(MsiViewGetError)
 
#define MsiRecordSetString   WINELIB_NAME_AW(MsiRecordSetString)
 
#define MsiRecordGetString   WINELIB_NAME_AW(MsiRecordGetString)
 
#define MsiFormatRecord   WINELIB_NAME_AW(MsiFormatRecord)
 
#define MsiRecordSetStream   WINELIB_NAME_AW(MsiRecordSetStream)
 
#define MsiDatabaseGetPrimaryKeys   WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
 
#define MsiDoAction   WINELIB_NAME_AW(MsiDoAction)
 
#define MsiDatabaseApplyTransform   WINELIB_NAME_AW(MsiDatabaseApplyTransform)
 
#define MsiDatabaseGenerateTransform   WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
 
#define MsiGetFeatureState   WINELIB_NAME_AW(MsiGetFeatureState)
 
#define MsiGetFeatureValidStates   WINELIB_NAME_AW(MsiGetFeatureValidStates)
 
#define MsiSetComponentState   WINELIB_NAME_AW(MsiSetComponentState)
 
#define MsiGetComponentState   WINELIB_NAME_AW(MsiGetComponentState)
 
#define MsiEvaluateCondition   WINELIB_NAME_AW(MsiEvaluateCondition)
 
#define MsiGetProperty   WINELIB_NAME_AW(MsiGetProperty)
 
#define MsiSetProperty   WINELIB_NAME_AW(MsiSetProperty)
 
#define MsiGetTargetPath   WINELIB_NAME_AW(MsiGetTargetPath)
 
#define MsiSetTargetPath   WINELIB_NAME_AW(MsiSetTargetPath)
 
#define MsiGetSourcePath   WINELIB_NAME_AW(MsiGetSourcePath)
 
#define MsiSetFeatureAttributes   WINELIB_NAME_AW(MsiSetFeatureAttributes)
 
#define MsiSetFeatureState   WINELIB_NAME_AW(MsiSetFeatureState)
 
#define MsiPreviewDialog   WINELIB_NAME_AW(MsiPreviewDialog)
 
#define MsiPreviewBillboard   WINELIB_NAME_AW(MsiPreviewBillboard)
 
#define MsiCreateTransformSummaryInfo   WINELIB_NAME_AW(MsiCreateTransformSummaryInfo)
 
#define MsiGetSummaryInformation   WINELIB_NAME_AW(MsiGetSummaryInformation)
 
#define MsiSummaryInfoGetProperty   WINELIB_NAME_AW(MsiSummaryInfoGetProperty)
 
#define MsiSummaryInfoSetProperty   WINELIB_NAME_AW(MsiSummaryInfoSetProperty)
 
#define MsiDatabaseExport   WINELIB_NAME_AW(MsiDatabaseExport)
 
#define MsiDatabaseImport   WINELIB_NAME_AW(MsiDatabaseImport)
 
#define MsiOpenDatabase   WINELIB_NAME_AW(MsiOpenDatabase)
 
#define MsiDatabaseIsTablePersistent   WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)
 
#define MsiSequence   WINELIB_NAME_AW(MsiSequence)
 
#define MsiGetFeatureCost   WINELIB_NAME_AW(MsiGetFeatureCost)
 

Typedefs

typedef enum tagMSICONDITION MSICONDITION
 
typedef enum tagMSICOLINFO MSICOLINFO
 
typedef enum tagMSICOSTTREE MSICOSTTREE
 
typedef enum tagMSIMODIFY MSIMODIFY
 
typedef enum tagMSIRUNMODE MSIRUNMODE
 
typedef enum tagMSIDBERROR MSIDBERROR
 
typedef enum tagMSIDBSTATE MSIDBSTATE
 
typedef enum tagMSITRANSFORM_ERROR MSITRANSFORM_ERROR
 
typedef enum tagMSITRANSFORM_VALIDATE MSITRANSFORM_VALIDATE
 

Enumerations

enum  tagMSICONDITION { MSICONDITION_FALSE = 0 , MSICONDITION_TRUE = 1 , MSICONDITION_NONE = 2 , MSICONDITION_ERROR = 3 }
 
enum  tagMSICOLINFO { MSICOLINFO_NAMES = 0 , MSICOLINFO_TYPES = 1 }
 
enum  tagMSICOSTTREE { MSICOSTTREE_SELFONLY = 0 , MSICOSTTREE_CHILDREN = 1 , MSICOSTTREE_PARENTS = 2 , MSICOSTTREE_PRODUCT = 3 }
 
enum  tagMSIMODIFY {
  MSIMODIFY_SEEK = -1 , MSIMODIFY_REFRESH = 0 , MSIMODIFY_INSERT = 1 , MSIMODIFY_UPDATE = 2 ,
  MSIMODIFY_ASSIGN = 3 , MSIMODIFY_REPLACE = 4 , MSIMODIFY_MERGE = 5 , MSIMODIFY_DELETE = 6 ,
  MSIMODIFY_INSERT_TEMPORARY = 7 , MSIMODIFY_VALIDATE = 8 , MSIMODIFY_VALIDATE_NEW = 9 , MSIMODIFY_VALIDATE_FIELD = 10 ,
  MSIMODIFY_VALIDATE_DELETE = 11
}
 
enum  tagMSIRUNMODE {
  MSIRUNMODE_ADMIN = 0 , MSIRUNMODE_ADVERTISE = 1 , MSIRUNMODE_MAINTENANCE = 2 , MSIRUNMODE_ROLLBACKENABLED = 3 ,
  MSIRUNMODE_LOGENABLED = 4 , MSIRUNMODE_OPERATIONS = 5 , MSIRUNMODE_REBOOTATEND = 6 , MSIRUNMODE_REBOOTNOW = 7 ,
  MSIRUNMODE_CABINET = 8 , MSIRUNMODE_SOURCESHORTNAMES = 9 , MSIRUNMODE_TARGETSHORTNAMES = 10 , MSIRUNMODE_RESERVED11 = 11 ,
  MSIRUNMODE_WINDOWS9X = 12 , MSIRUNMODE_ZAWENABLED = 13 , MSIRUNMODE_RESERVED14 = 14 , MSIRUNMODE_RESERVED15 = 15 ,
  MSIRUNMODE_SCHEDULED = 16 , MSIRUNMODE_ROLLBACK = 17 , MSIRUNMODE_COMMIT = 18
}
 
enum  tagMSIDBERROR {
  MSIDBERROR_INVALIDARG = -3 , MSIDBERROR_MOREDATA = -2 , MSIDBERROR_FUNCTIONERROR = -1 , MSIDBERROR_NOERROR = 0 ,
  MSIDBERROR_DUPLICATEKEY = 1 , MSIDBERROR_REQUIRED = 2 , MSIDBERROR_BADLINK = 3 , MSIDBERROR_OVERFLOW = 4 ,
  MSIDBERROR_UNDERFLOW = 5 , MSIDBERROR_NOTINSET = 6 , MSIDBERROR_BADVERSION = 7 , MSIDBERROR_BADCASE = 8 ,
  MSIDBERROR_BADGUID = 9 , MSIDBERROR_BADWILDCARD = 10 , MSIDBERROR_BADIDENTIFIER = 11 , MSIDBERROR_BADLANGUAGE = 12 ,
  MSIDBERROR_BADFILENAME = 13 , MSIDBERROR_BADPATH = 14 , MSIDBERROR_BADCONDITION = 15 , MSIDBERROR_BADFORMATTED = 16 ,
  MSIDBERROR_BADTEMPLATE = 17 , MSIDBERROR_BADDEFAULTDIR = 18 , MSIDBERROR_BADREGPATH = 19 , MSIDBERROR_BADCUSTOMSOURCE = 20 ,
  MSIDBERROR_BADPROPERTY = 21 , MSIDBERROR_MISSINGDATA = 22 , MSIDBERROR_BADCATEGORY = 23 , MSIDBERROR_BADKEYTABLE = 24 ,
  MSIDBERROR_BADMAXMINVALUES = 25 , MSIDBERROR_BADCABINET = 26 , MSIDBERROR_BADSHORTCUT = 27 , MSIDBERROR_STRINGOVERFLOW = 28 ,
  MSIDBERROR_BADLOCALIZEATTRIB = 29
}
 
enum  tagMSIDBSTATE { MSIDBSTATE_ERROR = -1 , MSIDBSTATE_READ = 0 , MSIDBSTATE_WRITE = 1 }
 
enum  tagMSITRANSFORM_ERROR {
  MSITRANSFORM_ERROR_ADDEXISTINGROW = 0x00000001 , MSITRANSFORM_ERROR_DELMISSINGROW = 0x00000002 , MSITRANSFORM_ERROR_ADDEXISTINGTABLE = 0x00000004 , MSITRANSFORM_ERROR_DELMISSINGTABLE = 0x00000008 ,
  MSITRANSFORM_ERROR_UPDATEMISSINGROW = 0x00000010 , MSITRANSFORM_ERROR_CHANGECODEPAGE = 0x00000020 , MSITRANSFORM_ERROR_VIEWTRANSFORM = 0x00000100
}
 
enum  tagMSITRANSFORM_VALIDATE {
  MSITRANSFORM_VALIDATE_LANGUAGE = 0x00000001 , MSITRANSFORM_VALIDATE_PRODUCT = 0x00000002 , MSITRANSFORM_VALIDATE_PLATFORM = 0x00000004 , MSITRANSFORM_VALIDATE_MAJORVERSION = 0x00000008 ,
  MSITRANSFORM_VALIDATE_MINORVERSION = 0x00000010 , MSITRANSFORM_VALIDATE_UPDATEVERSION = 0x00000020 , MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION = 0x00000040 , MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION = 0x00000080 ,
  MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION = 0x00000100 , MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION = 0x00000200 , MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION = 0x00000400 , MSITRANSFORM_VALIDATE_UPGRADECODE = 0x00000800
}
 

Functions

UINT WINAPI MsiViewFetch (MSIHANDLE, MSIHANDLE *)
 
UINT WINAPI MsiViewExecute (MSIHANDLE, MSIHANDLE)
 
UINT WINAPI MsiViewClose (MSIHANDLE)
 
UINT WINAPI MsiDatabaseOpenViewA (MSIHANDLE, LPCSTR, MSIHANDLE *)
 
UINT WINAPI MsiDatabaseOpenViewW (MSIHANDLE, LPCWSTR, MSIHANDLE *)
 
MSIDBERROR WINAPI MsiViewGetErrorA (MSIHANDLE, LPSTR, LPDWORD)
 
MSIDBERROR WINAPI MsiViewGetErrorW (MSIHANDLE, LPWSTR, LPDWORD)
 
MSIDBSTATE WINAPI MsiGetDatabaseState (MSIHANDLE)
 
MSIHANDLE WINAPI MsiCreateRecord (UINT)
 
UINT WINAPI MsiRecordClearData (MSIHANDLE)
 
UINT WINAPI MsiRecordSetInteger (MSIHANDLE, UINT, int)
 
UINT WINAPI MsiRecordSetStringA (MSIHANDLE, UINT, LPCSTR)
 
UINT WINAPI MsiRecordSetStringW (MSIHANDLE, UINT, LPCWSTR)
 
UINT WINAPI MsiRecordGetStringA (MSIHANDLE, UINT, LPSTR, LPDWORD)
 
UINT WINAPI MsiRecordGetStringW (MSIHANDLE, UINT, LPWSTR, LPDWORD)
 
UINT WINAPI MsiRecordGetFieldCount (MSIHANDLE)
 
int WINAPI MsiRecordGetInteger (MSIHANDLE, UINT)
 
UINT WINAPI MsiRecordDataSize (MSIHANDLE, UINT)
 
BOOL WINAPI MsiRecordIsNull (MSIHANDLE, UINT)
 
UINT WINAPI MsiFormatRecordA (MSIHANDLE, MSIHANDLE, LPSTR, LPDWORD)
 
UINT WINAPI MsiFormatRecordW (MSIHANDLE, MSIHANDLE, LPWSTR, LPDWORD)
 
UINT WINAPI MsiRecordSetStreamA (MSIHANDLE, UINT, LPCSTR)
 
UINT WINAPI MsiRecordSetStreamW (MSIHANDLE, UINT, LPCWSTR)
 
UINT WINAPI MsiRecordReadStream (MSIHANDLE, UINT, char *, LPDWORD)
 
UINT WINAPI MsiDatabaseGetPrimaryKeysA (MSIHANDLE, LPCSTR, MSIHANDLE *)
 
UINT WINAPI MsiDatabaseGetPrimaryKeysW (MSIHANDLE, LPCWSTR, MSIHANDLE *)
 
UINT WINAPI MsiDoActionA (MSIHANDLE, LPCSTR)
 
UINT WINAPI MsiDoActionW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiDatabaseApplyTransformA (MSIHANDLE, LPCSTR, int)
 
UINT WINAPI MsiDatabaseApplyTransformW (MSIHANDLE, LPCWSTR, int)
 
UINT WINAPI MsiDatabaseGenerateTransformA (MSIHANDLE, MSIHANDLE, LPCSTR, int, int)
 
UINT WINAPI MsiDatabaseGenerateTransformW (MSIHANDLE, MSIHANDLE, LPCWSTR, int, int)
 
UINT WINAPI MsiDatabaseCommit (MSIHANDLE)
 
UINT WINAPI MsiGetFeatureStateA (MSIHANDLE, LPCSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetFeatureStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetFeatureValidStatesA (MSIHANDLE, LPCSTR, LPDWORD)
 
UINT WINAPI MsiGetFeatureValidStatesW (MSIHANDLE, LPCWSTR, LPDWORD)
 
UINT WINAPI MsiSetComponentStateA (MSIHANDLE, LPCSTR, INSTALLSTATE)
 
UINT WINAPI MsiSetComponentStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE)
 
UINT WINAPI MsiGetComponentStateA (MSIHANDLE, LPCSTR, INSTALLSTATE *, INSTALLSTATE *)
 
UINT WINAPI MsiGetComponentStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE *, INSTALLSTATE *)
 
MSICONDITION WINAPI MsiEvaluateConditionA (MSIHANDLE, LPCSTR)
 
MSICONDITION WINAPI MsiEvaluateConditionW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiGetPropertyA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetPropertyW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSetPropertyA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiSetPropertyW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiGetTargetPathA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetTargetPathW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSetTargetPathA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiSetTargetPathW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiGetSourcePathA (MSIHANDLE, LPCSTR, LPSTR, LPDWORD)
 
UINT WINAPI MsiGetSourcePathW (MSIHANDLE, LPCWSTR, LPWSTR, LPDWORD)
 
MSIHANDLE WINAPI MsiGetActiveDatabase (MSIHANDLE)
 
UINT WINAPI MsiViewGetColumnInfo (MSIHANDLE, MSICOLINFO, MSIHANDLE *)
 
INT WINAPI MsiProcessMessage (MSIHANDLE, INSTALLMESSAGE, MSIHANDLE)
 
UINT WINAPI MsiSetFeatureAttributesA (MSIHANDLE, LPCSTR, DWORD)
 
UINT WINAPI MsiSetFeatureAttributesW (MSIHANDLE, LPCWSTR, DWORD)
 
UINT WINAPI MsiSetFeatureStateA (MSIHANDLE, LPCSTR, INSTALLSTATE)
 
UINT WINAPI MsiSetFeatureStateW (MSIHANDLE, LPCWSTR, INSTALLSTATE)
 
UINT WINAPI MsiPreviewDialogA (MSIHANDLE, LPCSTR)
 
UINT WINAPI MsiPreviewDialogW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiPreviewBillboardA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiPreviewBillboardW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiCreateTransformSummaryInfoA (MSIHANDLE, MSIHANDLE, LPCSTR, int, int)
 
UINT WINAPI MsiCreateTransformSummaryInfoW (MSIHANDLE, MSIHANDLE, LPCWSTR, int, int)
 
UINT WINAPI MsiGetSummaryInformationA (MSIHANDLE, LPCSTR, UINT, MSIHANDLE *)
 
UINT WINAPI MsiGetSummaryInformationW (MSIHANDLE, LPCWSTR, UINT, MSIHANDLE *)
 
UINT WINAPI MsiSummaryInfoGetPropertyA (MSIHANDLE, UINT, PUINT, LPINT, FILETIME *, LPSTR, LPDWORD)
 
UINT WINAPI MsiSummaryInfoGetPropertyW (MSIHANDLE, UINT, PUINT, LPINT, FILETIME *, LPWSTR, LPDWORD)
 
UINT WINAPI MsiSummaryInfoSetPropertyA (MSIHANDLE, UINT, UINT, INT, FILETIME *, LPCSTR)
 
UINT WINAPI MsiSummaryInfoSetPropertyW (MSIHANDLE, UINT, UINT, INT, FILETIME *, LPCWSTR)
 
UINT WINAPI MsiDatabaseExportA (MSIHANDLE, LPCSTR, LPCSTR, LPCSTR)
 
UINT WINAPI MsiDatabaseExportW (MSIHANDLE, LPCWSTR, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiDatabaseImportA (MSIHANDLE, LPCSTR, LPCSTR)
 
UINT WINAPI MsiDatabaseImportW (MSIHANDLE, LPCWSTR, LPCWSTR)
 
UINT WINAPI MsiOpenDatabaseW (LPCWSTR, LPCWSTR, MSIHANDLE *)
 
UINT WINAPI MsiOpenDatabaseA (LPCSTR, LPCSTR, MSIHANDLE *)
 
MSICONDITION WINAPI MsiDatabaseIsTablePersistentA (MSIHANDLE, LPCSTR)
 
MSICONDITION WINAPI MsiDatabaseIsTablePersistentW (MSIHANDLE, LPCWSTR)
 
UINT WINAPI MsiSequenceA (MSIHANDLE, LPCSTR, INT)
 
UINT WINAPI MsiSequenceW (MSIHANDLE, LPCWSTR, INT)
 
UINT WINAPI MsiSummaryInfoPersist (MSIHANDLE)
 
UINT WINAPI MsiSummaryInfoGetPropertyCount (MSIHANDLE, PUINT)
 
UINT WINAPI MsiEnableUIPreview (MSIHANDLE, MSIHANDLE *)
 
BOOL WINAPI MsiGetMode (MSIHANDLE, MSIRUNMODE)
 
UINT WINAPI MsiSetMode (MSIHANDLE, MSIRUNMODE, BOOL)
 
UINT WINAPI MsiViewModify (MSIHANDLE, MSIMODIFY, MSIHANDLE)
 
UINT WINAPI MsiGetFeatureCostA (MSIHANDLE, LPCSTR, MSICOSTTREE, INSTALLSTATE, LPINT)
 
UINT WINAPI MsiGetFeatureCostW (MSIHANDLE, LPCWSTR, MSICOSTTREE, INSTALLSTATE, LPINT)
 
LANGID WINAPI MsiGetLanguage (MSIHANDLE)
 
UINT WINAPI MsiSetInstallLevel (MSIHANDLE, int)
 
MSIHANDLE WINAPI MsiGetLastErrorRecord (void)
 

Macro Definition Documentation

◆ MSI_NULL_INTEGER

#define MSI_NULL_INTEGER   0x80000000

Definition at line 32 of file msiquery.h.

◆ MsiCreateTransformSummaryInfo

#define MsiCreateTransformSummaryInfo   WINELIB_NAME_AW(MsiCreateTransformSummaryInfo)

Definition at line 295 of file msiquery.h.

◆ MsiDatabaseApplyTransform

#define MsiDatabaseApplyTransform   WINELIB_NAME_AW(MsiDatabaseApplyTransform)

Definition at line 226 of file msiquery.h.

◆ MsiDatabaseExport

#define MsiDatabaseExport   WINELIB_NAME_AW(MsiDatabaseExport)

Definition at line 311 of file msiquery.h.

◆ MsiDatabaseGenerateTransform

#define MsiDatabaseGenerateTransform   WINELIB_NAME_AW(MsiDatabaseGenerateTransform)

Definition at line 229 of file msiquery.h.

◆ MsiDatabaseGetPrimaryKeys

#define MsiDatabaseGetPrimaryKeys   WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)

Definition at line 216 of file msiquery.h.

◆ MsiDatabaseImport

#define MsiDatabaseImport   WINELIB_NAME_AW(MsiDatabaseImport)

Definition at line 315 of file msiquery.h.

◆ MsiDatabaseIsTablePersistent

#define MsiDatabaseIsTablePersistent   WINELIB_NAME_AW(MsiDatabaseIsTablePersistent)

Definition at line 323 of file msiquery.h.

◆ MsiDatabaseOpenView

#define MsiDatabaseOpenView   WINELIB_NAME_AW(MsiDatabaseOpenView)

Definition at line 185 of file msiquery.h.

◆ MSIDBOPEN_CREATE

#define MSIDBOPEN_CREATE   (LPCTSTR)3

Definition at line 69 of file msiquery.h.

◆ MSIDBOPEN_CREATEDIRECT

#define MSIDBOPEN_CREATEDIRECT   (LPCTSTR)4

Definition at line 70 of file msiquery.h.

◆ MSIDBOPEN_DIRECT

#define MSIDBOPEN_DIRECT   (LPCTSTR)2

Definition at line 68 of file msiquery.h.

◆ MSIDBOPEN_PATCHFILE

#define MSIDBOPEN_PATCHFILE   32 / sizeof(*MSIDBOPEN_READONLY)

Definition at line 79 of file msiquery.h.

◆ MSIDBOPEN_READONLY

#define MSIDBOPEN_READONLY   (LPCTSTR)0

Definition at line 66 of file msiquery.h.

◆ MSIDBOPEN_TRANSACT

#define MSIDBOPEN_TRANSACT   (LPCTSTR)1

Definition at line 67 of file msiquery.h.

◆ MsiDoAction

#define MsiDoAction   WINELIB_NAME_AW(MsiDoAction)

Definition at line 221 of file msiquery.h.

◆ MsiEvaluateCondition

#define MsiEvaluateCondition   WINELIB_NAME_AW(MsiEvaluateCondition)

Definition at line 249 of file msiquery.h.

◆ MsiFormatRecord

#define MsiFormatRecord   WINELIB_NAME_AW(MsiFormatRecord)

Definition at line 208 of file msiquery.h.

◆ MsiGetComponentState

#define MsiGetComponentState   WINELIB_NAME_AW(MsiGetComponentState)

Definition at line 245 of file msiquery.h.

◆ MsiGetFeatureCost

#define MsiGetFeatureCost   WINELIB_NAME_AW(MsiGetFeatureCost)

Definition at line 340 of file msiquery.h.

◆ MsiGetFeatureState

#define MsiGetFeatureState   WINELIB_NAME_AW(MsiGetFeatureState)

Definition at line 236 of file msiquery.h.

◆ MsiGetFeatureValidStates

#define MsiGetFeatureValidStates   WINELIB_NAME_AW(MsiGetFeatureValidStates)

Definition at line 239 of file msiquery.h.

◆ MsiGetProperty

#define MsiGetProperty   WINELIB_NAME_AW(MsiGetProperty)

Definition at line 254 of file msiquery.h.

◆ MsiGetSourcePath

#define MsiGetSourcePath   WINELIB_NAME_AW(MsiGetSourcePath)

Definition at line 270 of file msiquery.h.

◆ MsiGetSummaryInformation

#define MsiGetSummaryInformation   WINELIB_NAME_AW(MsiGetSummaryInformation)

Definition at line 299 of file msiquery.h.

◆ MsiGetTargetPath

#define MsiGetTargetPath   WINELIB_NAME_AW(MsiGetTargetPath)

Definition at line 262 of file msiquery.h.

◆ MsiOpenDatabase

#define MsiOpenDatabase   WINELIB_NAME_AW(MsiOpenDatabase)

Definition at line 319 of file msiquery.h.

◆ MsiPreviewBillboard

#define MsiPreviewBillboard   WINELIB_NAME_AW(MsiPreviewBillboard)

Definition at line 291 of file msiquery.h.

◆ MsiPreviewDialog

#define MsiPreviewDialog   WINELIB_NAME_AW(MsiPreviewDialog)

Definition at line 287 of file msiquery.h.

◆ MsiRecordGetString

#define MsiRecordGetString   WINELIB_NAME_AW(MsiRecordGetString)

Definition at line 201 of file msiquery.h.

◆ MsiRecordSetStream

#define MsiRecordSetStream   WINELIB_NAME_AW(MsiRecordSetStream)

Definition at line 211 of file msiquery.h.

◆ MsiRecordSetString

#define MsiRecordSetString   WINELIB_NAME_AW(MsiRecordSetString)

Definition at line 198 of file msiquery.h.

◆ MsiSequence

#define MsiSequence   WINELIB_NAME_AW(MsiSequence)

Definition at line 327 of file msiquery.h.

◆ MsiSetComponentState

#define MsiSetComponentState   WINELIB_NAME_AW(MsiSetComponentState)

Definition at line 242 of file msiquery.h.

◆ MsiSetFeatureAttributes

#define MsiSetFeatureAttributes   WINELIB_NAME_AW(MsiSetFeatureAttributes)

Definition at line 279 of file msiquery.h.

◆ MsiSetFeatureState

#define MsiSetFeatureState   WINELIB_NAME_AW(MsiSetFeatureState)

Definition at line 283 of file msiquery.h.

◆ MsiSetProperty

#define MsiSetProperty   WINELIB_NAME_AW(MsiSetProperty)

Definition at line 258 of file msiquery.h.

◆ MsiSetTargetPath

#define MsiSetTargetPath   WINELIB_NAME_AW(MsiSetTargetPath)

Definition at line 266 of file msiquery.h.

◆ MsiSummaryInfoGetProperty

#define MsiSummaryInfoGetProperty   WINELIB_NAME_AW(MsiSummaryInfoGetProperty)

Definition at line 303 of file msiquery.h.

◆ MsiSummaryInfoSetProperty

#define MsiSummaryInfoSetProperty   WINELIB_NAME_AW(MsiSummaryInfoSetProperty)

Definition at line 307 of file msiquery.h.

◆ MsiViewGetError

#define MsiViewGetError   WINELIB_NAME_AW(MsiViewGetError)

Definition at line 188 of file msiquery.h.

Typedef Documentation

◆ MSICOLINFO

◆ MSICONDITION

◆ MSICOSTTREE

◆ MSIDBERROR

◆ MSIDBSTATE

◆ MSIMODIFY

◆ MSIRUNMODE

◆ MSITRANSFORM_ERROR

◆ MSITRANSFORM_VALIDATE

Enumeration Type Documentation

◆ tagMSICOLINFO

Enumerator
MSICOLINFO_NAMES 
MSICOLINFO_TYPES 

Definition at line 34 of file msiquery.h.

35{
enum tagMSICOLINFO MSICOLINFO
@ MSICOLINFO_NAMES
Definition: msiquery.h:36
@ MSICOLINFO_TYPES
Definition: msiquery.h:37

◆ tagMSICONDITION

Enumerator
MSICONDITION_FALSE 
MSICONDITION_TRUE 
MSICONDITION_NONE 
MSICONDITION_ERROR 

Definition at line 24 of file msiquery.h.

25{
enum tagMSICONDITION MSICONDITION
@ MSICONDITION_FALSE
Definition: msiquery.h:26
@ MSICONDITION_ERROR
Definition: msiquery.h:29
@ MSICONDITION_NONE
Definition: msiquery.h:28
@ MSICONDITION_TRUE
Definition: msiquery.h:27

◆ tagMSICOSTTREE

Enumerator
MSICOSTTREE_SELFONLY 
MSICOSTTREE_CHILDREN 
MSICOSTTREE_PARENTS 
MSICOSTTREE_PRODUCT 

Definition at line 40 of file msiquery.h.

41{
@ MSICOSTTREE_PRODUCT
Definition: msiquery.h:45
@ MSICOSTTREE_PARENTS
Definition: msiquery.h:44
@ MSICOSTTREE_CHILDREN
Definition: msiquery.h:43
@ MSICOSTTREE_SELFONLY
Definition: msiquery.h:42
enum tagMSICOSTTREE MSICOSTTREE

◆ tagMSIDBERROR

Enumerator
MSIDBERROR_INVALIDARG 
MSIDBERROR_MOREDATA 
MSIDBERROR_FUNCTIONERROR 
MSIDBERROR_NOERROR 
MSIDBERROR_DUPLICATEKEY 
MSIDBERROR_REQUIRED 
MSIDBERROR_BADLINK 
MSIDBERROR_OVERFLOW 
MSIDBERROR_UNDERFLOW 
MSIDBERROR_NOTINSET 
MSIDBERROR_BADVERSION 
MSIDBERROR_BADCASE 
MSIDBERROR_BADGUID 
MSIDBERROR_BADWILDCARD 
MSIDBERROR_BADIDENTIFIER 
MSIDBERROR_BADLANGUAGE 
MSIDBERROR_BADFILENAME 
MSIDBERROR_BADPATH 
MSIDBERROR_BADCONDITION 
MSIDBERROR_BADFORMATTED 
MSIDBERROR_BADTEMPLATE 
MSIDBERROR_BADDEFAULTDIR 
MSIDBERROR_BADREGPATH 
MSIDBERROR_BADCUSTOMSOURCE 
MSIDBERROR_BADPROPERTY 
MSIDBERROR_MISSINGDATA 
MSIDBERROR_BADCATEGORY 
MSIDBERROR_BADKEYTABLE 
MSIDBERROR_BADMAXMINVALUES 
MSIDBERROR_BADCABINET 
MSIDBERROR_BADSHORTCUT 
MSIDBERROR_STRINGOVERFLOW 
MSIDBERROR_BADLOCALIZEATTRIB 

Definition at line 104 of file msiquery.h.

105{
139} MSIDBERROR;
enum tagMSIDBERROR MSIDBERROR
@ MSIDBERROR_NOERROR
Definition: msiquery.h:109
@ MSIDBERROR_NOTINSET
Definition: msiquery.h:115
@ MSIDBERROR_BADLANGUAGE
Definition: msiquery.h:121
@ MSIDBERROR_DUPLICATEKEY
Definition: msiquery.h:110
@ MSIDBERROR_OVERFLOW
Definition: msiquery.h:113
@ MSIDBERROR_BADCASE
Definition: msiquery.h:117
@ MSIDBERROR_BADCABINET
Definition: msiquery.h:135
@ MSIDBERROR_BADTEMPLATE
Definition: msiquery.h:126
@ MSIDBERROR_BADSHORTCUT
Definition: msiquery.h:136
@ MSIDBERROR_BADCUSTOMSOURCE
Definition: msiquery.h:129
@ MSIDBERROR_STRINGOVERFLOW
Definition: msiquery.h:137
@ MSIDBERROR_BADPATH
Definition: msiquery.h:123
@ MSIDBERROR_BADDEFAULTDIR
Definition: msiquery.h:127
@ MSIDBERROR_FUNCTIONERROR
Definition: msiquery.h:108
@ MSIDBERROR_BADKEYTABLE
Definition: msiquery.h:133
@ MSIDBERROR_BADLOCALIZEATTRIB
Definition: msiquery.h:138
@ MSIDBERROR_BADCATEGORY
Definition: msiquery.h:132
@ MSIDBERROR_BADCONDITION
Definition: msiquery.h:124
@ MSIDBERROR_BADVERSION
Definition: msiquery.h:116
@ MSIDBERROR_INVALIDARG
Definition: msiquery.h:106
@ MSIDBERROR_BADLINK
Definition: msiquery.h:112
@ MSIDBERROR_BADIDENTIFIER
Definition: msiquery.h:120
@ MSIDBERROR_BADMAXMINVALUES
Definition: msiquery.h:134
@ MSIDBERROR_BADFORMATTED
Definition: msiquery.h:125
@ MSIDBERROR_BADGUID
Definition: msiquery.h:118
@ MSIDBERROR_MOREDATA
Definition: msiquery.h:107
@ MSIDBERROR_BADPROPERTY
Definition: msiquery.h:130
@ MSIDBERROR_UNDERFLOW
Definition: msiquery.h:114
@ MSIDBERROR_BADWILDCARD
Definition: msiquery.h:119
@ MSIDBERROR_BADFILENAME
Definition: msiquery.h:122
@ MSIDBERROR_BADREGPATH
Definition: msiquery.h:128
@ MSIDBERROR_REQUIRED
Definition: msiquery.h:111
@ MSIDBERROR_MISSINGDATA
Definition: msiquery.h:131

◆ tagMSIDBSTATE

Enumerator
MSIDBSTATE_ERROR 
MSIDBSTATE_READ 
MSIDBSTATE_WRITE 

Definition at line 141 of file msiquery.h.

142{
143 MSIDBSTATE_ERROR = -1,
144 MSIDBSTATE_READ = 0,
146} MSIDBSTATE;
enum tagMSIDBSTATE MSIDBSTATE
@ MSIDBSTATE_READ
Definition: msiquery.h:144
@ MSIDBSTATE_ERROR
Definition: msiquery.h:143
@ MSIDBSTATE_WRITE
Definition: msiquery.h:145

◆ tagMSIMODIFY

Enumerator
MSIMODIFY_SEEK 
MSIMODIFY_REFRESH 
MSIMODIFY_INSERT 
MSIMODIFY_UPDATE 
MSIMODIFY_ASSIGN 
MSIMODIFY_REPLACE 
MSIMODIFY_MERGE 
MSIMODIFY_DELETE 
MSIMODIFY_INSERT_TEMPORARY 
MSIMODIFY_VALIDATE 
MSIMODIFY_VALIDATE_NEW 
MSIMODIFY_VALIDATE_FIELD 
MSIMODIFY_VALIDATE_DELETE 

Definition at line 48 of file msiquery.h.

49{
50 MSIMODIFY_SEEK = -1,
63} MSIMODIFY;
@ MSIMODIFY_DELETE
Definition: msiquery.h:57
@ MSIMODIFY_REPLACE
Definition: msiquery.h:55
@ MSIMODIFY_MERGE
Definition: msiquery.h:56
@ MSIMODIFY_INSERT_TEMPORARY
Definition: msiquery.h:58
@ MSIMODIFY_UPDATE
Definition: msiquery.h:53
@ MSIMODIFY_VALIDATE_DELETE
Definition: msiquery.h:62
@ MSIMODIFY_SEEK
Definition: msiquery.h:50
@ MSIMODIFY_ASSIGN
Definition: msiquery.h:54
@ MSIMODIFY_VALIDATE_NEW
Definition: msiquery.h:60
@ MSIMODIFY_INSERT
Definition: msiquery.h:52
@ MSIMODIFY_REFRESH
Definition: msiquery.h:51
@ MSIMODIFY_VALIDATE_FIELD
Definition: msiquery.h:61
@ MSIMODIFY_VALIDATE
Definition: msiquery.h:59
enum tagMSIMODIFY MSIMODIFY

◆ tagMSIRUNMODE

Enumerator
MSIRUNMODE_ADMIN 
MSIRUNMODE_ADVERTISE 
MSIRUNMODE_MAINTENANCE 
MSIRUNMODE_ROLLBACKENABLED 
MSIRUNMODE_LOGENABLED 
MSIRUNMODE_OPERATIONS 
MSIRUNMODE_REBOOTATEND 
MSIRUNMODE_REBOOTNOW 
MSIRUNMODE_CABINET 
MSIRUNMODE_SOURCESHORTNAMES 
MSIRUNMODE_TARGETSHORTNAMES 
MSIRUNMODE_RESERVED11 
MSIRUNMODE_WINDOWS9X 
MSIRUNMODE_ZAWENABLED 
MSIRUNMODE_RESERVED14 
MSIRUNMODE_RESERVED15 
MSIRUNMODE_SCHEDULED 
MSIRUNMODE_ROLLBACK 
MSIRUNMODE_COMMIT 

Definition at line 81 of file msiquery.h.

82{
102} MSIRUNMODE;
enum tagMSIRUNMODE MSIRUNMODE
@ MSIRUNMODE_SCHEDULED
Definition: msiquery.h:99
@ MSIRUNMODE_ADVERTISE
Definition: msiquery.h:84
@ MSIRUNMODE_WINDOWS9X
Definition: msiquery.h:95
@ MSIRUNMODE_TARGETSHORTNAMES
Definition: msiquery.h:93
@ MSIRUNMODE_RESERVED15
Definition: msiquery.h:98
@ MSIRUNMODE_MAINTENANCE
Definition: msiquery.h:85
@ MSIRUNMODE_RESERVED14
Definition: msiquery.h:97
@ MSIRUNMODE_CABINET
Definition: msiquery.h:91
@ MSIRUNMODE_REBOOTATEND
Definition: msiquery.h:89
@ MSIRUNMODE_SOURCESHORTNAMES
Definition: msiquery.h:92
@ MSIRUNMODE_REBOOTNOW
Definition: msiquery.h:90
@ MSIRUNMODE_ROLLBACK
Definition: msiquery.h:100
@ MSIRUNMODE_LOGENABLED
Definition: msiquery.h:87
@ MSIRUNMODE_ZAWENABLED
Definition: msiquery.h:96
@ MSIRUNMODE_OPERATIONS
Definition: msiquery.h:88
@ MSIRUNMODE_ADMIN
Definition: msiquery.h:83
@ MSIRUNMODE_COMMIT
Definition: msiquery.h:101
@ MSIRUNMODE_RESERVED11
Definition: msiquery.h:94
@ MSIRUNMODE_ROLLBACKENABLED
Definition: msiquery.h:86

◆ tagMSITRANSFORM_ERROR

Enumerator
MSITRANSFORM_ERROR_ADDEXISTINGROW 
MSITRANSFORM_ERROR_DELMISSINGROW 
MSITRANSFORM_ERROR_ADDEXISTINGTABLE 
MSITRANSFORM_ERROR_DELMISSINGTABLE 
MSITRANSFORM_ERROR_UPDATEMISSINGROW 
MSITRANSFORM_ERROR_CHANGECODEPAGE 
MSITRANSFORM_ERROR_VIEWTRANSFORM 

Definition at line 148 of file msiquery.h.

149{
@ MSITRANSFORM_ERROR_DELMISSINGTABLE
Definition: msiquery.h:153
@ MSITRANSFORM_ERROR_UPDATEMISSINGROW
Definition: msiquery.h:154
@ MSITRANSFORM_ERROR_ADDEXISTINGROW
Definition: msiquery.h:150
@ MSITRANSFORM_ERROR_ADDEXISTINGTABLE
Definition: msiquery.h:152
@ MSITRANSFORM_ERROR_VIEWTRANSFORM
Definition: msiquery.h:156
@ MSITRANSFORM_ERROR_DELMISSINGROW
Definition: msiquery.h:151
@ MSITRANSFORM_ERROR_CHANGECODEPAGE
Definition: msiquery.h:155
enum tagMSITRANSFORM_ERROR MSITRANSFORM_ERROR

◆ tagMSITRANSFORM_VALIDATE

Enumerator
MSITRANSFORM_VALIDATE_LANGUAGE 
MSITRANSFORM_VALIDATE_PRODUCT 
MSITRANSFORM_VALIDATE_PLATFORM 
MSITRANSFORM_VALIDATE_MAJORVERSION 
MSITRANSFORM_VALIDATE_MINORVERSION 
MSITRANSFORM_VALIDATE_UPDATEVERSION 
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION 
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION 
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION 
MSITRANSFORM_VALIDATE_UPGRADECODE 

Definition at line 159 of file msiquery.h.

160{
enum tagMSITRANSFORM_VALIDATE MSITRANSFORM_VALIDATE
@ MSITRANSFORM_VALIDATE_LANGUAGE
Definition: msiquery.h:161
@ MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
Definition: msiquery.h:170
@ MSITRANSFORM_VALIDATE_PLATFORM
Definition: msiquery.h:163
@ MSITRANSFORM_VALIDATE_UPGRADECODE
Definition: msiquery.h:172
@ MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
Definition: msiquery.h:171
@ MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
Definition: msiquery.h:167
@ MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
Definition: msiquery.h:168
@ MSITRANSFORM_VALIDATE_MAJORVERSION
Definition: msiquery.h:164
@ MSITRANSFORM_VALIDATE_PRODUCT
Definition: msiquery.h:162
@ MSITRANSFORM_VALIDATE_MINORVERSION
Definition: msiquery.h:165
@ MSITRANSFORM_VALIDATE_UPDATEVERSION
Definition: msiquery.h:166
@ MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
Definition: msiquery.h:169

Function Documentation

◆ MsiCreateRecord()

MSIHANDLE WINAPI MsiCreateRecord ( UINT  cParams)

Definition at line 92 of file record.c.

93{
94 MSIRECORD *rec;
95 MSIHANDLE ret = 0;
96
97 TRACE("%d\n", cParams);
98
99 rec = MSI_CreateRecord( cParams );
100 if( rec )
101 {
102 ret = alloc_msihandle( &rec->hdr );
103 msiobj_release( &rec->hdr );
104 }
105 return ret;
106}
MSIHANDLE alloc_msihandle(MSIOBJECTHDR *obj)
Definition: handle.c:111
int msiobj_release(MSIOBJECTHDR *info)
Definition: handle.c:241
MSIRECORD * MSI_CreateRecord(UINT cParams)
Definition: record.c:76
#define TRACE(s)
Definition: solgame.cpp:4
MSIOBJECTHDR hdr
Definition: msipriv.h:151
int ret
unsigned long MSIHANDLE
Definition: winemsi.idl:27

Referenced by __WINE_PRINTF_ATTR(), add_custom_dll(), generate_transform(), InstallerImpl_CreateRecord(), query_file_path(), test_binary(), test_customaction1(), test_db(), test_dbmerge(), test_externalui(), test_externalui_message(), test_fieldzero(), test_format_record(), test_formatrecord(), test_formatrecord2(), test_formatrecord_package(), test_formatrecord_tables(), test_icon_table(), test_markers(), test_msiinsert(), test_msirecord(), test_MsiRecordGetInteger(), test_MsiRecordGetString(), test_processmessage(), test_select_markers(), test_storages_table(), test_streamtable(), test_stringtable(), test_try_transform(), test_update(), test_view_get_error(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete_temporary(), test_viewmodify_insert(), test_viewmodify_merge(), test_viewmodify_update(), test_where(), test_where_viewmodify(), try_insert_query(), and unmarshal_record().

◆ MsiCreateTransformSummaryInfoA()

UINT WINAPI MsiCreateTransformSummaryInfoA ( MSIHANDLE  ,
MSIHANDLE  ,
LPCSTR  ,
int  ,
int   
)

◆ MsiCreateTransformSummaryInfoW()

UINT WINAPI MsiCreateTransformSummaryInfoW ( MSIHANDLE  ,
MSIHANDLE  ,
LPCWSTR  ,
int  ,
int   
)

◆ MsiDatabaseApplyTransformA()

UINT WINAPI MsiDatabaseApplyTransformA ( MSIHANDLE  ,
LPCSTR  ,
int   
)

◆ MsiDatabaseApplyTransformW()

UINT WINAPI MsiDatabaseApplyTransformW ( MSIHANDLE  ,
LPCWSTR  ,
int   
)

◆ MsiDatabaseCommit()

UINT WINAPI MsiDatabaseCommit ( MSIHANDLE  hdb)

Definition at line 962 of file msiquery.c.

963{
964 MSIDATABASE *db;
965 UINT r;
966
967 TRACE( "%lu\n", hdb );
968
970 if( !db )
971 {
972 MSIHANDLE remote;
973
974 if (!(remote = msi_get_remote(hdb)))
976
977 WARN("not allowed during a custom action!\n");
978
979 return ERROR_SUCCESS;
980 }
981
982 if (db->mode == MSI_OPEN_READONLY)
983 {
984 msiobj_release( &db->hdr );
985 return ERROR_SUCCESS;
986 }
987
988 /* FIXME: lock the database */
989
990 r = msi_commit_streams( db );
991 if (r != ERROR_SUCCESS) ERR("Failed to commit streams!\n");
992 else
993 {
994 r = MSI_CommitTables( db );
995 if (r != ERROR_SUCCESS) ERR("Failed to commit tables!\n");
996 }
997
998 /* FIXME: unlock the database */
999
1000 msiobj_release( &db->hdr );
1001
1002 if (r == ERROR_SUCCESS)
1003 {
1004 free( db->deletefile );
1005 db->deletefile = NULL;
1006 }
1007
1008 return r;
1009}
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
#define free
Definition: debug_ros.c:5
#define ERROR_SUCCESS
Definition: deptool.c:10
#define NULL
Definition: types.h:112
#define ERROR_INVALID_HANDLE
Definition: compat.h:98
MSIHANDLE msi_get_remote(MSIHANDLE handle)
Definition: handle.c:183
void * msihandle2msiinfo(MSIHANDLE handle, UINT type)
Definition: handle.c:158
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:722
UINT msi_commit_streams(MSIDATABASE *db)
Definition: streams.c:607
#define MSI_OPEN_READONLY
Definition: msipriv.h:99
UINT MSI_CommitTables(MSIDATABASE *db)
Definition: table.c:2886
unsigned int UINT
Definition: ndis.h:50
MSIOBJECTHDR hdr
Definition: msipriv.h:108
LPWSTR deletefile
Definition: msipriv.h:113

Referenced by create_database_suminfo(), create_database_wordcount(), create_db(), create_package_db(), generate_transform(), helper_createpackage(), set_admin_summary_info(), test_access(), test_binary(), test_costs(), test_createtable(), test_customaction1(), test_defaultdatabase(), test_deleterow(), test_emptypackage(), test_forcecodepage(), test_icon_table(), test_int_widths(), test_integers(), test_invalid_functions(), test_longstrings(), test_msibadqueries(), test_msidatabase(), test_MsiDatabaseCommit(), test_MsiGetProductProperty(), test_MsiGetSourcePath(), test_msiinsert(), test_MsiOpenDatabase(), test_shortlongsource(), test_states(), test_storages_table(), test_streamtable(), test_stringtable(), test_suminfo(), test_top_level_action(), test_try_transform(), and test_update().

◆ MsiDatabaseExportA()

UINT WINAPI MsiDatabaseExportA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR  ,
LPCSTR   
)

◆ MsiDatabaseExportW()

UINT WINAPI MsiDatabaseExportW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR  ,
LPCWSTR   
)

◆ MsiDatabaseGenerateTransformA()

UINT WINAPI MsiDatabaseGenerateTransformA ( MSIHANDLE  ,
MSIHANDLE  ,
LPCSTR  ,
int  ,
int   
)

◆ MsiDatabaseGenerateTransformW()

UINT WINAPI MsiDatabaseGenerateTransformW ( MSIHANDLE  ,
MSIHANDLE  ,
LPCWSTR  ,
int  ,
int   
)

◆ MsiDatabaseGetPrimaryKeysA()

UINT WINAPI MsiDatabaseGetPrimaryKeysA ( MSIHANDLE  ,
LPCSTR  ,
MSIHANDLE  
)

◆ MsiDatabaseGetPrimaryKeysW()

UINT WINAPI MsiDatabaseGetPrimaryKeysW ( MSIHANDLE  ,
LPCWSTR  ,
MSIHANDLE  
)

◆ MsiDatabaseImportA()

UINT WINAPI MsiDatabaseImportA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR   
)

◆ MsiDatabaseImportW()

UINT WINAPI MsiDatabaseImportW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR   
)

◆ MsiDatabaseIsTablePersistentA()

MSICONDITION WINAPI MsiDatabaseIsTablePersistentA ( MSIHANDLE  ,
LPCSTR   
)

◆ MsiDatabaseIsTablePersistentW()

MSICONDITION WINAPI MsiDatabaseIsTablePersistentW ( MSIHANDLE  ,
LPCWSTR   
)

◆ MsiDatabaseOpenViewA()

UINT WINAPI MsiDatabaseOpenViewA ( MSIHANDLE  ,
LPCSTR  ,
MSIHANDLE  
)

◆ MsiDatabaseOpenViewW()

UINT WINAPI MsiDatabaseOpenViewW ( MSIHANDLE  hdb,
LPCWSTR  szQuery,
MSIHANDLE phView 
)

Definition at line 236 of file msiquery.c.

238{
239 MSIDATABASE *db;
241 UINT ret;
242
243 TRACE("%s %p\n", debugstr_w(szQuery), phView);
244
245 if (!phView)
247
248 if (!szQuery)
250
252 if( !db )
253 {
254 MSIHANDLE remote, remote_view;
255
256 if (!(remote = msi_get_remote(hdb)))
258
259 __TRY
260 {
261 ret = remote_DatabaseOpenView(remote, szQuery, &remote_view);
262 }
264 {
266 }
268
269 if (!ret)
270 *phView = alloc_msi_remote_handle(remote_view);
271 return ret;
272 }
273
274 ret = MSI_DatabaseOpenViewW( db, szQuery, &query );
275 if( ret == ERROR_SUCCESS )
276 {
277 *phView = alloc_msihandle( &query->hdr );
278 if (! *phView)
280 msiobj_release( &query->hdr );
281 }
282 msiobj_release( &db->hdr );
283
284 return ret;
285}
#define ERROR_NOT_ENOUGH_MEMORY
Definition: dderror.h:7
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define __TRY
Definition: compat.h:80
#define __ENDTRY
Definition: compat.h:82
LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr)
Definition: custom.c:85
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote)
Definition: handle.c:135
#define debugstr_w
Definition: kernel32.h:32
UINT MSI_DatabaseOpenViewW(MSIDATABASE *db, const WCHAR *szQuery, MSIQUERY **pView)
Definition: msiquery.c:110
#define __EXCEPT(func)
Definition: exception.h:59
#define GetExceptionCode()
Definition: exception.h:68
#define ERROR_BAD_QUERY_SYNTAX
Definition: winerror.h:973

Referenced by database_invoke(), find_entryW(), MsiDatabaseOpenViewA(), run_queryW(), s_remote_DatabaseOpenView(), and test_collation().

◆ MsiDoActionA()

UINT WINAPI MsiDoActionA ( MSIHANDLE  hInstall,
LPCSTR  szAction 
)

Definition at line 45 of file install.c.

46{
47 LPWSTR szwAction;
48 UINT ret;
49
50 TRACE("%s\n", debugstr_a(szAction));
51
52 szwAction = strdupAtoW(szAction);
53 if (szAction && !szwAction)
55
56 ret = MsiDoActionW( hInstall, szwAction );
57 free( szwAction );
58 return ret;
59}
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:65
UINT WINAPI MsiDoActionW(MSIHANDLE hInstall, LPCWSTR szAction)
Definition: install.c:64
#define debugstr_a
Definition: kernel32.h:31
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by test_appsearch(), test_appsearch_complocator(), test_appsearch_drlocator(), test_appsearch_inilocator(), test_appsearch_reglocator(), test_ccpsearch(), test_complocator(), test_controlevent(), test_costs(), test_dbtopackage(), test_doaction(), test_externalui_message(), test_featureparents(), test_formatrecord_tables(), test_launchconditions(), test_MsiGetSourcePath(), test_MsiSetComponentState(), test_MsiSetFeatureAttributes(), test_property_table(), test_removefiles(), test_settargetpath(), test_shortlongsource(), test_sourcedir(), test_states(), and test_top_level_action().

◆ MsiDoActionW()

UINT WINAPI MsiDoActionW ( MSIHANDLE  hInstall,
LPCWSTR  szAction 
)

Definition at line 64 of file install.c.

65{
66 MSIPACKAGE *package;
67 UINT ret;
68
69 TRACE("%s\n",debugstr_w(szAction));
70
71 if (!szAction)
73
74 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
75 if (!package)
76 {
77 MSIHANDLE remote;
78
79 if (!(remote = msi_get_remote(hInstall)))
81
82 __TRY
83 {
84 ret = remote_DoAction(remote, szAction);
85 }
87 {
89 }
91
92 return ret;
93 }
94
95 ret = ACTION_PerformAction(package, szAction);
96 msiobj_release( &package->hdr );
97
98 return ret;
99}
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action)
Definition: action.c:7640
MSIOBJECTHDR hdr
Definition: msipriv.h:393

Referenced by MsiDoActionA(), s_remote_DoAction(), and session_invoke().

◆ MsiEnableUIPreview()

UINT WINAPI MsiEnableUIPreview ( MSIHANDLE  hdb,
MSIHANDLE phPreview 
)

Definition at line 4144 of file dialog.c.

4145{
4146 MSIDATABASE *db;
4149
4150 TRACE( "%lu %p\n", hdb, phPreview );
4151
4152 if (!(db = msihandle2msiinfo(hdb, MSIHANDLETYPE_DATABASE)))
4153 return ERROR_INVALID_HANDLE;
4154
4156 if (preview)
4157 {
4158 *phPreview = alloc_msihandle( &preview->hdr );
4159 msiobj_release( &preview->hdr );
4160 r = ERROR_SUCCESS;
4161 if (!*phPreview)
4163 }
4164 msiobj_release( &db->hdr );
4165 return r;
4166}
static previewinfo preview
Definition: print.c:56
static MSIPREVIEW * MSI_EnableUIPreview(MSIDATABASE *db)
Definition: dialog.c:4125

Referenced by test_invalid_functions().

◆ MsiEvaluateConditionA()

MSICONDITION WINAPI MsiEvaluateConditionA ( MSIHANDLE  ,
LPCSTR   
)

Referenced by test_condition(), and test_misc().

◆ MsiEvaluateConditionW()

MSICONDITION WINAPI MsiEvaluateConditionW ( MSIHANDLE  ,
LPCWSTR   
)

◆ MsiFormatRecordA()

UINT WINAPI MsiFormatRecordA ( MSIHANDLE  ,
MSIHANDLE  ,
LPSTR  ,
LPDWORD   
)

◆ MsiFormatRecordW()

UINT WINAPI MsiFormatRecordW ( MSIHANDLE  ,
MSIHANDLE  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiGetActiveDatabase()

MSIHANDLE WINAPI MsiGetActiveDatabase ( MSIHANDLE  hInstall)

Definition at line 1669 of file package.c.

1670{
1671 MSIPACKAGE *package;
1672 MSIHANDLE handle = 0;
1673 MSIHANDLE remote;
1674
1675 TRACE( "%lu\n", hInstall );
1676
1677 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
1678 if( package)
1679 {
1680 handle = alloc_msihandle( &package->db->hdr );
1681 msiobj_release( &package->hdr );
1682 }
1683 else if ((remote = msi_get_remote(hInstall)))
1684 {
1685 __TRY
1686 {
1687 handle = remote_GetActiveDatabase(remote);
1689 }
1691 {
1692 handle = 0;
1693 }
1694 __ENDTRY
1695 }
1696
1697 return handle;
1698}
MSIDATABASE * db
Definition: msipriv.h:394

Referenced by s_remote_GetActiveDatabase(), session_invoke(), test_db(), test_emptypackage(), test_invalid_functions(), test_MsiSetProperty(), test_property_table(), test_simple_patch(), test_system_tables(), and test_view_get_error().

◆ MsiGetComponentStateA()

UINT WINAPI MsiGetComponentStateA ( MSIHANDLE  hInstall,
LPCSTR  szComponent,
INSTALLSTATE piInstalled,
INSTALLSTATE piAction 
)

Definition at line 1395 of file install.c.

1397{
1398 LPWSTR szwComponent= NULL;
1399 UINT rc;
1400
1401 szwComponent= strdupAtoW(szComponent);
1402
1403 rc = MsiGetComponentStateW(hInstall,szwComponent,piInstalled, piAction);
1404
1405 free(szwComponent);
1406
1407 return rc;
1408}
UINT WINAPI MsiGetComponentStateW(MSIHANDLE hInstall, const WCHAR *szComponent, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1500

Referenced by test_component_states(), test_feature_states(), test_MsiSetComponentState(), and test_removefiles().

◆ MsiGetComponentStateW()

UINT WINAPI MsiGetComponentStateW ( MSIHANDLE  ,
LPCWSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

◆ MsiGetDatabaseState()

MSIDBSTATE WINAPI MsiGetDatabaseState ( MSIHANDLE  handle)

Definition at line 1919 of file database.c.

1920{
1922 MSIDATABASE *db;
1923
1924 TRACE( "%lu\n", handle );
1925
1927 return MSIDBSTATE_ERROR;
1928
1929 if (db->mode != MSI_OPEN_READONLY )
1931 msiobj_release( &db->hdr );
1932
1933 return ret;
1934}

Referenced by test_invalid_functions().

◆ MsiGetFeatureCostA()

UINT WINAPI MsiGetFeatureCostA ( MSIHANDLE  hInstall,
LPCSTR  szFeature,
MSICOSTTREE  iCostTree,
INSTALLSTATE  iState,
LPINT  piCost 
)

Definition at line 1128 of file install.c.

1130{
1131 LPWSTR szwFeature = NULL;
1132 UINT rc;
1133
1134 szwFeature = strdupAtoW(szFeature);
1135
1136 rc = MsiGetFeatureCostW(hInstall, szwFeature, iCostTree, iState, piCost);
1137
1138 free(szwFeature);
1139
1140 return rc;
1141}
UINT WINAPI MsiGetFeatureCostW(MSIHANDLE hInstall, const WCHAR *szFeature, MSICOSTTREE iCostTree, INSTALLSTATE iState, INT *piCost)
Definition: install.c:1206

Referenced by test_costs().

◆ MsiGetFeatureCostW()

UINT WINAPI MsiGetFeatureCostW ( MSIHANDLE  ,
LPCWSTR  ,
MSICOSTTREE  ,
INSTALLSTATE  ,
LPINT   
)

◆ MsiGetFeatureStateA()

UINT WINAPI MsiGetFeatureStateA ( MSIHANDLE  hInstall,
LPCSTR  szFeature,
INSTALLSTATE piInstalled,
INSTALLSTATE piAction 
)

Definition at line 1052 of file install.c.

1054{
1055 LPWSTR szwFeature = NULL;
1056 UINT rc;
1057
1058 if (szFeature && !(szwFeature = strdupAtoW(szFeature))) return ERROR_OUTOFMEMORY;
1059
1060 rc = MsiGetFeatureStateW(hInstall, szwFeature, piInstalled, piAction);
1061 free(szwFeature);
1062 return rc;
1063}
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
UINT WINAPI MsiGetFeatureStateW(MSIHANDLE hInstall, const WCHAR *szFeature, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
Definition: install.c:1088

Referenced by test_feature_states().

◆ MsiGetFeatureStateW()

UINT WINAPI MsiGetFeatureStateW ( MSIHANDLE  ,
LPCWSTR  ,
INSTALLSTATE ,
INSTALLSTATE  
)

◆ MsiGetFeatureValidStatesA()

UINT WINAPI MsiGetFeatureValidStatesA ( MSIHANDLE  ,
LPCSTR  ,
LPDWORD   
)

◆ MsiGetFeatureValidStatesW()

UINT WINAPI MsiGetFeatureValidStatesW ( MSIHANDLE  ,
LPCWSTR  ,
LPDWORD   
)

◆ MsiGetLanguage()

LANGID WINAPI MsiGetLanguage ( MSIHANDLE  hInstall)

Definition at line 1540 of file install.c.

1541{
1542 MSIPACKAGE* package;
1543 LANGID langid;
1544
1545 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1546 if (!package)
1547 {
1548 MSIHANDLE remote;
1549
1550 if (!(remote = msi_get_remote(hInstall)))
1551 return ERROR_INVALID_HANDLE;
1552
1553 __TRY
1554 {
1555 langid = remote_GetLanguage(remote);
1556 }
1558 {
1559 langid = 0;
1560 }
1561 __ENDTRY
1562
1563 return langid;
1564 }
1565
1566 langid = msi_get_property_int( package->db, L"ProductLanguage", 0 );
1567 msiobj_release( &package->hdr );
1568 return langid;
1569}
USHORT LANGID
Definition: mui.h:9
LANGID langid
Definition: msctf.idl:644
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def)
Definition: package.c:2305
#define L(x)
Definition: ntvdm.h:50

Referenced by da_deferred(), s_remote_GetLanguage(), session_invoke(), and test_misc().

◆ MsiGetLastErrorRecord()

MSIHANDLE WINAPI MsiGetLastErrorRecord ( void  )

Definition at line 871 of file msiquery.c.

872{
873 FIXME("\n");
874 return 0;
875}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ MsiGetMode()

BOOL WINAPI MsiGetMode ( MSIHANDLE  hInstall,
MSIRUNMODE  iRunMode 
)

Definition at line 670 of file install.c.

671{
672 MSIPACKAGE *package;
673 BOOL r = FALSE;
674
675 TRACE( "%lu, %d\n", hInstall, iRunMode );
676
677 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
678 if (!package)
679 {
680 MSIHANDLE remote;
681
682 if (!(remote = msi_get_remote(hInstall)))
683 return FALSE;
684
685 __TRY
686 {
687 r = remote_GetMode(remote, iRunMode);
688 }
690 {
691 r = FALSE;
692 }
694
695 return r;
696 }
697
698 switch (iRunMode)
699 {
700 case MSIRUNMODE_ADMIN:
701 FIXME("no support for administrative installs\n");
702 break;
703
705 FIXME("no support for advertised installs\n");
706 break;
707
709 if (GetVersion() & 0x80000000)
710 r = TRUE;
711 break;
712
717 break;
718
720 r = package->scheduled_action_running;
721 break;
722
724 r = package->rollback_action_running;
725 break;
726
728 r = package->commit_action_running;
729 break;
730
732 r = msi_get_property_int( package->db, L"Installed", 0 ) != 0;
733 break;
734
736 r = msi_get_property_int( package->db, L"RollbackDisabled", 0 ) == 0;
737 break;
738
740 r = package->need_reboot_at_end;
741 break;
742
744 r = package->need_reboot_now;
745 break;
746
748 r = (package->log_file != INVALID_HANDLE_VALUE);
749 break;
750
751 default:
752 FIXME("unimplemented run mode: %d\n", iRunMode);
753 r = TRUE;
754 }
755
756 msiobj_release( &package->hdr );
757 return r;
758}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
unsigned int BOOL
Definition: ntddk_ex.h:94
DWORD WINAPI GetVersion()
Definition: redirtest.c:5
unsigned char commit_action_running
Definition: msipriv.h:467
unsigned char rollback_action_running
Definition: msipriv.h:468
HANDLE log_file
Definition: msipriv.h:414
unsigned char scheduled_action_running
Definition: msipriv.h:466
unsigned char need_reboot_now
Definition: msipriv.h:470
unsigned char need_reboot_at_end
Definition: msipriv.h:469

Referenced by da_deferred(), da_immediate(), s_remote_GetMode(), and session_invoke().

◆ MsiGetPropertyA()

UINT WINAPI MsiGetPropertyA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

◆ MsiGetPropertyW()

UINT WINAPI MsiGetPropertyW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiGetSourcePathA()

UINT WINAPI MsiGetSourcePathA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

◆ MsiGetSourcePathW()

UINT WINAPI MsiGetSourcePathW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiGetSummaryInformationA()

UINT WINAPI MsiGetSummaryInformationA ( MSIHANDLE  ,
LPCSTR  ,
UINT  ,
MSIHANDLE  
)

◆ MsiGetSummaryInformationW()

UINT WINAPI MsiGetSummaryInformationW ( MSIHANDLE  ,
LPCWSTR  ,
UINT  ,
MSIHANDLE  
)

◆ MsiGetTargetPathA()

UINT WINAPI MsiGetTargetPathA ( MSIHANDLE  ,
LPCSTR  ,
LPSTR  ,
LPDWORD   
)

◆ MsiGetTargetPathW()

UINT WINAPI MsiGetTargetPathW ( MSIHANDLE  ,
LPCWSTR  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiOpenDatabaseA()

UINT WINAPI MsiOpenDatabaseA ( LPCSTR  szDBPath,
LPCSTR  szPersist,
MSIHANDLE phDB 
)

Definition at line 317 of file database.c.

318{
320 LPWSTR szwDBPath = NULL, szwPersist = NULL;
321
322 TRACE("%s %s %p\n", debugstr_a(szDBPath), debugstr_a(szPersist), phDB);
323
324 if( szDBPath )
325 {
326 szwDBPath = strdupAtoW( szDBPath );
327 if( !szwDBPath )
328 goto end;
329 }
330
331 if( !IS_INTMSIDBOPEN(szPersist) )
332 {
333 szwPersist = strdupAtoW( szPersist );
334 if( !szwPersist )
335 goto end;
336 }
337 else
338 szwPersist = (LPWSTR)(DWORD_PTR)szPersist;
339
340 r = MsiOpenDatabaseW( szwDBPath, szwPersist, phDB );
341
342end:
343 if( !IS_INTMSIDBOPEN(szPersist) )
344 free( szwPersist );
345 free( szwDBPath );
346
347 return r;
348}
#define IS_INTMSIDBOPEN(x)
Definition: database.c:53
UINT WINAPI MsiOpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIHANDLE *phDB)
Definition: database.c:298
GLuint GLuint end
Definition: gl.h:1545
uint32_t DWORD_PTR
Definition: typedefs.h:65

Referenced by test_states().

◆ MsiOpenDatabaseW()

UINT WINAPI MsiOpenDatabaseW ( LPCWSTR  szDBPath,
LPCWSTR  szPersist,
MSIHANDLE phDB 
)

Definition at line 298 of file database.c.

299{
300 MSIDATABASE *db;
301 UINT ret;
302
303 TRACE("%s %s %p\n",debugstr_w(szDBPath),debugstr_w(szPersist), phDB);
304
305 ret = MSI_OpenDatabaseW( szDBPath, szPersist, &db );
306 if( ret == ERROR_SUCCESS )
307 {
308 *phDB = alloc_msihandle( &db->hdr );
309 if (! *phDB)
311 msiobj_release( &db->hdr );
312 }
313
314 return ret;
315}
UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb)
Definition: database.c:140

Referenced by create_database_suminfo(), create_database_wordcount(), create_db(), create_package_db(), generate_transform(), get_patch_product_codes(), helper_createpackage(), InstallerImpl_OpenDatabase(), MsiOpenDatabaseA(), MsiVerifyPackageW(), set_admin_summary_info(), set_suminfo(), test_access(), test_binary(), test_binary_import(), test_carriagereturn(), test_collation(), test_createtable(), test_customaction1(), test_dbmerge(), test_dbtopackage(), test_defaultdatabase(), test_deleterow(), test_droptable(), test_embedded_nulls(), test_fieldzero(), test_forcecodepage(), test_icon_table(), test_int_widths(), test_integers(), test_longstrings(), test_msibadqueries(), test_msidatabase(), test_msiexport(), test_MsiGetProductProperty(), test_MsiGetSourcePath(), test_msiimport(), test_msiinsert(), test_MsiOpenDatabase(), test_msipackage(), test_noquotes(), test_packagecoltypes(), test_quotes(), test_rows_order(), test_select_column_names(), test_shortlongsource(), test_simple_patch(), test_special_tables(), test_states(), test_storages_table(), test_streamtable(), test_stringtable(), test_suminfo(), test_suminfo_import(), test_summary_binary(), test_tables_order(), test_try_transform(), test_update(), test_viewfetch_wraparound(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_refresh(), test_viewmodify_update(), and test_where_viewmodify().

◆ MsiPreviewBillboardA()

UINT WINAPI MsiPreviewBillboardA ( MSIHANDLE  ,
LPCSTR  ,
LPCSTR   
)

◆ MsiPreviewBillboardW()

UINT WINAPI MsiPreviewBillboardW ( MSIHANDLE  ,
LPCWSTR  ,
LPCWSTR   
)

◆ MsiPreviewDialogA()

UINT WINAPI MsiPreviewDialogA ( MSIHANDLE  hPreview,
LPCSTR  szDialogName 
)

Definition at line 4211 of file dialog.c.

4212{
4213 UINT r;
4214 LPWSTR strW = NULL;
4215
4216 TRACE( "%lu %s\n", hPreview, debugstr_a(szDialogName) );
4217
4218 if (szDialogName)
4219 {
4220 strW = strdupAtoW( szDialogName );
4221 if (!strW)
4222 return ERROR_OUTOFMEMORY;
4223 }
4224 r = MsiPreviewDialogW( hPreview, strW );
4225 free( strW );
4226 return r;
4227}
UINT WINAPI MsiPreviewDialogW(MSIHANDLE hPreview, LPCWSTR szDialogName)
Definition: dialog.c:4195
WCHAR strW[12]
Definition: clipboard.c:2029

◆ MsiPreviewDialogW()

UINT WINAPI MsiPreviewDialogW ( MSIHANDLE  hPreview,
LPCWSTR  szDialogName 
)

Definition at line 4195 of file dialog.c.

4196{
4198 UINT r;
4199
4200 TRACE( "%lu %s\n", hPreview, debugstr_w(szDialogName) );
4201
4203 if (!preview)
4204 return ERROR_INVALID_HANDLE;
4205
4206 r = MSI_PreviewDialogW( preview, szDialogName );
4207 msiobj_release( &preview->hdr );
4208 return r;
4209}
static UINT MSI_PreviewDialogW(MSIPREVIEW *preview, LPCWSTR szDialogName)
Definition: dialog.c:4174
#define MSIHANDLETYPE_PREVIEW
Definition: msipriv.h:727

Referenced by MsiPreviewDialogA().

◆ MsiProcessMessage()

INT WINAPI MsiProcessMessage ( MSIHANDLE  hInstall,
INSTALLMESSAGE  eMessageType,
MSIHANDLE  hRecord 
)

Definition at line 2017 of file package.c.

2019{
2021 MSIPACKAGE *package = NULL;
2023
2024 if ((eMessageType & 0xff000000) == INSTALLMESSAGE_INITIALIZE ||
2025 (eMessageType & 0xff000000) == INSTALLMESSAGE_TERMINATE)
2026 return -1;
2027
2028 if ((eMessageType & 0xff000000) == INSTALLMESSAGE_COMMONDATA &&
2029 MsiRecordGetInteger(hRecord, 1) != 2)
2030 return -1;
2031
2033 if (!record)
2034 return ERROR_INVALID_HANDLE;
2035
2036 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
2037 if( !package )
2038 {
2039 MSIHANDLE remote;
2040
2041 if (!(remote = msi_get_remote(hInstall)))
2042 return ERROR_INVALID_HANDLE;
2043
2044 __TRY
2045 {
2046 ret = remote_ProcessMessage(remote, eMessageType, (struct wire_record *)&record->count);
2047 }
2049 {
2051 }
2052 __ENDTRY
2053
2054 msiobj_release(&record->hdr);
2055 return ret;
2056 }
2057
2058 ret = MSI_ProcessMessage( package, eMessageType, record );
2059
2060 msiobj_release( &record->hdr );
2061 msiobj_release( &package->hdr );
2062 return ret;
2063}
int WINAPI MsiRecordGetInteger(MSIHANDLE handle, UINT iField)
Definition: record.c:237
@ INSTALLMESSAGE_TERMINATE
Definition: msi.h:107
@ INSTALLMESSAGE_COMMONDATA
Definition: msi.h:105
@ INSTALLMESSAGE_INITIALIZE
Definition: msi.h:106
#define MSIHANDLETYPE_RECORD
Definition: msipriv.h:725
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *)
Definition: package.c:1909

Referenced by __WINE_PRINTF_ATTR(), s_remote_ProcessMessage(), session_invoke(), test_externalui(), test_externalui_message(), and test_processmessage().

◆ MsiRecordClearData()

UINT WINAPI MsiRecordClearData ( MSIHANDLE  handle)

Definition at line 256 of file record.c.

257{
258 MSIRECORD *rec;
259 UINT i;
260
261 TRACE( "%lu\n", handle );
262
264 if( !rec )
266
267 msiobj_lock( &rec->hdr );
268 for( i=0; i<=rec->count; i++)
269 {
270 MSI_FreeField( &rec->fields[i] );
271 rec->fields[i].type = MSIFIELD_NULL;
272 rec->fields[i].u.iVal = 0;
273 }
274 msiobj_unlock( &rec->hdr );
275 msiobj_release( &rec->hdr );
276
277 return ERROR_SUCCESS;
278}
void msiobj_lock(MSIOBJECTHDR *info)
Definition: handle.c:231
void msiobj_unlock(MSIOBJECTHDR *info)
Definition: handle.c:236
#define MSIFIELD_NULL
Definition: record.c:44
static void MSI_FreeField(MSIFIELD *field)
Definition: record.c:49
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
union tagMSIFIELD::@501 u
INT iVal
Definition: msipriv.h:142
UINT type
Definition: msipriv.h:139
MSIFIELD fields[1]
Definition: msipriv.h:154
UINT count
Definition: msipriv.h:152

Referenced by test_msirecord().

◆ MsiRecordDataSize()

UINT WINAPI MsiRecordDataSize ( MSIHANDLE  handle,
UINT  iField 
)

Definition at line 532 of file record.c.

533{
534 MSIRECORD *rec;
535 UINT ret;
536
537 TRACE( "%lu, %u\n", handle, iField );
538
540 if( !rec )
541 return 0;
542 msiobj_lock( &rec->hdr );
543 ret = MSI_RecordDataSize( rec, iField);
544 msiobj_unlock( &rec->hdr );
545 msiobj_release( &rec->hdr );
546 return ret;
547}
static UINT MSI_RecordDataSize(MSIRECORD *rec, UINT iField)
Definition: record.c:511

Referenced by test_msirecord().

◆ MsiRecordGetFieldCount()

UINT WINAPI MsiRecordGetFieldCount ( MSIHANDLE  handle)

Definition at line 113 of file record.c.

114{
115 MSIRECORD *rec;
116 UINT ret;
117
118 TRACE( "%lu\n", handle );
119
121 if( !rec )
122 return -1;
123
124 msiobj_lock( &rec->hdr );
126 msiobj_unlock( &rec->hdr );
127 msiobj_release( &rec->hdr );
128
129 return ret;
130}
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec)
Definition: record.c:108

Referenced by check_record_(), externalui_message_callback(), externalui_record_callback(), record_invoke(), test_db(), test_integers(), test_msiinsert(), test_msirecord(), and test_packagecoltypes().

◆ MsiRecordGetInteger()

int WINAPI MsiRecordGetInteger ( MSIHANDLE  handle,
UINT  iField 
)

◆ MsiRecordGetStringA()

UINT WINAPI MsiRecordGetStringA ( MSIHANDLE  ,
UINT  ,
LPSTR  ,
LPDWORD   
)

◆ MsiRecordGetStringW()

UINT WINAPI MsiRecordGetStringW ( MSIHANDLE  ,
UINT  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiRecordIsNull()

BOOL WINAPI MsiRecordIsNull ( MSIHANDLE  handle,
UINT  iField 
)

Definition at line 333 of file record.c.

334{
335 MSIRECORD *rec;
336 UINT ret;
337
338 TRACE( "%lu, %u\n", handle, iField );
339
341 if( !rec )
342 return FALSE;
343 msiobj_lock( &rec->hdr );
344 ret = MSI_RecordIsNull( rec, iField );
345 msiobj_unlock( &rec->hdr );
346 msiobj_release( &rec->hdr );
347 return ret;
348
349}
BOOL MSI_RecordIsNull(MSIRECORD *rec, UINT iField)
Definition: record.c:321

Referenced by test_fieldzero(), test_msiinsert(), and test_msirecord().

◆ MsiRecordReadStream()

UINT WINAPI MsiRecordReadStream ( MSIHANDLE  ,
UINT  ,
char ,
LPDWORD   
)

◆ MsiRecordSetInteger()

◆ MsiRecordSetStreamA()

UINT WINAPI MsiRecordSetStreamA ( MSIHANDLE  ,
UINT  ,
LPCSTR   
)

◆ MsiRecordSetStreamW()

UINT WINAPI MsiRecordSetStreamW ( MSIHANDLE  ,
UINT  ,
LPCWSTR   
)

◆ MsiRecordSetStringA()

UINT WINAPI MsiRecordSetStringA ( MSIHANDLE  ,
UINT  ,
LPCSTR   
)

◆ MsiRecordSetStringW()

UINT WINAPI MsiRecordSetStringW ( MSIHANDLE  ,
UINT  ,
LPCWSTR   
)

◆ MsiSequenceA()

UINT WINAPI MsiSequenceA ( MSIHANDLE  hInstall,
LPCSTR  szTable,
INT  iSequenceMode 
)

Definition at line 104 of file install.c.

105{
106 LPWSTR szwTable;
107 UINT ret;
108
109 TRACE("%s, %d\n", debugstr_a(szTable), iSequenceMode);
110
111 szwTable = strdupAtoW(szTable);
112 if (szTable && !szwTable)
114
115 ret = MsiSequenceW( hInstall, szwTable, iSequenceMode );
116 free( szwTable );
117 return ret;
118}
UINT WINAPI MsiSequenceW(MSIHANDLE hInstall, LPCWSTR szTable, INT iSequenceMode)
Definition: install.c:123

Referenced by test_doaction().

◆ MsiSequenceW()

UINT WINAPI MsiSequenceW ( MSIHANDLE  hInstall,
LPCWSTR  szTable,
INT  iSequenceMode 
)

Definition at line 123 of file install.c.

124{
125 MSIPACKAGE *package;
126 UINT ret;
127
128 TRACE("%s, %d\n", debugstr_w(szTable), iSequenceMode);
129
130 if (!szTable)
132
133 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
134 if (!package)
135 {
136 MSIHANDLE remote;
137
138 if (!(remote = msi_get_remote(hInstall)))
140
141 __TRY
142 {
143 ret = remote_Sequence(remote, szTable, iSequenceMode);
144 }
146 {
148 }
150
151 return ret;
152 }
153 ret = MSI_Sequence( package, szTable );
154 msiobj_release( &package->hdr );
155 return ret;
156}
UINT MSI_Sequence(MSIPACKAGE *package, LPCWSTR table)
Definition: action.c:450

Referenced by MsiSequenceA(), and s_remote_Sequence().

◆ MsiSetComponentStateA()

UINT WINAPI MsiSetComponentStateA ( MSIHANDLE  hInstall,
LPCSTR  szComponent,
INSTALLSTATE  iState 
)

Definition at line 1379 of file install.c.

1381{
1382 UINT rc;
1383 LPWSTR szwComponent = strdupAtoW(szComponent);
1384
1385 rc = MsiSetComponentStateW(hInstall, szwComponent, iState);
1386
1387 free(szwComponent);
1388
1389 return rc;
1390}
UINT WINAPI MsiSetComponentStateW(MSIHANDLE hInstall, LPCWSTR szComponent, INSTALLSTATE iState)
Definition: install.c:1462

Referenced by test_feature_states(), test_formatrecord_tables(), test_MsiSetComponentState(), and test_removefiles().

◆ MsiSetComponentStateW()

UINT WINAPI MsiSetComponentStateW ( MSIHANDLE  hInstall,
LPCWSTR  szComponent,
INSTALLSTATE  iState 
)

Definition at line 1462 of file install.c.

1464{
1465 MSIPACKAGE* package;
1466 UINT ret;
1467
1468 if (!szComponent)
1470
1471 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1472 if (!package)
1473 {
1474 MSIHANDLE remote;
1475
1476 if (!(remote = msi_get_remote(hInstall)))
1477 return ERROR_INVALID_HANDLE;
1478
1479 __TRY
1480 {
1481 ret = remote_SetComponentState(remote, szComponent, iState);
1482 }
1484 {
1486 }
1487 __ENDTRY
1488
1489 return ret;
1490 }
1491
1492 ret = MSI_SetComponentStateW(package, szComponent, iState);
1493 msiobj_release(&package->hdr);
1494 return ret;
1495}
static UINT MSI_SetComponentStateW(MSIPACKAGE *package, LPCWSTR szComponent, INSTALLSTATE iState)
Definition: install.c:1410
#define ERROR_UNKNOWN_COMPONENT
Definition: winerror.h:965

Referenced by MsiSetComponentStateA(), and s_remote_SetComponentState().

◆ MsiSetFeatureAttributesA()

UINT WINAPI MsiSetFeatureAttributesA ( MSIHANDLE  handle,
LPCSTR  feature,
DWORD  attrs 
)

Definition at line 988 of file install.c.

989{
990 UINT r;
991 WCHAR *featureW = NULL;
992
993 TRACE( "%lu, %s, %#lx\n", handle, debugstr_a(feature), attrs );
994
995 if (feature && !(featureW = strdupAtoW( feature ))) return ERROR_OUTOFMEMORY;
996
997 r = MsiSetFeatureAttributesW( handle, featureW, attrs );
998 free( featureW );
999 return r;
1000}
UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE handle, LPCWSTR name, DWORD attrs)
Definition: install.c:1018
INTERNETFEATURELIST feature
Definition: misc.c:1719
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by test_MsiSetFeatureAttributes().

◆ MsiSetFeatureAttributesW()

UINT WINAPI MsiSetFeatureAttributesW ( MSIHANDLE  handle,
LPCWSTR  name,
DWORD  attrs 
)

Definition at line 1018 of file install.c.

1019{
1020 MSIPACKAGE *package;
1022 WCHAR *costing;
1023
1024 TRACE( "%lu, %s, %#lx\n", handle, debugstr_w(name), attrs );
1025
1026 if (!name || !name[0]) return ERROR_UNKNOWN_FEATURE;
1027
1028 if (!(package = msihandle2msiinfo( handle, MSIHANDLETYPE_PACKAGE )))
1029 return ERROR_INVALID_HANDLE;
1030
1031 costing = msi_dup_property( package->db, L"CostingComplete" );
1032 if (!costing || !wcscmp( costing, L"1" ))
1033 {
1034 free( costing );
1035 msiobj_release( &package->hdr );
1036 return ERROR_FUNCTION_FAILED;
1037 }
1038 free( costing );
1039 if (!(feature = msi_get_loaded_feature( package, name )))
1040 {
1041 msiobj_release( &package->hdr );
1042 return ERROR_UNKNOWN_FEATURE;
1043 }
1044 feature->Attributes = unmap_feature_attributes( attrs );
1045 msiobj_release( &package->hdr );
1046 return ERROR_SUCCESS;
1047}
MSIFEATURE * msi_get_loaded_feature(MSIPACKAGE *package, const WCHAR *Feature)
Definition: action.c:561
static DWORD unmap_feature_attributes(DWORD attrs)
Definition: install.c:1002
WCHAR * msi_dup_property(MSIDATABASE *db, const WCHAR *prop)
#define MSIHANDLETYPE_PACKAGE
Definition: msipriv.h:726
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
Definition: name.c:39
#define ERROR_UNKNOWN_FEATURE
Definition: winerror.h:964

Referenced by MsiSetFeatureAttributesA().

◆ MsiSetFeatureStateA()

UINT WINAPI MsiSetFeatureStateA ( MSIHANDLE  hInstall,
LPCSTR  szFeature,
INSTALLSTATE  iState 
)

Definition at line 817 of file install.c.

819{
820 LPWSTR szwFeature = NULL;
821 UINT rc;
822
823 szwFeature = strdupAtoW(szFeature);
824
825 rc = MsiSetFeatureStateW(hInstall,szwFeature, iState);
826
827 free(szwFeature);
828
829 return rc;
830}
UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall, LPCWSTR szFeature, INSTALLSTATE iState)
Definition: install.c:947

Referenced by test_feature_states(), and test_featureparents().

◆ MsiSetFeatureStateW()

UINT WINAPI MsiSetFeatureStateW ( MSIHANDLE  hInstall,
LPCWSTR  szFeature,
INSTALLSTATE  iState 
)

Definition at line 947 of file install.c.

949{
950 MSIPACKAGE* package;
951 UINT rc = ERROR_SUCCESS;
952
953 TRACE("%s %i\n",debugstr_w(szFeature), iState);
954
955 if (!szFeature)
957
958 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
959 if (!package)
960 {
961 MSIHANDLE remote;
962
963 if (!(remote = msi_get_remote(hInstall)))
965
966 __TRY
967 {
968 rc = remote_SetFeatureState(remote, szFeature, iState);
969 }
971 {
972 rc = GetExceptionCode();
973 }
975
976 return rc;
977 }
978
979 rc = MSI_SetFeatureStateW(package,szFeature,iState);
980
981 msiobj_release( &package->hdr );
982 return rc;
983}
UINT MSI_SetFeatureStateW(MSIPACKAGE *package, LPCWSTR szFeature, INSTALLSTATE iState)
Definition: install.c:915

Referenced by MsiSetFeatureStateA(), s_remote_SetFeatureState(), and session_invoke().

◆ MsiSetInstallLevel()

UINT WINAPI MsiSetInstallLevel ( MSIHANDLE  hInstall,
int  iInstallLevel 
)

Definition at line 1596 of file install.c.

1597{
1598 MSIPACKAGE* package;
1599 UINT r;
1600
1601 TRACE( "%lu %d\n", hInstall, iInstallLevel );
1602
1603 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1604 if (!package)
1605 {
1606 MSIHANDLE remote;
1607
1608 if (!(remote = msi_get_remote(hInstall)))
1609 return ERROR_INVALID_HANDLE;
1610
1611 __TRY
1612 {
1613 r = remote_SetInstallLevel(remote, iInstallLevel);
1614 }
1616 {
1617 r = GetExceptionCode();
1618 }
1619 __ENDTRY
1620
1621 return r;
1622 }
1623
1624 r = MSI_SetInstallLevel( package, iInstallLevel );
1625
1626 msiobj_release( &package->hdr );
1627
1628 return r;
1629}
UINT MSI_SetInstallLevel(MSIPACKAGE *package, int iInstallLevel)
Definition: install.c:1571

Referenced by s_remote_SetInstallLevel(), session_invoke(), and test_misc().

◆ MsiSetMode()

UINT WINAPI MsiSetMode ( MSIHANDLE  hInstall,
MSIRUNMODE  iRunMode,
BOOL  fState 
)

Definition at line 763 of file install.c.

764{
765 MSIPACKAGE *package;
766 UINT r;
767
768 TRACE( "%lu, %d, %d\n", hInstall, iRunMode, fState );
769
770 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
771 if (!package)
772 {
773 MSIHANDLE remote;
774
775 if (!(remote = msi_get_remote(hInstall)))
776 return FALSE;
777
778 __TRY
779 {
780 r = remote_SetMode(remote, iRunMode, fState);
781 }
783 {
785 }
787
788 return r;
789 }
790
791 switch (iRunMode)
792 {
794 package->need_reboot_at_end = (fState != 0);
796 break;
797
799 package->need_reboot_now = (fState != 0);
801 break;
802
803 default:
805 }
806
807 msiobj_release( &package->hdr );
808 return r;
809}
#define ERROR_ACCESS_DENIED
Definition: compat.h:97

Referenced by s_remote_SetMode(), session_invoke(), and test_misc().

◆ MsiSetPropertyA()

UINT WINAPI MsiSetPropertyA ( MSIHANDLE  hInstall,
LPCSTR  szName,
LPCSTR  szValue 
)

Definition at line 2067 of file package.c.

2068{
2069 LPWSTR szwName = NULL, szwValue = NULL;
2071
2072 szwName = strdupAtoW( szName );
2073 if( szName && !szwName )
2074 goto end;
2075
2076 szwValue = strdupAtoW( szValue );
2077 if( szValue && !szwValue )
2078 goto end;
2079
2080 r = MsiSetPropertyW( hInstall, szwName, szwValue);
2081
2082end:
2083 free( szwName );
2084 free( szwValue );
2085
2086 return r;
2087}
UINT WINAPI MsiSetPropertyW(MSIHANDLE hInstall, LPCWSTR szName, LPCWSTR szValue)
Definition: package.c:2149
static const WCHAR szName[]
Definition: powrprof.c:45

Referenced by nested(), test_appsearch_complocator(), test_condition(), test_format_record(), test_formatrecord2(), test_formatrecord_package(), test_formatrecord_tables(), test_launchconditions(), test_misc(), test_MsiDatabaseCommit(), test_MsiGetProductProperty(), test_MsiGetSourcePath(), test_MsiSetProperty(), test_property_table(), test_props(), test_removefiles(), and test_top_level_action().

◆ MsiSetPropertyW()

UINT WINAPI MsiSetPropertyW ( MSIHANDLE  hInstall,
LPCWSTR  szName,
LPCWSTR  szValue 
)

Definition at line 2149 of file package.c.

2150{
2151 MSIPACKAGE *package;
2152 UINT ret;
2153
2154 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
2155 if( !package )
2156 {
2157 MSIHANDLE remote;
2158
2159 if (!(remote = msi_get_remote(hInstall)))
2160 return ERROR_INVALID_HANDLE;
2161
2162 __TRY
2163 {
2164 ret = remote_SetProperty(remote, szName, szValue);
2165 }
2167 {
2169 }
2170 __ENDTRY
2171
2172 return ret;
2173 }
2174
2175 ret = msi_set_property( package->db, szName, szValue, -1 );
2176 if (ret == ERROR_SUCCESS && !wcscmp( szName, L"SourceDir" ))
2177 msi_reset_source_folders( package );
2178
2179 msiobj_release( &package->hdr );
2180 return ret;
2181}
void msi_reset_source_folders(MSIPACKAGE *package)
Definition: package.c:2089
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int)
Definition: package.c:2100

Referenced by MsiSetPropertyA(), s_remote_SetProperty(), and session_invoke().

◆ MsiSetTargetPathA()

UINT WINAPI MsiSetTargetPathA ( MSIHANDLE  hInstall,
LPCSTR  szFolder,
LPCSTR  szFolderPath 
)

Definition at line 519 of file install.c.

521{
522 LPWSTR szwFolder = NULL, szwFolderPath = NULL;
524
525 if ( !szFolder || !szFolderPath )
527
528 szwFolder = strdupAtoW(szFolder);
529 szwFolderPath = strdupAtoW(szFolderPath);
530 if (!szwFolder || !szwFolderPath)
531 goto end;
532
533 rc = MsiSetTargetPathW( hInstall, szwFolder, szwFolderPath );
534
535end:
536 free(szwFolder);
537 free(szwFolderPath);
538
539 return rc;
540}
UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall, LPCWSTR szFolder, LPCWSTR szFolderPath)
Definition: install.c:600

Referenced by test_settargetpath(), and test_targetpath().

◆ MsiSetTargetPathW()

UINT WINAPI MsiSetTargetPathW ( MSIHANDLE  hInstall,
LPCWSTR  szFolder,
LPCWSTR  szFolderPath 
)

Definition at line 600 of file install.c.

602{
603 MSIPACKAGE *package;
604 UINT ret;
605
606 TRACE("%s %s\n",debugstr_w(szFolder),debugstr_w(szFolderPath));
607
608 if ( !szFolder || !szFolderPath )
610
611 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
612 if (!package)
613 {
614 MSIHANDLE remote;
615
616 if (!(remote = msi_get_remote(hInstall)))
618
619 __TRY
620 {
621 ret = remote_SetTargetPath(remote, szFolder, szFolderPath);
622 }
624 {
626 }
628
629 return ret;
630 }
631
632 ret = MSI_SetTargetPathW( package, szFolder, szFolderPath );
633 msiobj_release( &package->hdr );
634 return ret;
635}
UINT MSI_SetTargetPathW(MSIPACKAGE *package, LPCWSTR szFolder, LPCWSTR szFolderPath)
Definition: install.c:564

Referenced by MsiSetTargetPathA(), and s_remote_SetTargetPath().

◆ MsiSummaryInfoGetPropertyA()

UINT WINAPI MsiSummaryInfoGetPropertyA ( MSIHANDLE  ,
UINT  ,
PUINT  ,
LPINT  ,
FILETIME ,
LPSTR  ,
LPDWORD   
)

◆ MsiSummaryInfoGetPropertyCount()

UINT WINAPI MsiSummaryInfoGetPropertyCount ( MSIHANDLE  hSummaryInfo,
PUINT  pCount 
)

Definition at line 611 of file suminfo.c.

612{
613 MSISUMMARYINFO *si;
614
615 TRACE( "%lu, %p\n", hSummaryInfo, pCount );
616
617 si = msihandle2msiinfo( hSummaryInfo, MSIHANDLETYPE_SUMMARYINFO );
618 if( !si )
619 {
620 MSIHANDLE remote;
621 UINT ret;
622
623 if (!(remote = msi_get_remote( hSummaryInfo )))
625
626 __TRY
627 {
628 ret = remote_SummaryInfoGetPropertyCount( remote, pCount );
629 }
631 {
633 }
635
636 return ret;
637 }
638
639 if( pCount )
640 *pCount = get_property_count( si->property );
641 msiobj_release( &si->hdr );
642
643 return ERROR_SUCCESS;
644}
static UINT get_property_count(const PROPVARIANT *property)
Definition: suminfo.c:158
#define MSIHANDLETYPE_SUMMARYINFO
Definition: msipriv.h:723
MSIOBJECTHDR hdr
Definition: msipriv.h:486
PROPVARIANT property[MSI_MAX_PROPS]
Definition: msipriv.h:489

Referenced by s_remote_SummaryInfoGetPropertyCount(), summaryinfo_invoke(), test_db(), test_suminfo(), test_suminfo_import(), and test_summary_binary().

◆ MsiSummaryInfoGetPropertyW()

UINT WINAPI MsiSummaryInfoGetPropertyW ( MSIHANDLE  ,
UINT  ,
PUINT  ,
LPINT  ,
FILETIME ,
LPWSTR  ,
LPDWORD   
)

◆ MsiSummaryInfoPersist()

UINT WINAPI MsiSummaryInfoPersist ( MSIHANDLE  handle)

Definition at line 1227 of file suminfo.c.

1228{
1229 MSISUMMARYINFO *si;
1230 UINT ret;
1231
1232 TRACE( "%lu\n", handle );
1233
1235 if( !si )
1236 return ERROR_INVALID_HANDLE;
1237
1238 ret = suminfo_persist( si );
1239
1240 msiobj_release( &si->hdr );
1241 return ret;
1242}
static UINT suminfo_persist(MSISUMMARYINFO *si)
Definition: suminfo.c:972

Referenced by helper_createpackage(), set_admin_summary_info(), set_suminfo(), set_suminfo_prop(), set_summary_dword(), set_summary_info(), set_summary_str(), set_transform_summary_info(), test_streamtable(), test_suminfo(), test_summary_binary(), and write_msi_summary_info().

◆ MsiSummaryInfoSetPropertyA()

UINT WINAPI MsiSummaryInfoSetPropertyA ( MSIHANDLE  ,
UINT  ,
UINT  ,
INT  ,
FILETIME ,
LPCSTR   
)

◆ MsiSummaryInfoSetPropertyW()

UINT WINAPI MsiSummaryInfoSetPropertyW ( MSIHANDLE  ,
UINT  ,
UINT  ,
INT  ,
FILETIME ,
LPCWSTR   
)

◆ MsiViewClose()

UINT WINAPI MsiViewClose ( MSIHANDLE  hView)

Definition at line 469 of file msiquery.c.

470{
472 UINT ret;
473
474 TRACE( "%lu\n", hView );
475
477 if (!query)
478 {
479 MSIHANDLE remote;
480
481 if (!(remote = msi_get_remote(hView)))
483
484 __TRY
485 {
486 ret = remote_ViewClose(remote);
487 }
489 {
491 }
493
494 return ret;
495 }
496
498 msiobj_release( &query->hdr );
499 return ret;
500}
#define MSIHANDLETYPE_VIEW
Definition: msipriv.h:724
UINT MSI_ViewClose(MSIQUERY *query)
Definition: msiquery.c:454

Referenced by do_query(), find_entry(), find_entryW(), find_prop_in_property(), get_column_info(), get_columns_table_type(), get_integer(), get_string(), run_query(), run_queryW(), s_remote_ViewClose(), test_carriagereturn(), test_collation(), test_columnorder(), test_createtable(), test_db(), test_dbmerge(), test_deleterow(), test_droptable(), test_emptypackage(), test_fieldzero(), test_getcolinfo(), test_handle_limit(), test_insertorder(), test_integers(), test_join(), test_longstrings(), test_msiexport(), test_msiimport(), test_msiinsert(), test_noquotes(), test_order(), test_quotes(), test_rows_order(), test_select_column_names(), test_select_markers(), test_select_with_tablenames(), test_simple_patch(), test_storages_table(), test_streamtable(), test_stringtable(), test_system_tables(), test_tables_order(), test_temporary_table(), test_try_transform(), test_update(), test_viewfetch_wraparound(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_refresh(), test_viewmodify_update(), test_where(), test_where_not_in_selected(), test_where_viewmodify(), try_query_param(), and view_invoke().

◆ MsiViewExecute()

UINT WINAPI MsiViewExecute ( MSIHANDLE  hView,
MSIHANDLE  hRec 
)

Definition at line 518 of file msiquery.c.

519{
521 MSIRECORD *rec = NULL;
522 UINT ret;
523
524 TRACE( "%lu, %lu\n", hView, hRec );
525
526 if( hRec )
527 {
529 if( !rec )
531 }
532
534 if( !query )
535 {
536 MSIHANDLE remote;
537
538 if (!(remote = msi_get_remote(hView)))
540
541 __TRY
542 {
543 ret = remote_ViewExecute(remote, rec ? (struct wire_record *)&rec->count : NULL);
544 }
546 {
548 }
550
551 if (rec)
552 msiobj_release(&rec->hdr);
553 return ret;
554 }
555
556 msiobj_lock( &rec->hdr );
557 ret = MSI_ViewExecute( query, rec );
558 msiobj_unlock( &rec->hdr );
559
560 msiobj_release( &query->hdr );
561 if( rec )
562 msiobj_release( &rec->hdr );
563
564 return ret;
565}
UINT MSI_ViewExecute(MSIQUERY *query, MSIRECORD *rec)
Definition: msiquery.c:502

Referenced by do_query(), find_entry(), find_entryW(), find_prop_in_property(), get_column_info(), get_columns_table_type(), get_integer(), get_string(), run_query(), run_queryW(), s_remote_ViewExecute(), test_carriagereturn(), test_collation(), test_columnorder(), test_createtable(), test_db(), test_dbmerge(), test_deleterow(), test_droptable(), test_emptypackage(), test_fieldzero(), test_getcolinfo(), test_insertorder(), test_integers(), test_join(), test_longstrings(), test_msiexport(), test_msiimport(), test_msiinsert(), test_noquotes(), test_order(), test_quotes(), test_rows_order(), test_select_column_names(), test_select_markers(), test_select_with_tablenames(), test_simple_patch(), test_storages_table(), test_streamtable(), test_stringtable(), test_system_tables(), test_tables_order(), test_try_transform(), test_update(), test_view_get_error(), test_viewfetch_wraparound(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_insert(), test_viewmodify_merge(), test_viewmodify_refresh(), test_viewmodify_update(), test_where(), test_where_not_in_selected(), test_where_viewmodify(), try_query_param(), and view_invoke().

◆ MsiViewFetch()

UINT WINAPI MsiViewFetch ( MSIHANDLE  hView,
MSIHANDLE record 
)

Definition at line 404 of file msiquery.c.

405{
407 MSIRECORD *rec = NULL;
408 UINT ret;
409
410 TRACE( "%lu, %p\n", hView, record );
411
412 if( !record )
414 *record = 0;
415
417 if (!query)
418 {
419 struct wire_record *wire_rec = NULL;
420 MSIHANDLE remote;
421
422 if (!(remote = msi_get_remote(hView)))
424
425 __TRY
426 {
427 ret = remote_ViewFetch(remote, &wire_rec);
428 }
430 {
432 }
434
435 if (!ret)
436 {
437 ret = unmarshal_record(wire_rec, record);
438 free_remote_record(wire_rec);
439 }
440 return ret;
441 }
442 ret = MSI_ViewFetch( query, &rec );
443 if( ret == ERROR_SUCCESS )
444 {
445 *record = alloc_msihandle( &rec->hdr );
446 if (! *record)
448 msiobj_release( &rec->hdr );
449 }
450 msiobj_release( &query->hdr );
451 return ret;
452}
void free_remote_record(struct wire_record *rec)
Definition: record.c:1149
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out)
Definition: record.c:1095
UINT MSI_ViewFetch(MSIQUERY *query, MSIRECORD **prec)
Definition: msiquery.c:377

Referenced by do_query(), find_entry(), find_entryW(), find_prop_in_property(), get_columns_table_type(), get_integer(), get_string(), s_remote_ViewFetch(), test_carriagereturn(), test_collation(), test_columnorder(), test_db(), test_dbmerge(), test_deleterow(), test_droptable(), test_emptypackage(), test_fieldzero(), test_insertorder(), test_join(), test_longstrings(), test_msiimport(), test_msiinsert(), test_noquotes(), test_order(), test_quotes(), test_rows_order(), test_select_column_names(), test_select_markers(), test_select_with_tablenames(), test_simple_patch(), test_storages_table(), test_streamtable(), test_stringtable(), test_system_tables(), test_tables_order(), test_try_transform(), test_update(), test_viewfetch_wraparound(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_insert(), test_viewmodify_merge(), test_viewmodify_refresh(), test_viewmodify_update(), test_where(), test_where_not_in_selected(), test_where_viewmodify(), and view_invoke().

◆ MsiViewGetColumnInfo()

UINT WINAPI MsiViewGetColumnInfo ( MSIHANDLE  hView,
MSICOLINFO  info,
MSIHANDLE hRec 
)

Definition at line 641 of file msiquery.c.

642{
644 MSIRECORD *rec = NULL;
645 UINT r;
646
647 TRACE( "%lu, %d, %p\n", hView, info, hRec );
648
649 if( !hRec )
651
654
656 if (!query)
657 {
658 struct wire_record *wire_rec = NULL;
659 MSIHANDLE remote;
660
661 if (!(remote = msi_get_remote(hView)))
663
664 __TRY
665 {
666 r = remote_ViewGetColumnInfo(remote, info, &wire_rec);
667 }
669 {
671 }
673
674 if (!r)
675 {
676 r = unmarshal_record(wire_rec, hRec);
677 free_remote_record(wire_rec);
678 }
679
680 return r;
681 }
682
683 r = MSI_ViewGetColumnInfo( query, info, &rec );
684 if ( r == ERROR_SUCCESS )
685 {
686 *hRec = alloc_msihandle( &rec->hdr );
687 if ( !*hRec )
689 msiobj_release( &rec->hdr );
690 }
691
692 msiobj_release( &query->hdr );
693
694 return r;
695}
UINT MSI_ViewGetColumnInfo(MSIQUERY *query, MSICOLINFO info, MSIRECORD **prec)
Definition: msiquery.c:602

Referenced by get_column_info(), s_remote_ViewGetColumnInfo(), test_columnorder(), test_createtable(), test_db(), test_dbmerge(), test_getcolinfo(), test_integers(), test_msiimport(), test_packagecoltypes(), test_select_column_names(), test_temporary_table(), and test_try_transform().

◆ MsiViewGetErrorA()

MSIDBERROR WINAPI MsiViewGetErrorA ( MSIHANDLE  ,
LPSTR  ,
LPDWORD   
)

◆ MsiViewGetErrorW()

MSIDBERROR WINAPI MsiViewGetErrorW ( MSIHANDLE  ,
LPWSTR  ,
LPDWORD   
)

◆ MsiViewModify()

UINT WINAPI MsiViewModify ( MSIHANDLE  hView,
MSIMODIFY  eModifyMode,
MSIHANDLE  hRecord 
)

Definition at line 719 of file msiquery.c.

720{
722 MSIRECORD *rec = NULL;
724
725 TRACE( "%lu, %#x, %lu\n", hView, eModifyMode, hRecord );
726
727 rec = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
728
729 if (!rec)
731
733 if (!query)
734 {
735 struct wire_record *wire_refreshed = NULL;
736 MSIHANDLE remote;
737
738 if (!(remote = msi_get_remote(hView)))
740
741 __TRY
742 {
743 r = remote_ViewModify(remote, eModifyMode,
744 (struct wire_record *)&rec->count, &wire_refreshed);
745 }
747 {
749 }
751
752 if (!r && (eModifyMode == MSIMODIFY_REFRESH || eModifyMode == MSIMODIFY_SEEK))
753 {
754 r = copy_remote_record(wire_refreshed, hRecord);
755 free_remote_record(wire_refreshed);
756 }
757
758 msiobj_release(&rec->hdr);
759 return r;
760 }
761
762 r = MSI_ViewModify( query, eModifyMode, rec );
763
764 msiobj_release( &query->hdr );
765 msiobj_release(&rec->hdr);
766 return r;
767}
UINT copy_remote_record(const struct wire_record *rec, MSIHANDLE handle)
Definition: record.c:1052
UINT MSI_ViewModify(MSIQUERY *query, MSIMODIFY mode, MSIRECORD *rec)
Definition: msiquery.c:697

Referenced by s_remote_ViewModify(), test_db(), test_join(), test_stringtable(), test_view_get_error(), test_viewmodify(), test_viewmodify_assign(), test_viewmodify_delete(), test_viewmodify_delete_temporary(), test_viewmodify_insert(), test_viewmodify_merge(), test_viewmodify_refresh(), test_viewmodify_update(), test_where_viewmodify(), and view_invoke().