#pragma hdrstop
 #endif
 
+#if wxUSE_STDPATHS
+
 #ifndef WX_PRECOMP
     #include "wx/app.h"
 #endif //WX_PRECOMP
 // used in our wxLogTrace messages
 static const wxChar *TRACE_MASK = _T("stdpaths");
 
+#ifndef CSIDL_APPDATA
+    #define CSIDL_APPDATA         0x001a
+#endif
+
 #ifndef CSIDL_LOCAL_APPDATA
     #define CSIDL_LOCAL_APPDATA   0x001c
 #endif
 
 wxString wxStandardPaths::GetDataDir() const
 {
-    return AppendAppName(DoGetDirectory(CSIDL_PROGRAM_FILES));
+    // under Windows each program is usually installed in its own directory and
+    // so its datafiles are in the same directory as its main executable
+    return wxFileName(wxGetFullModuleName()).GetPath();
 }
 
 wxString wxStandardPaths::GetUserDataDir() const
         wxLogLastError(_T("GetWindowsDirectory"));
     }
 #else
-    // TODO:
-    //    eVC4 - use CSIDL_WINDOWS
-    //    eVC3 - probably not possible through API
+    // TODO: use CSIDL_WINDOWS (eVC4, possibly not eVC3)
+    return wxT("\\Windows");
 #endif
 
     return dir;
     return wxGetHomeDir();
 }
 
+#endif // wxUSE_STDPATHS