MSI: stubs for MsiUseFeature (resend)

Mike McCormack mike at codeweavers.com
Tue Feb 15 20:54:33 CST 2005


Resent with the spec file changes too.

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;
 }
Index: dlls/msi/msi.spec
===================================================================
RCS file: /home/wine/wine/dlls/msi/msi.spec,v
retrieving revision 1.32
diff -u -p -r1.32 msi.spec
--- dlls/msi/msi.spec	10 Feb 2005 17:10:14 -0000	1.32
+++ dlls/msi/msi.spec	16 Feb 2005 02:53:30 -0000
@@ -123,10 +123,10 @@
 123 stdcall MsiRecordSetStreamW(long long wstr)
 124 stdcall MsiRecordSetStringA(long long str)
 125 stdcall MsiRecordSetStringW(long long wstr)
-126 stub MsiReinstallFeatureA
+126 stdcall MsiReinstallFeatureA(str str long)
 127 stub MsiReinstallFeatureFromDescriptorA
 128 stub MsiReinstallFeatureFromDescriptorW
-129 stub MsiReinstallFeatureW
+129 stdcall MsiReinstallFeatureW(wstr wstr long)
 130 stdcall MsiReinstallProductA(str long)
 131 stdcall MsiReinstallProductW(wstr long)
 132 stub MsiSequenceA
@@ -151,8 +151,8 @@
 151 stdcall MsiSummaryInfoPersist(long)
 152 stdcall MsiSummaryInfoSetPropertyA(long long long long ptr str)
 153 stdcall MsiSummaryInfoSetPropertyW(long long long long ptr wstr)
-154 stub MsiUseFeatureA
-155 stub MsiUseFeatureW
+154 stdcall MsiUseFeatureA(str str)
+155 stdcall MsiUseFeatureW(wstr wstr)
 156 stdcall MsiVerifyPackageA(str)
 157 stdcall MsiVerifyPackageW(wstr)
 158 stdcall MsiViewClose(long)
@@ -189,7 +189,7 @@
 189 stdcall MsiConfigureProductExA(str long long str)
 190 stdcall MsiConfigureProductExW(wstr long long wstr)
 191 stub MsiInvalidateFeatureCache
-192 stub MsiUseFeatureExA
+192 stdcall MsiUseFeatureExA(str str long long)
 193 stdcall MsiUseFeatureExW(wstr wstr long long)
 194 stdcall MsiGetFileVersionA(str str ptr str ptr)
 195 stdcall MsiGetFileVersionW(wstr wstr ptr wstr ptr)


More information about the wine-patches mailing list