ReactOS 0.4.15-dev-8219-ge8b88cf
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 add_custom_dll(), generate_transform(), InstallerImpl_CreateRecord(), ok_(), 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 963 of file msiquery.c.

964{
965 MSIDATABASE *db;
966 UINT r;
967
968 TRACE( "%lu\n", hdb );
969
971 if( !db )
972 {
973 MSIHANDLE remote;
974
975 if (!(remote = msi_get_remote(hdb)))
977
978 WARN("not allowed during a custom action!\n");
979
980 return ERROR_SUCCESS;
981 }
982
983 if (db->mode == MSI_OPEN_READONLY)
984 {
985 msiobj_release( &db->hdr );
986 return ERROR_SUCCESS;
987 }
988
989 /* FIXME: lock the database */
990
991 r = msi_commit_streams( db );
992 if (r != ERROR_SUCCESS) ERR("Failed to commit streams!\n");
993 else
994 {
995 r = MSI_CommitTables( db );
996 if (r != ERROR_SUCCESS) ERR("Failed to commit tables!\n");
997 }
998
999 /* FIXME: unlock the database */
1000
1001 msiobj_release( &db->hdr );
1002
1003 if (r == ERROR_SUCCESS)
1004 {
1005 msi_free( db->deletefile );
1006 db->deletefile = NULL;
1007 }
1008
1009 return r;
1010}
#define WARN(fmt,...)
Definition: debug.h:115
#define ERR(fmt,...)
Definition: debug.h:113
#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
UINT MSI_CommitTables(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: table.c:2887
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:722
static void msi_free(void *mem)
Definition: msipriv.h:1159
UINT msi_commit_streams(MSIDATABASE *db) DECLSPEC_HIDDEN
Definition: streams.c:607
#define MSI_OPEN_READONLY
Definition: msipriv.h:99
unsigned int UINT
Definition: ndis.h:50
MSIOBJECTHDR hdr
Definition: msipriv.h:108
LPWSTR deletefile
Definition: msipriv.h:113

Referenced by create_database(), 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:84
#define GetExceptionCode()
Definition: seh.h:27
#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 msi_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:7610
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 4230 of file dialog.c.

4231{
4232 MSIDATABASE *db;
4235
4236 TRACE( "%lu %p\n", hdb, phPreview );
4237
4238 if (!(db = msihandle2msiinfo(hdb, MSIHANDLETYPE_DATABASE)))
4239 return ERROR_INVALID_HANDLE;
4240
4242 if (preview)
4243 {
4244 *phPreview = alloc_msihandle( &preview->hdr );
4245 msiobj_release( &preview->hdr );
4246 r = ERROR_SUCCESS;
4247 if (!*phPreview)
4249 }
4250 msiobj_release( &db->hdr );
4251 return r;
4252}
static previewinfo preview
Definition: print.c:56
static MSIPREVIEW * MSI_EnableUIPreview(MSIDATABASE *db)
Definition: dialog.c:4211

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 1674 of file package.c.

1675{
1676 MSIPACKAGE *package;
1677 MSIHANDLE handle = 0;
1678 MSIHANDLE remote;
1679
1680 TRACE( "%lu\n", hInstall );
1681
1682 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
1683 if( package)
1684 {
1685 handle = alloc_msihandle( &package->db->hdr );
1686 msiobj_release( &package->hdr );
1687 }
1688 else if ((remote = msi_get_remote(hInstall)))
1689 {
1690 __TRY
1691 {
1692 handle = remote_GetActiveDatabase(remote);
1694 }
1696 {
1697 handle = 0;
1698 }
1699 __ENDTRY
1700 }
1701
1702 return handle;
1703}
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 1396 of file install.c.

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

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 1897 of file database.c.

1898{
1900 MSIDATABASE *db;
1901
1902 TRACE( "%lu\n", handle );
1903
1905 return MSIDBSTATE_ERROR;
1906
1907 if (db->mode != MSI_OPEN_READONLY )
1909 msiobj_release( &db->hdr );
1910
1911 return ret;
1912}

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 msi_free(szwFeature);
1139
1140 return rc;
1141}
UINT WINAPI MsiGetFeatureCostW(MSIHANDLE hInstall, const WCHAR *szFeature, MSICOSTTREE iCostTree, INSTALLSTATE iState, INT *piCost)
Definition: install.c:1207

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 msi_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 1541 of file install.c.

1542{
1543 MSIPACKAGE* package;
1544 LANGID langid;
1545
1546 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1547 if (!package)
1548 {
1549 MSIHANDLE remote;
1550
1551 if (!(remote = msi_get_remote(hInstall)))
1552 return ERROR_INVALID_HANDLE;
1553
1554 __TRY
1555 {
1556 langid = remote_GetLanguage(remote);
1557 }
1559 {
1560 langid = 0;
1561 }
1562 __ENDTRY
1563
1564 return langid;
1565 }
1566
1567 langid = msi_get_property_int( package->db, L"ProductLanguage", 0 );
1568 msiobj_release( &package->hdr );
1569 return langid;
1570}
USHORT LANGID
Definition: mui.h:9
LANGID langid
Definition: msctf.idl:644
int msi_get_property_int(MSIDATABASE *package, LPCWSTR prop, int def) DECLSPEC_HIDDEN
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 872 of file msiquery.c.

873{
874 FIXME("\n");
875 return 0;
876}
#define FIXME(fmt,...)
Definition: debug.h:114

