ReactOS 0.4.17-dev-966-gf06eace
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
return ret
Definition: mutex.c:147
#define TRACE(s)
Definition: solgame.cpp:4
MSIOBJECTHDR hdr
Definition: msipriv.h:151
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 958 of file msiquery.c.

959{
960 MSIDATABASE *db;
961 UINT r;
962
963 TRACE( "%lu\n", hdb );
964
966 if( !db )
967 {
968 MSIHANDLE remote;
969
970 if (!(remote = msi_get_remote(hdb)))
972
973 WARN("not allowed during a custom action!\n");
974
975 return ERROR_SUCCESS;
976 }
977
978 if (db->mode == MSI_OPEN_READONLY)
979 {
980 msiobj_release( &db->hdr );
981 return ERROR_SUCCESS;
982 }
983
984 /* FIXME: lock the database */
985
986 r = msi_commit_streams( db );
987 if (r != ERROR_SUCCESS) ERR("Failed to commit streams!\n");
988 else
989 {
990 r = MSI_CommitTables( db );
991 if (r != ERROR_SUCCESS) ERR("Failed to commit tables!\n");
992 }
993
994 /* FIXME: unlock the database */
995
996 msiobj_release( &db->hdr );
997
998 if (r == ERROR_SUCCESS)
999 {
1000 free( db->deletefile );
1001 db->deletefile = NULL;
1002 }
1003
1004 return r;
1005}
#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
unsigned int UINT
Definition: sysinfo.c:13
#define MSIHANDLETYPE_DATABASE
Definition: msipriv.h:746
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:2903
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
static LONG WINAPI rpc_filter(EXCEPTION_POINTERS *eptr)
Definition: rpc.c:184
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define __TRY
Definition: compat.h:80
#define __ENDTRY
Definition: compat.h:82
MSIHANDLE alloc_msi_remote_handle(MSIHANDLE remote)
Definition: handle.c:135
#define GetExceptionCode
Definition: excpt.h:83
#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:62
#define ERROR_BAD_QUERY_SYNTAX
Definition: winerror.h:1321

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:61
UINT WINAPI MsiDoActionW(MSIHANDLE hInstall, LPCWSTR szAction)
Definition: install.c:64
#define debugstr_a
Definition: kernel32.h:31
uint16_t * LPWSTR
Definition: typedefs.h:56
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:1333

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:7837
MSIOBJECTHDR hdr
Definition: msipriv.h:406

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

◆ MsiEnableUIPreview()

UINT WINAPI MsiEnableUIPreview ( MSIHANDLE  hdb,
MSIHANDLE *  phPreview 
)

Definition at line 4148 of file dialog.c.

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

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

1702{
1703 MSIPACKAGE *package;
1704 MSIHANDLE handle = 0;
1705 MSIHANDLE remote;
1706
1707 TRACE( "%lu\n", hInstall );
1708
1709 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
1710 if( package)
1711 {
1712 handle = alloc_msihandle( &package->db->hdr );
1713 msiobj_release( &package->hdr );
1714 }
1715 else if ((remote = msi_get_remote(hInstall)))
1716 {
1717 __TRY
1718 {
1719 handle = remote_GetActiveDatabase(remote);
1721 }
1723 {
1724 handle = 0;
1725 }
1726 __ENDTRY
1727 }
1728
1729 return handle;
1730}
MSIDATABASE * db
Definition: msipriv.h:407

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

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

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

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

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

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

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

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

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

◆ MsiGetLastErrorRecord()

MSIHANDLE WINAPI MsiGetLastErrorRecord ( void  )

Definition at line 867 of file msiquery.c.

868{
869 FIXME("\n");
870 return 0;
871}
#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
DWORD WINAPI GetVersion(void)
Definition: version.c:1458
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned char commit_action_running
Definition: msipriv.h:481
unsigned char rollback_action_running
Definition: msipriv.h:482
HANDLE log_file
Definition: msipriv.h:428
unsigned char scheduled_action_running
Definition: msipriv.h:480
unsigned char need_reboot_now
Definition: msipriv.h:484
unsigned char need_reboot_at_end
Definition: msipriv.h:483

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 4215 of file dialog.c.

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

◆ MsiPreviewDialogW()

