diff --git a/dlls/msi/msi.spec b/dlls/msi/msi.spec index eeb9ea757c0..406a9104629 100644 --- a/dlls/msi/msi.spec +++ b/dlls/msi/msi.spec @@ -205,8 +205,8 @@ 209 stdcall MsiSourceListClearAllW(wstr wstr long) 210 stdcall MsiSourceListAddSourceA(str str long str) 211 stdcall MsiSourceListAddSourceW(wstr wstr long wstr) -212 stub MsiSourceListForceResolutionA -213 stub MsiSourceListForceResolutionW +212 stdcall MsiSourceListForceResolutionA(str str long) +213 stdcall MsiSourceListForceResolutionW(wstr wstr long) 214 stdcall MsiIsProductElevatedA(str ptr) 215 stdcall MsiIsProductElevatedW(wstr ptr) 216 stdcall MsiGetShortcutTargetA(str ptr ptr ptr) diff --git a/dlls/msi/source.c b/dlls/msi/source.c index 3640b0dfbd2..ed1c6b66a4b 100644 --- a/dlls/msi/source.c +++ b/dlls/msi/source.c @@ -1330,3 +1330,21 @@ UINT WINAPI MsiSourceListClearSourceW(LPCWSTR szProductCodeOrPatchCode, LPCWSTR dwContext, dwOptions, debugstr_w(szSource)); return ERROR_SUCCESS; } + +/****************************************************************** + * MsiSourceListForceResolutionA (MSI.@) + */ +UINT WINAPI MsiSourceListForceResolutionA(const CHAR *product, const CHAR *user, DWORD reserved) +{ + FIXME("(%s %s %x)\n", debugstr_a(product), debugstr_a(user), reserved); + return ERROR_SUCCESS; +} + +/****************************************************************** + * MsiSourceListForceResolutionW (MSI.@) + */ +UINT WINAPI MsiSourceListForceResolutionW(const WCHAR *product, const WCHAR *user, DWORD reserved) +{ + FIXME("(%s %s %x)\n", debugstr_w(product), debugstr_w(user), reserved); + return ERROR_SUCCESS; +} diff --git a/include/msi.h b/include/msi.h index 417b606f610..604331a9e5f 100644 --- a/include/msi.h +++ b/include/msi.h @@ -672,6 +672,10 @@ UINT WINAPI MsiSourceListAddMediaDiskA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, UINT WINAPI MsiSourceListAddMediaDiskW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPCWSTR, LPCWSTR); #define MsiSourceListAddMediaDisk WINELIB_NAME_AW(MsiSourceListAddMediaDisk) +UINT WINAPI MsiSourceListForceResolutionA(const CHAR*, const CHAR*, DWORD); +UINT WINAPI MsiSourceListForceResolutionW(const WCHAR*, const WCHAR*, DWORD); +#define MsiSourceListForceResolution WINELIB_NAME_AW(MsiSourceListForceResolution) + UINT WINAPI MsiEnumPatchesA(LPCSTR, DWORD, LPSTR, LPSTR, LPDWORD); UINT WINAPI MsiEnumPatchesW(LPCWSTR, DWORD, LPWSTR, LPWSTR, LPDWORD); #define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)