75 #define ok(hinst, condition, ...) ok_(hinst, todo_level, __FILE__, __LINE__, condition, __VA_ARGS__) 76 #define todo_wine_if(is_todo) for (winetest_start_todo(is_todo); \ 77 winetest_loop_todo(); \ 79 #define todo_wine todo_wine_if(1) 85 if (!
str)
return "(null)";
90 while ((*
p++ = *
str++));
102 ok(
hinst, !
r,
"'%s': got %u\n", prop,
r);
127 ok(
hinst, sz == 0,
"got size %u\n", sz);
134 ok(
hinst, sz == 0,
"got size %u\n", sz);
141 ok(
hinst, sz == 0,
"got size %u\n", sz);
189 ok(
hinst, sz == 6,
"got size %u\n", sz);
196 ok(
hinst, sz == 6,
"got size %u\n", sz);
203 ok(
hinst, sz == 6,
"got size %u\n", sz);
210 ok(
hinst, sz == 6,
"got size %u\n", sz);
217 ok(
hinst, sz == 3,
"got size %u\n", sz);
228 ok(
hinst, sz == 3,
"got size %u\n", sz);
235 ok(
hinst, sz == 3,
"got size %u\n", sz);
242 ok(
hinst, sz == 3,
"got size %u\n", sz);
249 ok(
hinst, sz == 3,
"got size %u\n", sz);
256 ok(
hinst, sz == 3,
"got size %u\n", sz);
265 ok(
hinst, sz == 6,
"got size %u\n", sz);
271 ok(
hinst, sz == 3,
"got size %u\n", sz);
289 ok(
hinst, hdb,
"MsiGetActiveDatabase failed\n");
314 ok(
hinst, hdb2,
"MsiGetActiveDatabase failed\n");
315 ok(
hinst, hdb2 != hdb,
"db handles should be different\n");
406 ok(
hinst, !rec2,
"got %u\n", rec2);
434 ok(
hinst, !rec2,
"got %u\n", rec2);
481 for (
i = 0;
i < 20;
i++)
487 int_value = 0xdeadbeef;
497 ok(
hinst, int_value == 100,
"%u: got %u\n",
i, int_value);
499 ok(
hinst, int_value == 0,
"%u: got %u\n",
i, int_value);
502 ok(
hinst, sz == 5,
"%u: got %u\n",
i, sz);
507 ok(
hinst, sz == 76,
"%u: got %u\n",
i, sz);
519 for (
i = 0;
i < 20;
i++)
585 ok(
hinst, sz == 6,
"got size %u\n", sz);
592 ok(
hinst, sz == 6,
"got size %u\n", sz);
599 ok(
hinst, sz == 6,
"got size %u\n", sz);
606 ok(
hinst, sz == 6,
"got size %u\n", sz);
613 ok(
hinst, sz == 3,
"got size %u\n", sz);
618 ok(
hinst, sz == 3,
"got size %u\n", sz);
625 ok(
hinst, sz == 3,
"got size %u\n", sz);
632 ok(
hinst, sz == 3,
"got size %u\n", sz);
639 ok(
hinst, sz == 3,
"got size %u\n", sz);
646 ok(
hinst, sz == 3,
"got size %u\n", sz);
684 ok(
hinst, sz == srcsz * 2,
"got size %u\n", sz);
691 ok(
hinst, sz == srcsz * 2,
"got size %u\n", sz);
698 ok(
hinst, sz == srcsz * 2,
"got size %u\n", sz);
705 ok(
hinst, sz == srcsz * 2,
"got size %u\n", sz);
712 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
717 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
724 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
731 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
738 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
745 ok(
hinst, sz == srcsz,
"got size %u\n", sz);
889 ok(
hinst, sz == 14,
"got size %u\n", sz);
896 ok(
hinst, sz == 14,
"got size %u\n", sz);
903 ok(
hinst, sz == 14,
"got size %u\n", sz);
910 ok(
hinst, sz == 14,
"got size %u\n", sz);
917 ok(
hinst, sz == 7,
"got size %u\n", sz);
928 ok(
hinst, sz == 7,
"got size %u\n", sz);
935 ok(
hinst, sz == 7,
"got size %u\n", sz);
942 ok(
hinst, sz == 7,
"got size %u\n", sz);
949 ok(
hinst, sz == 7,
"got size %u\n", sz);
956 ok(
hinst, sz == 7,
"got size %u\n", sz);
965 ok(
hinst, sz == 6,
"got size %u\n", sz);
982 ok(
hinst, !cost,
"got %d\n", cost);
991 ok(
hinst, cost == 8,
"got %d\n", cost);
993 sz = cost =
temp = 0xdead;
996 ok(
hinst, sz == 0xdead,
"got size %d\n", sz);
997 ok(
hinst, cost == 0xdead,
"got cost %d\n", cost);
1000 cost =
temp = 0xdead;
1003 ok(
hinst, cost == 0xdead,
"got cost %d\n", cost);
1009 ok(
hinst, sz == 0xdead,
"got size %d\n", sz);
1015 ok(
hinst, sz == 0xdead,
"got size %d\n", sz);
1016 ok(
hinst, cost == 0xdead,
"got cost %d\n", cost);
1018 cost =
temp = 0xdead;
1022 ok(
hinst, sz == 2,
"got size %u\n", sz);
1024 ok(
hinst, !cost,
"got cost %d\n", cost);
1027 cost =
temp = 0xdead;
1031 ok(
hinst, sz == 2,
"got size %u\n", sz);
1033 ok(
hinst, cost == 8,
"got cost %d\n", cost);
1037 cost =
temp = 0xdead;
1044 ok(
hinst, sz == 4,
"got size %u\n", sz);
1045 ok(
hinst, cost == 8,
"got cost %d\n", cost);
1054 ok(
hinst, sz == 4,
"got size %u\n", sz);
1063 ok(
hinst, sz == 4,
"got size %u\n", sz);
1071 ok(
hinst, sz == 2,
"got size %u\n", sz);
1078 ok(
hinst, sz == 2,
"got size %u\n", sz);
1085 ok(
hinst, sz == 2,
"got size %u\n", sz);
1092 ok(
hinst, sz == 2,
"got size %u\n", sz);
1099 ok(
hinst, sz == 2,
"got size %u\n", sz);
1112 ok(
hinst, db,
"MsiGetActiveDatabase failed\n");
1144 sprintf(package_name,
"#%lu", db);
1160 ok(
hinst, db,
"MsiGetActiveDatabase failed\n");
1171 ok(
hinst, sz == 0,
"got size %u\n", sz);
1179 ok(
hinst, sz == 0,
"got size %u\n", sz);
1186 ok(
hinst, sz == 0,
"got size %u\n", sz);
1193 ok(
hinst, sz == 0,
"got size %u\n", sz);
1206 ok(
hinst, sz == 1,
"got size %u\n", sz);
1223 ok(
hinst, sz == 1,
"got size %u\n", sz);
1240 ok(
hinst, sz == 0,
"got size %u\n", sz);
1247 ok(
hinst, sz == 0,
"got size %u\n", sz);
1265 if (unk) IUnknown_Release(unk);
1293 sscanf(prop,
"%u", &retval);
1334 ok(
hinst, prop[0],
"CustomActionData was empty\n");
1342 ok(
hinst, prop[0],
"got %s\n", prop);
1347 ok(
hinst, prop[0],
"got %s\n", prop);
1353 ok(
hinst, !prop[0],
"got %s\n", prop);
1461 SC_HANDLE manager, service;
1472 SC_HANDLE manager, service;
1475 ok(
hinst, !service,
"service present\n");
1483 SC_HANDLE manager, service;
1494 SC_HANDLE manager, service;
1497 ok(
hinst, !service,
"service present\n");
1505 SC_HANDLE manager, service;
1522 SC_HANDLE manager, service;
1557 int gotdriver = 0, gotdriver2 = 0;
1568 if (!
strcmp(
p,
"ODBC test driver"))
1570 if (!
strcmp(
p,
"ODBC test driver2"))
1573 ok(
hinst, gotdriver,
"driver absent\n");
1574 ok(
hinst, gotdriver2,
"driver 2 absent\n");
1580 int gotdriver = 0, gotdriver2 = 0;
1591 if (!
strcmp(
p,
"ODBC test driver"))
1593 if (!
strcmp(
p,
"ODBC test driver2"))
1596 ok(
hinst, !gotdriver,
"driver present\n");
1597 ok(
hinst, !gotdriver2,
"driver 2 present\n");
1634 static const char path_dotnet[] =
"Software\\Microsoft\\Installer\\Assemblies\\Global";
1635 static const char name_dotnet[] =
"Wine.Dotnet.Assembly,processorArchitecture=\"MSIL\"," 1636 "publicKeyToken=\"abcdef0123456789\",version=\"1.0.0.0\",culture=\"neutral\"";
1666 static const char ppc_key[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\" 1667 "Installer\\UserData\\S-1-5-18\\Components\\CBABC2FDCCB35E749A8944D8C1C098B5";
1697 static const char pub_key[] =
"Software\\Microsoft\\Installer\\Components\\0CBCFA296AC907244845745CEEB2F8AA";
1722 static const char pf_classkey[] =
"Installer\\Features\\84A88FD7F6998CE40A22FB59F6B9C2BB";
1723 static const char pf_userkey[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\" 1724 "Installer\\UserData\\S-1-5-18\\Products\\84A88FD7F6998CE40A22FB59F6B9C2BB\\Features";
1760 static const char pp_prodkey[] =
"Installer\\Products\\84A88FD7F6998CE40A22FB59F6B9C2BB";
1857 static const char font_key[] =
"Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts";
1908 static const char rp_key[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\" 1909 "Uninstall\\{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}";
1981 static const CHAR ru_key[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\Installer" 1982 "\\UserData\\S-1-5-18\\Products\\84A88FD7F6998CE40A22FB59F6B9C2BB\\InstallProperties";
2009 {0xeac5166a, 0x9734, 0x4d91, {0x87,0x8f, 0x1d,0xd0,0x23,0x04,0xc6,0x6c}};
2018 ITypeLib_Release(tlb);
static void test_format_record(MSIHANDLE hinst)
UINT WINAPI MsiGetTargetPathA(MSIHANDLE hinst, const char *folder, char *buf, DWORD *sz)
#define ERROR_INVALID_PARAMETER
UINT WINAPI MsiSummaryInfoSetPropertyW(MSIHANDLE handle, UINT uiProperty, UINT uiDataType, INT iValue, FILETIME *pftValue, const WCHAR *szValue)
UINT WINAPI MsiSetFeatureStateA(MSIHANDLE hInstall, LPCSTR szFeature, INSTALLSTATE iState)
UINT WINAPI MsiEnumComponentCostsW(MSIHANDLE handle, const WCHAR *component, DWORD index, INSTALLSTATE state, WCHAR *drive, DWORD *buflen, int *cost, int *temp)
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
UINT WINAPI process1(MSIHANDLE hinst)
UINT WINAPI MsiViewExecute(MSIHANDLE hView, MSIHANDLE hRec)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
static const CHAR ru_key[]
UINT WINAPI MsiOpenPackageA(LPCSTR szPackage, MSIHANDLE *phPackage)
VOID WINAPI GetSystemTimeAsFileTime(OUT PFILETIME lpFileTime)
static void append_file(MSIHANDLE hinst, const char *filename, const char *text)
UINT WINAPI crs_absent(MSIHANDLE hinst)
MSIHANDLE WINAPI MsiCreateRecord(UINT cParams)
UINT WINAPI wrv_present(MSIHANDLE hinst)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
UINT WINAPI MsiGetFeatureCostA(MSIHANDLE hInstall, LPCSTR szFeature, MSICOSTTREE iCostTree, INSTALLSTATE iState, LPINT piCost)
UINT WINAPI sr_absent(MSIHANDLE hinst)
UINT WINAPI MsiSetPropertyA(MSIHANDLE hInstall, LPCSTR szName, LPCSTR szValue)
UINT WINAPI MsiRecordSetInteger(MSIHANDLE handle, UINT iField, int iVal)
#define RPC_X_NULL_REF_POINTER
UINT WINAPI MsiRecordGetStringA(MSIHANDLE handle, UINT iField, char *szValue, DWORD *pcchValue)
char * strcat(char *DstString, const char *SrcString)
#define ERROR_NO_MORE_ITEMS
UINT WINAPI MsiDatabaseExportA(MSIHANDLE handle, const char *szTable, const char *szFolder, const char *szFilename)
UINT WINAPI ppc_absent(MSIHANDLE hinst)
ACPI_SIZE strlen(const char *String)
UINT WINAPI pp_present(MSIHANDLE hinst)
static void winetest_end_todo(void)
GLdouble GLdouble GLdouble r
int WINAPI MsiRecordGetInteger(MSIHANDLE handle, UINT iField)
static const char pf_classkey[]
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
#define HKEY_CURRENT_USER
GLuint GLuint GLsizei count
UINT WINAPI pa_absent(MSIHANDLE hinst)
UINT WINAPI rei_absent(MSIHANDLE hinst)
static void test_invalid_functions(MSIHANDLE hinst)
UINT WINAPI file_absent(MSIHANDLE hinst)
#define ERROR_INVALID_HANDLE
UINT WINAPI odbc_present(MSIHANDLE hinst)
static void WINAPIV ok_(MSIHANDLE hinst, int todo, const char *file, int line, int condition, const char *msg,...)
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE hdb, const char *transform, int error_cond)
#define INVALID_HANDLE_VALUE
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
UINT WINAPI MsiSetTargetPathA(MSIHANDLE hInstall, LPCSTR szFolder, LPCSTR szFolderPath)
UINT WINAPI pa_present(MSIHANDLE hinst)
UINT WINAPI MsiGetSourcePathA(MSIHANDLE hinst, const char *folder, char *buf, DWORD *sz)
UINT WINAPI tl_absent(MSIHANDLE hinst)
#define CSIDL_PROGRAM_FILES
UINT WINAPI sds_absent(MSIHANDLE hinst)
UINT WINAPI pp_absent(MSIHANDLE hinst)
UINT WINAPI pf_present(MSIHANDLE hinst)
static const char ppc_key[]
UINT WINAPI MsiCreateTransformSummaryInfoA(MSIHANDLE db, MSIHANDLE db_ref, const char *transform, int error, int validation)
UINT WINAPI MsiGetPropertyA(MSIHANDLE hinst, const char *name, char *buf, DWORD *sz)
UINT WINAPI da_immediate(MSIHANDLE hinst)
UINT WINAPI process2(MSIHANDLE hinst)
UINT WINAPI rp_absent(MSIHANDLE hinst)
UINT WINAPI crs_present(MSIHANDLE hinst)
UINT WINAPI MsiViewModify(MSIHANDLE hView, MSIMODIFY eModifyMode, MSIHANDLE hRecord)
static const char font_key[]
#define CSIDL_PROGRAM_FILESX86
UINT WINAPI rci_absent(MSIHANDLE hinst)
INT WINAPI GetPrivateProfileStringA(LPCSTR section, LPCSTR entry, LPCSTR def_val, LPSTR buffer, UINT len, LPCSTR filename)
static const CHAR suminfo[]
UINT WINAPI rei_present(MSIHANDLE hinst)
#define sprintf(buf, format,...)
static const char pp_prodkey[]
UINT WINAPI MsiViewClose(MSIHANDLE hView)
GLenum GLuint GLenum GLsizei const GLchar * buf
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
UINT WINAPI ini_absent(MSIHANDLE hinst)
UINT WINAPI rci_present(MSIHANDLE hinst)
UINT WINAPI MsiGetPropertyW(MSIHANDLE hinst, const WCHAR *name, WCHAR *buf, DWORD *sz)
#define ERROR_FUNCTION_FAILED
UINT WINAPI MsiRecordReadStream(MSIHANDLE handle, UINT iField, char *buf, DWORD *sz)
BOOL WINAPI MsiGetMode(MSIHANDLE hInstall, MSIRUNMODE iRunMode)
MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE hInstall)
SC_HANDLE WINAPI OpenSCManagerA(LPCSTR lpMachineName, LPCSTR lpDatabaseName, DWORD dwDesiredAccess)
UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE hdb, MSIHANDLE hdbref, const char *szTransformFile, int iReserved1, int iReserved2)
UINT WINAPI pub_present(MSIHANDLE hinst)
UINT WINAPI MsiSetComponentStateA(MSIHANDLE hInstall, LPCSTR szComponent, INSTALLSTATE iState)
UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE hdb, const char *szQuery, MSIHANDLE *phView)
UINT WINAPI MsiSetMode(MSIHANDLE hInstall, MSIRUNMODE iRunMode, BOOL fState)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
static void test_view_get_error(MSIHANDLE hinst)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
UINT WINAPI main_test(MSIHANDLE hinst)
MSIDBERROR WINAPI MsiViewGetErrorA(MSIHANDLE handle, char *buffer, DWORD *buflen)
static const GUID LIBID_register_test
MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE, LPCSTR)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventA(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCSTR lpName OPTIONAL)
INT WINAPI MsiProcessMessage(MSIHANDLE hInstall, INSTALLMESSAGE eMessageType, MSIHANDLE hRecord)
UINT WINAPI da_deferred(MSIHANDLE hinst)
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
UINT WINAPI MsiDatabaseMergeA(MSIHANDLE hDatabase, MSIHANDLE hDatabaseMerge, const char *szTableName)
#define ERROR_FILE_NOT_FOUND
MSIDBSTATE WINAPI MsiGetDatabaseState(MSIHANDLE handle)
static const WCHAR lang[]
UINT WINAPI mov_present(MSIHANDLE hinst)
const struct _GUID CLSID_XMLDocument
UINT WINAPI sds_present(MSIHANDLE hinst)
static const char path_dotnet[]
#define ERROR_UNKNOWN_FEATURE
#define ERROR_INSTALL_PACKAGE_INVALID
#define GetEnvironmentVariableA(x, y, z)
UINT WINAPI odbc_absent(MSIHANDLE hinst)
UINT WINAPI MsiViewFetch(MSIHANDLE hView, MSIHANDLE *record)
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableA(IN LPCSTR lpName, IN LPCSTR lpValue)
UINT WINAPI file_present(MSIHANDLE hinst)
UINT WINAPI MsiSummaryInfoSetPropertyA(MSIHANDLE handle, UINT uiProperty, UINT uiDataType, INT iValue, FILETIME *pftValue, const char *szValue)
UINT WINAPI wrv_absent(MSIHANDLE hinst)
UINT WINAPI font_absent(MSIHANDLE hinst)
static void check_prop(MSIHANDLE hinst, const char *prop, const char *expect)
#define ok(hinst, condition,...)
UINT WINAPI cf_absent(MSIHANDLE hinst)
UINT WINAPI MsiGetTargetPathW(MSIHANDLE hinst, const WCHAR *folder, WCHAR *buf, DWORD *sz)
BOOL WINAPI QueryServiceStatus(SC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus)
UINT WINAPI async1(MSIHANDLE hinst)
#define INVALID_FILE_ATTRIBUTES
static void test_doaction(MSIHANDLE hinst)
static const char name_dotnet[]
UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE hSummaryInfo, UINT *pCount)
UINT WINAPI sis_present(MSIHANDLE hinst)
UINT WINAPI sr_present(MSIHANDLE hinst)
UINT WINAPI MsiDoActionA(MSIHANDLE hInstall, LPCSTR szAction)
UINT WINAPI rmi_present(MSIHANDLE hinst)
UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall, int iInstallLevel)
GLsizei const GLfloat * value
static INT do_loop(const PropSheetInfo *psInfo)
#define TYPE_E_LIBNOTREGISTERED
UINT WINAPI rd_absent(MSIHANDLE hinst)
static void test_feature_states(MSIHANDLE hinst)
UINT WINAPI MsiCloseHandle(MSIHANDLE handle)
static const char pf_userkey[]
UINT WINAPI pub_absent(MSIHANDLE hinst)
MSICONDITION WINAPI MsiDatabaseIsTablePersistentA(MSIHANDLE hDatabase, const char *szTableName)
#define ERROR_INVALID_DATA
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase, const char *szDatabase, UINT uiUpdateCount, MSIHANDLE *pHandle)
static void test_costs(MSIHANDLE hinst)
UINT WINAPI rmi_absent(MSIHANDLE hinst)
UINT WINAPI env_absent(MSIHANDLE hinst)
BOOL WINAPI SQLGetInstalledDrivers(char *buf, WORD size, WORD *sizeout)
UINT WINAPI sss_started(MSIHANDLE hinst)
UINT WINAPI MsiGetComponentStateA(MSIHANDLE hInstall, LPCSTR szComponent, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
UINT WINAPI MsiSequenceA(MSIHANDLE hInstall, LPCSTR szTable, INT iSequenceMode)
UINT WINAPI ru_present(MSIHANDLE hinst)
UINT WINAPI test_retval(MSIHANDLE hinst)
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
UINT WINAPI font_present(MSIHANDLE hinst)
static previewinfo preview
HRESULT WINAPI SHGetFolderPathA(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR pszPath)
UINT WINAPI nested(MSIHANDLE hinst)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
UINT WINAPI MsiDatabaseCommit(MSIHANDLE hdb)
static void test_props(MSIHANDLE hinst)
UINT WINAPI MsiGetSourcePathW(MSIHANDLE hinst, const WCHAR *folder, WCHAR *buf, DWORD *sz)
DWORD WINAPI GetCurrentDirectoryA(IN DWORD nBufferLength, OUT LPSTR lpBuffer)
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
UINT WINAPI MsiEnableUIPreview(MSIHANDLE hdb, MSIHANDLE *phPreview)
UINT WINAPI ru_absent(MSIHANDLE hinst)
UINT WINAPI rp_present(MSIHANDLE hinst)
#define expect(expected, got)
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit)
#define ERROR_UNKNOWN_COMPONENT
UINT WINAPI sss_stopped(MSIHANDLE hinst)
UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hRec)
static void winetest_start_todo(int is_todo)
UINT WINAPI rpi_absent(MSIHANDLE hinst)
static BOOL pf_exists(const char *file)
#define SC_MANAGER_ALL_ACCESS
UINT WINAPI MsiEnumComponentCostsA(MSIHANDLE handle, const char *component, DWORD index, INSTALLSTATE state, char *drive, DWORD *buflen, int *cost, int *temp)
static LPCWSTR LPCWSTR LPCWSTR env
UINT WINAPI MsiGetFeatureStateA(MSIHANDLE hInstall, LPCSTR szFeature, INSTALLSTATE *piInstalled, INSTALLSTATE *piAction)
static void test_db(MSIHANDLE hinst)
SC_HANDLE WINAPI OpenServiceA(SC_HANDLE hSCManager, LPCSTR lpServiceName, DWORD dwDesiredAccess)
UINT WINAPI env_present(MSIHANDLE hinst)
UINT WINAPI cf_present(MSIHANDLE hinst)
UINT WINAPI async2(MSIHANDLE hinst)
LANGID WINAPI MsiGetLanguage(MSIHANDLE hInstall)
static const char * dbgstr_w(WCHAR *str)
char * strcpy(char *DstString, const char *SrcString)
int strcmp(const char *String1, const char *String2)
static IOleDocumentView * view
static int winetest_loop_todo(void)
UINT WINAPI ppc_present(MSIHANDLE hinst)
static void test_targetpath(MSIHANDLE hinst)
static __ms_va_list valist
#define HKEY_CLASSES_ROOT
UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE hdb, const char *table, MSIHANDLE *phRec)
UINT WINAPI MsiDatabaseImportA(MSIHANDLE handle, const char *szFolder, const char *szFilename)
UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE handle, UINT uiProperty, UINT *puiDataType, INT *piValue, FILETIME *pftValue, char *szValueBuf, DWORD *pcchValueBuf)
GLuint GLuint GLsizei GLenum type
static void check_reg_str(MSIHANDLE hinst, HKEY key, const char *name, const char *expect)
#define CreateFileA(a, b, c, d, e, f, g)
UINT WINAPI sis_absent(MSIHANDLE hinst)
static const char rp_key[]
UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE handle)
static const char pub_key[]
static SERVICE_STATUS status
UINT WINAPI pf_absent(MSIHANDLE hinst)
UINT WINAPI mov_absent(MSIHANDLE hinst)
#define RegCloseKey(hKey)
#define ERROR_BAD_QUERY_SYNTAX
UINT WINAPI MsiRecordSetStringA(MSIHANDLE handle, UINT iField, const char *szValue)
UINT WINAPI rd_present(MSIHANDLE hinst)
UINT WINAPI ini_present(MSIHANDLE hinst)
#define ERROR_INSTALL_PACKAGE_OPEN_FAILED
UINT WINAPI tl_present(MSIHANDLE hinst)
UINT WINAPI rpi_present(MSIHANDLE hinst)
#define HKEY_LOCAL_MACHINE
static void test_misc(MSIHANDLE hinst)