? wine/dlls/advpack/advpack.dsp
Index: wine/dlls/advpack/advpack.c
===================================================================
RCS file: /home/wine/wine/dlls/advpack/advpack.c,v
retrieving revision 1.2
diff -u -r1.2 advpack.c
--- wine/dlls/advpack/advpack.c	7 Oct 2004 04:20:24 -0000	1.2
+++ wine/dlls/advpack/advpack.c	15 Oct 2004 18:55:25 -0000
@@ -2,6 +2,7 @@
  * Advpack main
  *
  * Copyright 2004 Huw D M Davies
+ * Copyright 2004 James Tabor for ReactOS
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -17,10 +18,16 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+ 
+#include "config.h"
+#include "wine/port.h"
 
 #include <stdarg.h>
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
+#include "winnls.h"
+#include "winver.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(advpack);
@@ -34,4 +41,72 @@
         DisableThreadLibraryCalls(hinstDLL);
 
     return TRUE;
+}
+
+
+HRESULT WINAPI
+GetVersionFromFileEx( LPSTR Filename,
+                      LPDWORD MajorVer,
+                      LPDWORD MinorVer,
+                      BOOL  Version )
+{
+  DWORD Size, Reserved, Param;
+  UINT Length;
+  LPVOID Buffer;
+  
+  if (Version)
+    {
+       Size = GetFileVersionInfoSizeA(Filename, &Reserved);
+  
+       Buffer = LocalAlloc ( GMEM_ZEROINIT, Size );
+  
+       GetFileVersionInfoW((LPCWSTR)Filename, 0, Size, Buffer); 
+
+       VerQueryValueW( Buffer,
+                       (LPCWSTR) "\\StringFileInfo\\040904b0\\FileVersion",
+                       (LPVOID) &Param,
+                       &Length );
+
+       MajorVer = (LPDWORD) (DWORD) HIWORD(Param);
+       MinorVer = (LPDWORD) (DWORD) LOWORD(Param);
+
+       LocalFree( Buffer );
+    } 
+  else
+    {
+       /* Language ID */
+       MajorVer = (LPDWORD) LANG_ENGLISH;
+       /*  I guess EnumResourceLanguages is used with a call back.
+        *  Return PRIMARYLANGID(wIDLanguage) from the call back.
+        */
+       
+       /* Codepage ID */
+       MinorVer = (LPDWORD) GetACP();
+       /* Here again, another guess. */
+    }
+
+  return S_OK;
+}
+
+
+HRESULT WINAPI
+GetVersionFromFile( LPSTR Filename,
+                    LPDWORD MajorVer,
+                    LPDWORD MinorVer,
+                    BOOL  Version )
+{
+  return (GetVersionFromFileEx(Filename, MajorVer, MinorVer, Version));
+}
+
+INT WINAPI
+LaunchINFSection( HWND hwnd,
+                  HINSTANCE Inst,
+                  PSTR Params,
+                  INT Index )
+{
+  FIXME("LaunchINFSection not implemented\n");
+
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+  return E_FAIL;
 }
Index: wine/dlls/advpack/advpack.spec
===================================================================
RCS file: /home/wine/wine/dlls/advpack/advpack.spec,v
retrieving revision 1.1
diff -u -r1.1 advpack.spec
--- wine/dlls/advpack/advpack.spec	27 Sep 2004 20:39:40 -0000	1.1
+++ wine/dlls/advpack/advpack.spec	15 Oct 2004 18:55:25 -0000
@@ -2,7 +2,7 @@
 @ stub AdvInstallFile
 @ stub CloseINFEngine
 @ stub DelNode
-@ stub DelNodeRunDLL32
+@ stdcall DelNodeRunDLL32(ptr ptr str ptr)
 @ stub DllMain
 @ stub DoInfInstall
 @ stub ExecuteCab
@@ -10,12 +10,12 @@
 @ stub FileSaveMarkNotExist
 @ stub FileSaveRestore
 @ stub FileSaveRestoreOnINF
-@ stub GetVersionFromFile
-@ stub GetVersionFromFileEx
+@ stdcall GetVersionFromFile(str str str str)
+@ stdcall GetVersionFromFileEx(str str str str)
 @ stub IsNTAdmin
-@ stub LaunchINFSection
+@ stdcall LaunchINFSection(ptr ptr str ptr)
 @ stub LaunchINFSectionEx
-@ stub NeedReboot
+@ stdcall NeedReboot(str)
 @ stub NeedRebootInit
 @ stub OpenINFEngine
 @ stub RebootCheckOnInstall
Index: wine/dlls/advpack/reg.c
===================================================================
RCS file: /home/wine/wine/dlls/advpack/reg.c,v
retrieving revision 1.2
diff -u -r1.2 reg.c
--- wine/dlls/advpack/reg.c	7 Oct 2004 04:20:24 -0000	1.2
+++ wine/dlls/advpack/reg.c	15 Oct 2004 18:55:26 -0000
@@ -2,6 +2,7 @@
  * Advpack registry functions
  *
  * Copyright 2004 Huw D M Davies
+ * Copyright 2004 James Tabor for ReactOS
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -176,3 +177,27 @@
 
     return S_OK;
 }
+
+HRESULT WINAPI
+DelNodeRunDLL32( HWND hwnd,
+                 HINSTANCE Inst,
+                 PSTR Params,
+                 INT Index )
+{
+  FIXME("DelNodeRunDLL32 not implemented\n");
+  // HKLM\\Software\Microsoft\Windows\CurrentVersion\RunOnce - This function adds a key to runonce to install and cleanup
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+  return E_FAIL;
+}
+
+BOOL WINAPI
+NeedReboot( DWORD RebootCheck )
+{
+  FIXME("NeedReboot not implemented\n");
+
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+  return FALSE;
+}
+
