diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bcdd912
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/*.sdf
+/*.suo
+/*.opensdf
+/ipch
+temp
+*.user
diff --git a/MSICALib.sln b/MSICALib.sln
new file mode 100644
index 0000000..f4265e7
--- /dev/null
+++ b/MSICALib.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSICALib", "build\MSICALib.vcxproj", "{8552EE55-177E-4F51-B51B-BAF7D6462CDE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Debug|Win32.Build.0 = Debug|Win32
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Debug|x64.ActiveCfg = Debug|x64
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Debug|x64.Build.0 = Debug|x64
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Release|Win32.ActiveCfg = Release|Win32
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Release|Win32.Build.0 = Release|Win32
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Release|x64.ActiveCfg = Release|x64
+ {8552EE55-177E-4F51-B51B-BAF7D6462CDE}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/build/MSICALib.props b/build/MSICALib.props
new file mode 100644
index 0000000..5901000
--- /dev/null
+++ b/build/MSICALib.props
@@ -0,0 +1,20 @@
+
+
+
+
+
+ temp\$(ProjectName).$(Platform).$(Configuration)\
+ temp\$(ProjectName).$(Platform).$(Configuration)\
+
+
+
+ ..\include
+ Use
+ stdafx.h
+
+
+ false
+
+
+
+
diff --git a/MSICALib.vcxproj b/build/MSICALib.vcxproj
similarity index 74%
rename from MSICALib.vcxproj
rename to build/MSICALib.vcxproj
index 77df5ae..c2467bf 100644
--- a/MSICALib.vcxproj
+++ b/build/MSICALib.vcxproj
@@ -19,14 +19,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Create
Create
Create
@@ -34,11 +34,11 @@
-
-
+
+
-
+
{8552EE55-177E-4F51-B51B-BAF7D6462CDE}
@@ -73,27 +73,31 @@
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
+
+
+
+
diff --git a/MSICALib.vcxproj.filters b/build/MSICALib.vcxproj.filters
similarity index 73%
rename from MSICALib.vcxproj.filters
rename to build/MSICALib.vcxproj.filters
index 6b2fabb..39a5062 100644
--- a/MSICALib.vcxproj.filters
+++ b/build/MSICALib.vcxproj.filters
@@ -15,41 +15,41 @@
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Header Files
-
+
Header Files
-
+
Resource Files
diff --git a/MSICALib.h b/include/MSICALib.h
similarity index 100%
rename from MSICALib.h
rename to include/MSICALib.h
diff --git a/MSICALib.cpp b/src/MSICALib.cpp
similarity index 100%
rename from MSICALib.cpp
rename to src/MSICALib.cpp
diff --git a/OpCert.cpp b/src/OpCert.cpp
similarity index 100%
rename from OpCert.cpp
rename to src/OpCert.cpp
diff --git a/OpFile.cpp b/src/OpFile.cpp
similarity index 100%
rename from OpFile.cpp
rename to src/OpFile.cpp
diff --git a/OpReg.cpp b/src/OpReg.cpp
similarity index 100%
rename from OpReg.cpp
rename to src/OpReg.cpp
diff --git a/OpSvc.cpp b/src/OpSvc.cpp
similarity index 100%
rename from OpSvc.cpp
rename to src/OpSvc.cpp
diff --git a/OpTS.cpp b/src/OpTS.cpp
similarity index 100%
rename from OpTS.cpp
rename to src/OpTS.cpp
diff --git a/OpWLAN.cpp b/src/OpWLAN.cpp
similarity index 100%
rename from OpWLAN.cpp
rename to src/OpWLAN.cpp
diff --git a/stdafx.cpp b/src/stdafx.cpp
similarity index 100%
rename from stdafx.cpp
rename to src/stdafx.cpp
diff --git a/stdafx.h b/src/stdafx.h
similarity index 100%
rename from stdafx.h
rename to src/stdafx.h