diff --git a/lib/conf/tasks/os/windows.js b/lib/conf/tasks/os/windows.js
index <HASH>..<HASH> 100755
--- a/lib/conf/tasks/os/windows.js
+++ b/lib/conf/tasks/os/windows.js
@@ -24,7 +24,7 @@ function remove_firewall_rules(cb) {
 
   var done = function(err) {
     if (err) last_error = err;
-    --count || cb(err);
+    --count || cb(last_error);
   }
 
   list.forEach(function(ver){
@@ -52,16 +52,17 @@ exports.post_activate = function(cb) {
     bin  : get_node_path(paths.package)
   }
 
-  remove_firewall_rules(function(err) {
+  remove_firewall_rules(function(e) {
     // if (err) return cb(err); -- just keep on going.
 
     log('Adding firewall rule for ' + obj.bin);
     firewall.add_rule(obj, function(err) {
       // if the service is down, forget it. we won't run into trouble anyway. :)
-      if (err && err.message.match('has not been started'))
-        return cb();
+      // if (err && err.message.match('has not been started'))
+      //   return cb();
 
-      cb(err);
+      // don't let any errors to stop the activate() process!
+      cb();
     });
   });
 }
On second thought, don't let any errors stop the activate process.