UINT WINAPI MsiPreviewDialogW ( MSIHANDLE  hPreview,
LPCWSTR  szDialogName 
)

Definition at line 4199 of file dialog.c.

4200{
4202 UINT r;
4203
4204 TRACE( "%lu %s\n", hPreview, debugstr_w(szDialogName) );
4205
4207 if (!preview)
4208 return ERROR_INVALID_HANDLE;
4209
4210 r = MSI_PreviewDialogW( preview, szDialogName );
4211 msiobj_release( &preview->hdr );
4212 return r;
4213}
static UINT MSI_PreviewDialogW(MSIPREVIEW *preview, LPCWSTR szDialogName)
Definition: dialog.c:4178
#define MSIHANDLETYPE_PREVIEW
Definition: msipriv.h:751

Referenced by MsiPreviewDialogA().

◆ MsiProcessMessage()

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

Definition at line 2049 of file package.c.

2051{
2053 MSIPACKAGE *package = NULL;
2055
2056 if ((eMessageType & 0xff000000) == INSTALLMESSAGE_INITIALIZE ||
2057 (eMessageType & 0xff000000) == INSTALLMESSAGE_TERMINATE)
2058 return -1;
2059
2060 if ((eMessageType & 0xff000000) == INSTALLMESSAGE_COMMONDATA &&
2061 MsiRecordGetInteger(hRecord, 1) != 2)
2062 return -1;
2063
2065 if (!record)
2066 return ERROR_INVALID_HANDLE;
2067
2068 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
2069 if( !package )
2070 {
2071 MSIHANDLE remote;
2072
2073 if (!(remote = msi_get_remote(hInstall)))
2074 return ERROR_INVALID_HANDLE;
2075
2076 __TRY
2077 {
2078 ret = remote_ProcessMessage(remote, eMessageType, (struct wire_record *)&record->count);
2079 }
2081 {
2083 }
2084 __ENDTRY
2085
2086 msiobj_release(&record->hdr);
2087 return ret;
2088 }
2089
2090 ret = MSI_ProcessMessage( package, eMessageType, record );
2091
2092 msiobj_release( &record->hdr );
2093 msiobj_release( &package->hdr );
2094 return ret;
2095}
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:749
INT MSI_ProcessMessage(MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD *)
Definition: package.c:1941

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
INT iVal
Definition: msipriv.h:142
union tagMSIFIELD::@615 u
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:446

Referenced by MsiSequenceA(), and s_remote_Sequence().

◆ MsiSetComponentStateA()

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

Definition at line 1382 of file install.c.

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

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

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

Referenced by MsiSetComponentStateA(), and s_remote_SetComponentState().

◆ MsiSetFeatureAttributesA()

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

Definition at line 991 of file install.c.

992{
993 UINT r;
994 WCHAR *featureW = NULL;
995
996 TRACE( "%lu, %s, %#lx\n", handle, debugstr_a(feature), attrs );
997
998 if (feature && !(featureW = strdupAtoW( feature ))) return ERROR_OUTOFMEMORY;
999
1000 r = MsiSetFeatureAttributesW( handle, featureW, attrs );
1001 free( featureW );
1002 return r;
1003}
UINT WINAPI MsiSetFeatureAttributesW(MSIHANDLE handle, LPCWSTR name, DWORD attrs)
Definition: install.c:1021
INTERNETFEATURELIST feature
Definition: misc.c:1807
short WCHAR
Definition: pedump.c:58

Referenced by test_MsiSetFeatureAttributes().

◆ MsiSetFeatureAttributesW()

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

Definition at line 1021 of file install.c.

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

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:950

Referenced by test_feature_states(), and test_featureparents().

◆ MsiSetFeatureStateW()

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

Definition at line 950 of file install.c.

952{
953 MSIPACKAGE* package;
954 UINT rc = ERROR_SUCCESS;
955
956 TRACE("%s %i\n",debugstr_w(szFeature), iState);
957
958 if (!szFeature)
960
961 package = msihandle2msiinfo(hInstall, MSIHANDLETYPE_PACKAGE);
962 if (!package)
963 {
964 MSIHANDLE remote;
965
966 if (!(remote = msi_get_remote(hInstall)))
968
969 __TRY
970 {
971 rc = remote_SetFeatureState(remote, szFeature, iState);
972 }
974 {
975 rc = GetExceptionCode();
976 }
978
979 return rc;
980 }
981
982 rc = MSI_SetFeatureStateW(package,szFeature,iState);
983
984 msiobj_release( &package->hdr );
985 return rc;
986}
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 1599 of file install.c.

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

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

