Index: /trunk/jenga/include/common/Directory.h
===================================================================
--- /trunk/jenga/include/common/Directory.h	(revision 294)
+++ /trunk/jenga/include/common/Directory.h	(revision 295)
@@ -19,8 +19,5 @@
 	string path;
 public:
-	Directory( const string &path )
-		: path( path )
-	{
-	}
+	Directory( const string &path, bool isMake = false );
 
 	string GetFullPath( const string &relationPath );
Index: /trunk/jenga/src/common/Directory.cpp
===================================================================
--- /trunk/jenga/src/common/Directory.cpp	(revision 294)
+++ /trunk/jenga/src/common/Directory.cpp	(revision 295)
@@ -1,7 +1,22 @@
 #include <boost/foreach.hpp>
 #include <jenga/include/common/Directory.h>
+#include <jenga/include/common/Exception.h>
+
+#include <imagehlp.h>
 
 using namespace std;
 using namespace Jenga::Common;
+
+Directory::Directory( const string &path, bool isMake )
+	: path( path )
+{
+	if ( isMake )
+	{
+		if (!::MakeSureDirectoryPathExists(path.c_str()))
+		{
+			Jenga::Throw( "MakeSureDirectoryPathExists failed!" );
+		}
+	}
+}
 
 string Directory::GetFullPath( const string &relationPath )
