MSI: stubs for MsiUseFeature

Mike McCormack mike at codeweavers.com
Tue Feb 15 20:28:49 CST 2005


ChangeLog:
Aric Stewart <aric at codeweavers.com>
* stubs for MsiUseFeature
-------------- next part --------------
Index: dlls/msi/msi.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/msi.c,v
retrieving revision 1.60
diff -u -p -r1.60 msi.c
--- dlls/msi/msi.c	10 Feb 2005 18:57:42 -0000	1.60
+++ dlls/msi/msi.c	16 Feb 2005 02:27:45 -0000
@@ -1418,7 +1441,10 @@ INSTALLSTATE WINAPI MsiQueryFeatureState
 INSTALLSTATE WINAPI MsiQueryFeatureStateW(LPCWSTR szProduct, LPCWSTR szFeature)
 {
     FIXME("%s %s\n", debugstr_w(szProduct), debugstr_w(szFeature));
-    return INSTALLSTATE_UNKNOWN;
+    /*
+     * Iterates all the features components and the features parents components
+     */
+    return INSTALLSTATE_LOCAL;
 }
 
 UINT WINAPI MsiGetFileVersionA(LPCSTR szFilePath, LPSTR lpVersionBuf,
@@ -1684,11 +1710,42 @@ UINT WINAPI MsiGetFeatureUsageA(LPCSTR s
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
 
-UINT WINAPI MsiUseFeatureExW(LPCWSTR szProduct, LPCWSTR szFeature, 
+INSTALLSTATE WINAPI MsiUseFeatureExW(LPCWSTR szProduct, LPCWSTR szFeature, 
                              DWORD dwInstallMode, DWORD dwReserved)
 {
     FIXME("%s %s %li %li\n", debugstr_w(szProduct), debugstr_w(szFeature),
           dwInstallMode, dwReserved);
+
+    /*
+     * Polls all the components of the feature to find install state and then
+     *  writes:
+     *    Software\\Microsoft\\Windows\\CurrentVersion\\
+     *    Installer\\Products\\<squishguid>\\<feature>
+     *      "Usage"=dword:........
+     */  
+ 
+    return INSTALLSTATE_LOCAL; 
+}
+
+INSTALLSTATE WINAPI MsiUseFeatureExA(LPCSTR szProduct, LPCSTR szFeature, 
+                             DWORD dwInstallMode, DWORD dwReserved)
+{
+    FIXME("%s %s %li %li\n", debugstr_a(szProduct), debugstr_a(szFeature),
+          dwInstallMode, dwReserved);
+   
+    return INSTALLSTATE_LOCAL; 
+}
+
+INSTALLSTATE WINAPI MsiUseFeatureW(LPCWSTR szProduct, LPCWSTR szFeature)
+{
+    FIXME("%s %s\n", debugstr_w(szProduct), debugstr_w(szFeature));
+   
+    return INSTALLSTATE_LOCAL; 
+}
+
+INSTALLSTATE WINAPI MsiUseFeatureA(LPCSTR szProduct, LPCSTR szFeature)
+{
+    FIXME("%s %s\n", debugstr_a(szProduct), debugstr_a(szFeature));
    
     return INSTALLSTATE_LOCAL; 
 }
@@ -1746,17 +1803,33 @@ UINT WINAPI MsiCreateAndVerifyInstallerD
 }
 
 UINT WINAPI MsiGetShortcutTargetA( LPCSTR szShortcutTarget,
-                                  LPSTR szProductCode, LPSTR szFeatureId,
-                                  LPSTR szComponentCode)
+                                   LPSTR szProductCode, LPSTR szFeatureId,
+                                   LPSTR szComponentCode )
 {
     FIXME("\n");
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
 
 UINT WINAPI MsiGetShortcutTargetW( LPCWSTR szShortcutTarget,
-                                  LPWSTR szProductCode, LPWSTR szFeatureId,
-                                  LPWSTR szComponentCode)
+                                   LPWSTR szProductCode, LPWSTR szFeatureId,
+                                   LPWSTR szComponentCode )
 {
     FIXME("\n");
     return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+UINT WINAPI MsiReinstallFeatureW( LPCWSTR szProduct, LPCWSTR szFeature, 
+                                  DWORD dwReinstallMode )
+{
+    FIXME("%s %s %li\n", debugstr_w(szProduct), debugstr_w(szFeature),
+                           dwReinstallMode);
+    return ERROR_SUCCESS;
+}
+
+UINT WINAPI MsiReinstallFeatureA( LPCSTR szProduct, LPCSTR szFeature, 
+                                  DWORD dwReinstallMode )
+{
+    FIXME("%s %s %li\n", debugstr_a(szProduct), debugstr_a(szFeature),
+                           dwReinstallMode);
+    return ERROR_SUCCESS;
 }


More information about the wine-patches mailing list