diff -ruN cfengine-2.2.7/src/cfexecd.c cfengine-2.2.7-cygwin/src/cfexecd.c
--- cfengine-2.2.7/src/cfexecd.c	2008-05-15 05:28:54.000000000 -0500
+++ cfengine-2.2.7-cygwin/src/cfexecd.c	2008-07-07 14:19:40.656250000 -0500
@@ -28,6 +28,7 @@
 /*                                                                 */
 /*******************************************************************/
 
+#include "process.h"
 #include "cf.defs.h"
 #include "cf.extern.h"
 
diff -ruN cfengine-2.2.7/src/do.c cfengine-2.2.7-cygwin/src/do.c
--- cfengine-2.2.7/src/do.c	2008-05-10 04:06:01.000000000 -0500
+++ cfengine-2.2.7-cygwin/src/do.c	2008-07-07 14:19:40.718750000 -0500
@@ -2729,7 +2729,7 @@
 #ifdef NT
    
    tzset();
-   strcpy(tz,timezone());
+   strcpy(tz,*_tzname);
    
 #else
 #ifndef AOS
diff -ruN cfengine-2.2.7/src/image.c cfengine-2.2.7-cygwin/src/image.c
--- cfengine-2.2.7/src/image.c	2008-02-07 04:08:17.000000000 -0600
+++ cfengine-2.2.7-cygwin/src/image.c	2008-07-07 14:20:44.843750000 -0500
@@ -385,6 +385,16 @@
 Debug2("ImageCopy(%s,%s,+%o,-%o)\n",sourcefile,destfile,ip->plus,ip->minus);
 
 ExpandVarstring(ip->server,server,NULL);
+
+#ifdef NT
+int colon_location;
+for (colon_location = 0; colon_location < strlen(destfile); colon_location++) {
+  if (destfile[colon_location] == ':') {
+    Debug2("Found : in filename on NT, replacing with +\n");
+    destfile[colon_location] = '+';
+  }
+}
+#endif
       
 if ((strcmp(sourcefile,destfile) == 0) && (strcmp(ip->server,"localhost") == 0))
    {
diff -ruN cfengine-2.2.7/src/modules.c cfengine-2.2.7-cygwin/src/modules.c
--- cfengine-2.2.7/src/modules.c	2007-10-10 23:22:56.000000000 -0500
+++ cfengine-2.2.7-cygwin/src/modules.c	2008-07-07 14:21:18.562500000 -0500
@@ -62,6 +62,16 @@
    snprintf(OUTPUT,CF_BUFSIZE,"Absolute module path (%s) should be named relative to the authorized module directory",actiontxt);
    CfLog(cferror,OUTPUT,"");
    }
+ 
+#ifdef NT
+      int i;
+      for (i = 0; i < strlen(actiontxt); i++) {
+         if (actiontxt[i] == ':') {
+            Debug2("Found : in modulename on NT, replacing with +\n");
+            actiontxt[i] = '+';
+         }
+      }
+#endif
 
 if (GetMacroValue(CONTEXTID,"moduledirectory"))
    {