2100{
2101 LPWSTR szwName = NULL, szwValue = NULL;
2103
2104 szwName = strdupAtoW( szName );
2105 if( szName && !szwName )
2106 goto end;
2107
2108 szwValue = strdupAtoW( szValue );
2109 if( szValue && !szwValue )
2110 goto end;
2111
2112 r = MsiSetPropertyW( hInstall, szwName, szwValue);
2113
2114end:
2115 free( szwName );
2116 free( szwValue );
2117
2118 return r;
2119}
UINT WINAPI MsiSetPropertyW(MSIHANDLE hInstall, LPCWSTR szName, LPCWSTR szValue)
Definition: package.c:2181
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 2181 of file package.c.

2182{
2183 MSIPACKAGE *package;
2184 UINT ret;
2185
2186 package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE);
2187 if( !package )
2188 {
2189 MSIHANDLE remote;
2190
2191 if (!(remote = msi_get_remote(hInstall)))
2192 return ERROR_INVALID_HANDLE;
2193
2194 __TRY
2195 {
2196 ret = remote_SetProperty(remote, szName, szValue);
2197 }
2199 {
2201 }
2202 __ENDTRY
2203
2204 return ret;
2205 }
2206
2207 ret = msi_set_property( package->db, szName, szValue, -1 );
2208 if (ret == ERROR_SUCCESS && !wcscmp( szName, L"SourceDir" ))
2209 msi_reset_source_folders( package );
2210
2211 msiobj_release( &package->hdr );
2212 return ret;
2213}
void msi_reset_source_folders(MSIPACKAGE *package)
Definition: package.c:2121
UINT msi_set_property(MSIDATABASE *, const WCHAR *, const WCHAR *, int)
Definition: package.c:2132

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 610 of file suminfo.c.

611{
613
614 TRACE( "%lu, %p\n", hSummaryInfo, pCount );
615
617 if( !si )
618 {
619 MSIHANDLE remote;
620 UINT ret;
621
622 if (!(remote = msi_get_remote( hSummaryInfo )))
624
625 __TRY
626 {
627 ret = remote_SummaryInfoGetPropertyCount( remote, pCount );
628 }
630 {
632 }
634
635 return ret;
636 }
637
638 if( pCount )
639 *pCount = get_property_count( si->property );
640 msiobj_release( &si->hdr );
641
642 return ERROR_SUCCESS;
643}
static UINT get_property_count(const PROPVARIANT *property)
Definition: suminfo.c:157
static SYSTEM_INFO si
Definition: virtual.c:39
#define MSIHANDLETYPE_SUMMARYINFO
Definition: msipriv.h:747

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 1226 of file suminfo.c.

1227{
1229 UINT ret;
1230
1231 TRACE( "%lu\n", handle );
1232
1234 if( !si )
1235 return ERROR_INVALID_HANDLE;
1236
1238
1239 msiobj_release( &si->hdr );
1240 return ret;
1241}
UINT msi_suminfo_persist(MSISUMMARYINFO *si)
Definition: suminfo.c:971

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

466{
468 UINT ret;
469
470 TRACE( "%lu\n", hView );
471
473 if (!query)
474 {
475 MSIHANDLE remote;
476
477 if (!(remote = msi_get_remote(hView)))
479
480 __TRY
481 {
482 ret = remote_ViewClose(remote);
483 }
485 {
487 }
489
490 return ret;
491 }
492
494 msiobj_release( &query->hdr );
495 return ret;
496}
#define MSIHANDLETYPE_VIEW
Definition: msipriv.h:748
UINT MSI_ViewClose(MSIQUERY *query)
Definition: msiquery.c:450

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

