diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index 59e6fcb..ff05f4e 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -1988,3 +1988,23 @@
           iPatchIndex, lpPatchBuf, lpTransformsBuf, pcchTransformsBuf);
     return ERROR_NO_MORE_ITEMS;
 }
+
+/***********************************************************************
+ * MsiGetFileHashW            [MSI.@]
+ */
+UINT WINAPI MsiGetFileHashW( LPCWSTR szFilePath, DWORD dwOptions,
+                             PMSIFILEHASHINFO pHash )
+{
+    FIXME("%s %08lx %p\n", debugstr_w(szFilePath), dwOptions, pHash );
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+/***********************************************************************
+ * MsiGetFileHashA            [MSI.@]
+ */
+UINT WINAPI MsiGetFileHashA( LPCSTR szFilePath, DWORD dwOptions,
+                             PMSIFILEHASHINFO pHash )
+{
+    FIXME("%s %08lx %p\n", debugstr_a(szFilePath), dwOptions, pHash );
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
diff --git a/dlls/msi/msi.spec b/dlls/msi/msi.spec
index b8dc4fb..4d4ac2a 100644
--- a/dlls/msi/msi.spec
+++ b/dlls/msi/msi.spec
@@ -211,8 +211,8 @@
 215 stub MsiIsProductElevatedW
 216 stdcall MsiGetShortcutTargetA(str ptr ptr ptr)
 217 stdcall MsiGetShortcutTargetW(wstr ptr ptr ptr)
-218 stub MsiGetFileHashA
-219 stub MsiGetFileHashW
+218 stdcall MsiGetFileHashA(str long ptr)
+219 stdcall MsiGetFileHashW(wstr long ptr)
 220 stub MsiEnumComponentCostsA
 221 stub MsiEnumComponentCostsW
 222 stdcall MsiCreateAndVerifyInstallerDirectory(long)
diff --git a/include/msi.h b/include/msi.h
index 862bd04..1c63f18 100644
--- a/include/msi.h
+++ b/include/msi.h
@@ -183,6 +183,11 @@
     MSICODE_PATCH = 0x40000000L
 } MSICODE;
 
+typedef struct _MSIFILEHASHINFO {
+    ULONG dwFileHashInfoSize;
+    ULONG dwData[4];
+} MSIFILEHASHINFO, *PMSIFILEHASHINFO;
+
 #define MAX_FEATURE_CHARS 38
 
 /* Strings defined in msi.h */
@@ -531,6 +536,10 @@
 UINT WINAPI MsiEnumPatchesW(LPCWSTR, DWORD, LPWSTR, LPWSTR, DWORD*);
 #define     MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches)
 
+UINT WINAPI MsiGetFileHashA(LPCSTR, DWORD, PMSIFILEHASHINFO);
+UINT WINAPI MsiGetFileHashW(LPCWSTR, DWORD, PMSIFILEHASHINFO);
+#define     MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash)
+
 /* Non Unicode */
 UINT WINAPI MsiCloseHandle(MSIHANDLE);
 UINT WINAPI MsiCloseAllHandles(void);