◆ 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 msi_free( szwPersist );
345 msi_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(), 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 4297 of file dialog.c.

4298{
4299 UINT r;
4300 LPWSTR strW = NULL;
4301
4302 TRACE( "%lu %s\n", hPreview, debugstr_a(szDialogName) );
4303
4304 if (szDialogName)
4305 {
4306 strW = strdupAtoW( szDialogName );
4307 if (!strW)
4308 return ERROR_OUTOFMEMORY;
4309 }
4310 r = MsiPreviewDialogW( hPreview, strW );
4311 msi_free( strW );
4312 return r;
4313}
UINT WINAPI MsiPreviewDialogW(MSIHANDLE hPreview, LPCWSTR szDialogName)
Definition: dialog.c:4281
WCHAR strW[12]
Definition: clipboard.c:2029

◆ MsiPreviewDialogW()

UINT WINAPI MsiPreviewDialogW ( MSIHANDLE  hPreview,
LPCWSTR  szDialogName 
)

Definition at line 4281 of file dialog.c.

4282{
4284 UINT r;
4285
4286 TRACE( "%lu %s\n", hPreview, debugstr_w(szDialogName) );
4287
4289 if (!preview)
4290 return ERROR_INVALID_HANDLE;
4291
4292 r = MSI_PreviewDialogW( preview, szDialogName );
4293 msiobj_release( &preview->hdr );
4294 return r;
4295}
static UINT MSI_PreviewDialogW(MSIPREVIEW *preview, LPCWSTR szDialogName)
Definition: dialog.c:4260
#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 *) DECLSPEC_HIDDEN
Definition: package.c:1914

Referenced by ok_(), 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
INT iVal
Definition: msipriv.h:142
UINT type
Definition: msipriv.h:139
union tagMSIFIELD::@507 u
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 msi_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:452

Referenced by MsiSequenceA(), and s_remote_Sequence().

◆ MsiSetComponentStateA()

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

Definition at line 1380 of file install.c.

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

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 1463 of file install.c.

1465{
1466 MSIPACKAGE* package;
1467 UINT ret;
1468
1469 if (!szComponent)
1471
1472 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
1473 if (!package)
1474 {
1475 MSIHANDLE remote;
1476
1477 if (!(remote = msi_get_remote(hInstall)))
1478 return ERROR_INVALID_HANDLE;
1479
1480 __TRY
1481 {
1482 ret = remote_SetComponentState(remote, szComponent, iState);
1483 }
1485 {
1487 }
1488 __ENDTRY
1489
1490 return ret;
1491 }
1492
1493 ret = MSI_SetComponentStateW(package, szComponent, iState);
1494 msiobj_release(&package->hdr);
1495 return ret;
1496}
static UINT MSI_SetComponentStateW(MSIPACKAGE *package, LPCWSTR szComponent, INSTALLSTATE iState)
Definition: install.c:1411
#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 msi_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 msi_free( costing );
1035 msiobj_release( &package->hdr );
1036 return ERROR_FUNCTION_FAILED;
1037 }
1038 msi_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:563
static DWORD unmap_feature_attributes(DWORD attrs)
Definition: install.c:1002
LPWSTR msi_dup_property(MSIDATABASE *db, LPCWSTR prop) DECLSPEC_HIDDEN
Definition: package.c:2283
#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 msi_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 1597 of file install.c.

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

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 msi_free( szwName );
2084 msi_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}
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int) DECLSPEC_HIDDEN
Definition: package.c:2100
void msi_reset_source_folders(MSIPACKAGE *package) DECLSPEC_HIDDEN
Definition: package.c:2089

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 msi_free(szwFolder);
537 msi_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 606 of file suminfo.c.

607{
608 MSISUMMARYINFO *si;
609
610 TRACE( "%lu, %p\n", hSummaryInfo, pCount );
611
612 si = msihandle2msiinfo( hSummaryInfo, MSIHANDLETYPE_SUMMARYINFO );
613 if( !si )
614 {
615 MSIHANDLE remote;
616 UINT ret;
617
618 if (!(remote = msi_get_remote( hSummaryInfo )))
620
621 __TRY
622 {
623 ret = remote_SummaryInfoGetPropertyCount( remote, pCount );
624 }
626 {
628 }
630
631 return ret;
632 }
633
634 if( pCount )
635 *pCount = get_property_count( si->property );
636 msiobj_release( &si->hdr );
637
638 return ERROR_SUCCESS;
639}
static UINT get_property_count(const PROPVARIANT *property)
Definition: suminfo.c:153
#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 1222 of file suminfo.c.

1223{
1224 MSISUMMARYINFO *si;
1225 UINT ret;
1226
1227 TRACE( "%lu\n", handle );
1228
1230 if( !si )
1231 return ERROR_INVALID_HANDLE;
1232
1233 ret = suminfo_persist( si );
1234
1235 msiobj_release( &si->hdr );
1236 return ret;
1237}
static UINT suminfo_persist(MSISUMMARYINFO *si)
Definition: suminfo.c:967

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}
UINT unmarshal_record(const struct wire_record *in, MSIHANDLE *out) DECLSPEC_HIDDEN
Definition: record.c:1095
void free_remote_record(struct wire_record *rec) DECLSPEC_HIDDEN
Definition: record.c:1149
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 642 of file msiquery.c.

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

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 720 of file msiquery.c.

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

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().