Index: src/ch/AppHelper.h
===================================================================
diff -u -r44a2ec5f1eb0a435b56daef42ef5fe3b7a91da0d -rffb46a396ce20cda2e04020cf01c118ae81642b5
--- src/ch/AppHelper.h	(.../AppHelper.h)	(revision 44a2ec5f1eb0a435b56daef42ef5fe3b7a91da0d)
+++ src/ch/AppHelper.h	(.../AppHelper.h)	(revision ffb46a396ce20cda2e04020cf01c118ae81642b5)
@@ -20,6 +20,7 @@
 #define __APPHELPER_H__
 
 #include <boost/optional.hpp>
+#include "TPathProcessor.h"
 
 class CAppHelper
 {
@@ -28,33 +29,32 @@
 	virtual ~CAppHelper();
 
 	bool SetAutorun(bool bState);		// changes state of "run with system" option
-	CString ExpandPath(CString strPath);	// expands path string - ie. <windows> into c:\windows
 
 	bool IsFirstInstance() const { return m_bFirstInstance; };
 
 	PCTSTR GetAppName() const { return m_pszAppName; };
 	PCTSTR GetAppNameVer() const { return m_pszAppNameVer; };
 	PCTSTR GetAppVersion() const { return m_pszAppVersion; };
 
-	PCTSTR GetProgramPath() const { return m_pszProgramPath; };
 	PCTSTR GetProgramName() const { return m_pszProgramName; };
 
 	bool GetProgramDataPath(CString& rStrPath);
+	CString ExpandPath(CString strPath);
+	CString GetProgramPath() const;
 
 	bool IsInPortableMode();
 
 protected:
 	void InitProtection();		// optional call - protects from running multiple instance
 	void RetrievePaths();							// reads program's path and name
 	void RetrieveAppInfo();							// reads app name and version from VERSION resource
-	UINT GetFolderLocation(int iFolder, PTSTR pszBuffer);
 
 protected:
 	HANDLE m_hMutex;
 	bool m_bFirstInstance;		// tells if it is first instance(true) or second(or third, ...)
 
 	// program placement
-	TCHAR* m_pszProgramPath;	// path from which this program was run
+	TPathProcessor m_pathProcessor;
 	TCHAR* m_pszProgramName;	// name of this program (ie. CH.exe)
 
 	TCHAR* m_pszAppName;		// app-name string of this app