515{
517 MSIRECORD *rec = NULL;
518 UINT ret;
519
520 TRACE( "%lu, %lu\n", hView, hRec );
521
522 if( hRec )
523 {
525 if( !rec )
527 }
528
530 if( !query )
531 {
532 MSIHANDLE remote;
533
534 if (!(remote = msi_get_remote(hView)))
536
537 __TRY
538 {
539 ret = remote_ViewExecute(remote, rec ? (struct wire_record *)&rec->count : NULL);
540 }
542 {
544 }
546
547 if (rec)
548 msiobj_release(&rec->hdr);
549 return ret;
550 }
551
552 msiobj_lock( &rec->hdr );
553 ret = MSI_ViewExecute( query, rec );
554 msiobj_unlock( &rec->hdr );
555
556 msiobj_release( &query->hdr );
557 if( rec )
558 msiobj_release( &rec->hdr );
559
560 return ret;
561}
UINT MSI_ViewExecute(MSIQUERY *query, MSIRECORD *rec)
Definition: msiquery.c:498

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

401{
403 MSIRECORD *rec = NULL;
404 UINT ret;
405
406 TRACE( "%lu, %p\n", hView, record );
407
408 if( !record )
410 *record = 0;
411
413 if (!query)
414 {
415 struct wire_record *wire_rec = NULL;
416 MSIHANDLE remote;
417
418 if (!(remote = msi_get_remote(hView)))
420
421 __TRY
422 {
423 ret = remote_ViewFetch(remote, &wire_rec);
424 }
426 {
428 }
430
431 if (!ret)
432 {
433 ret = unmarshal_record(wire_rec, record);
434 free_remote_record(wire_rec);
435 }
436 return ret;
437 }
438 ret = MSI_ViewFetch( query, &rec );
439 if( ret == ERROR_SUCCESS )
440 {
441 *record = alloc_msihandle( &rec->hdr );
442 if (! *record)
444 msiobj_release( &rec->hdr );
445 }
446 msiobj_release( &query->hdr );
447 return ret;
448}
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:373

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

638{
640 MSIRECORD *rec = NULL;
641 UINT r;
642
643 TRACE( "%lu, %d, %p\n", hView, info, hRec );
644
645 if( !hRec )
647
650
652 if (!query)
653 {
654 struct wire_record *wire_rec = NULL;
655 MSIHANDLE remote;
656
657 if (!(remote = msi_get_remote(hView)))
659
660 __TRY
661 {
662 r = remote_ViewGetColumnInfo(remote, info, &wire_rec);
663 }
665 {
667 }
669
670 if (!r)
671 {
672 r = unmarshal_record(wire_rec, hRec);
673 free_remote_record(wire_rec);
674 }
675
676 return r;
677 }
678
679 r = MSI_ViewGetColumnInfo( query, info, &rec );
680 if ( r == ERROR_SUCCESS )
681 {
682 *hRec = alloc_msihandle( &rec->hdr );
683 if ( !*hRec )
685 msiobj_release( &rec->hdr );
686 }
687
688 msiobj_release( &query->hdr );
689
690 return r;
691}
UINT MSI_ViewGetColumnInfo(MSIQUERY *query, MSICOLINFO info, MSIRECORD **prec)
Definition: msiquery.c:598

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

716{
718 MSIRECORD *rec = NULL;
720
721 TRACE( "%lu, %#x, %lu\n", hView, eModifyMode, hRecord );
722
723 rec = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
724
725 if (!rec)
727
729 if (!query)
730 {
731 struct wire_record *wire_refreshed = NULL;
732 MSIHANDLE remote;
733
734 if (!(remote = msi_get_remote(hView)))
736
737 __TRY
738 {
739 r = remote_ViewModify(remote, eModifyMode,
740 (struct wire_record *)&rec->count, &wire_refreshed);
741 }
743 {
745 }
747
748 if (!r && (eModifyMode == MSIMODIFY_REFRESH || eModifyMode == MSIMODIFY_SEEK))
749 {
750 r = copy_remote_record(wire_refreshed, hRecord);
751 free_remote_record(wire_refreshed);
752 }
753
754 msiobj_release(&rec->hdr);
755 return r;
756 }
757
758 r = MSI_ViewModify( query, eModifyMode, rec );
759
760 msiobj_release( &query->hdr );
761 msiobj_release(&rec->hdr);
762 return r;
763}
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:693

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