diff --git a/acid-state.cabal b/acid-state.cabal
--- a/acid-state.cabal
+++ b/acid-state.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.8.1
+Version:             0.8.2
 
 -- A short (one-line) description of the package.
 Synopsis:            Add ACID guarantees to any serializable Haskell data structure.
diff --git a/src-win32/FileIO.hs b/src-win32/FileIO.hs
--- a/src-win32/FileIO.hs
+++ b/src-win32/FileIO.hs
@@ -13,11 +13,18 @@
 import System.IO
 import System.Directory(createDirectoryIfMissing,removeFile)
 import Control.Exception.Extensible(try,throw)
-import Control.Exception(SomeException)
+import Control.Exception(SomeException,IOException)
+import qualified Control.Exception as E 
 
 type PrefixLock = (FilePath, Handle)
 
 data FHandle = FHandle HANDLE
+
+tryE :: IO a -> IO (Either SomeException a)
+tryE = try
+
+catchIO :: IO a -> (IOException -> IO a) -> IO a
+catchIO = E.catch
 
 open :: FilePath -> IO FHandle
 open filename =
diff --git a/src/Data/Acid/Local.hs b/src/Data/Acid/Local.hs
--- a/src/Data/Acid/Local.hs
+++ b/src/Data/Acid/Local.hs
@@ -26,8 +26,7 @@
 import Data.Acid.Common
 import Data.Acid.Abstract
 
-import Control.Concurrent             ( newEmptyMVar, putMVar, takeMVar, MVar, threadDelay )
-import Control.Exception              ( SomeException, handle )
+import Control.Concurrent             ( newEmptyMVar, putMVar, takeMVar, MVar )
 import Control.Monad.State            ( runState )
 import Control.Monad                  ( join )
 import Control.Applicative            ( (<$>), (<*>) )
diff --git a/src/Data/Acid/Memory.hs b/src/Data/Acid/Memory.hs
--- a/src/Data/Acid/Memory.hs
+++ b/src/Data/Acid/Memory.hs
@@ -18,7 +18,7 @@
 import Data.Acid.Common
 import Data.Acid.Abstract
 
-import Control.Concurrent             ( newEmptyMVar, putMVar, takeMVar, MVar )
+import Control.Concurrent             ( newEmptyMVar, putMVar, MVar )
 import Control.Monad.State            ( runState )
 import Data.ByteString.Lazy           ( ByteString )
 import Data.Typeable                  ( Typeable )
diff --git a/src/Data/Acid/Remote.hs b/src/Data/Acid/Remote.hs
--- a/src/Data/Acid/Remote.hs
+++ b/src/Data/Acid/Remote.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 -----------------------------------------------------------------------------
 {- |
  Module      :  Data.Acid.Remote
@@ -44,7 +45,9 @@
                    forkIO (process acidState handle))
          `finally` do sClose socket
                       case port of
+#if !defined(mingw32_HOST_OS) && !defined(cygwin32_HOST_OS) && !defined(_WIN32)
                         UnixSocket path -> removeFile path
+#endif
                         _               -> return ()
 
 data Command = RunQuery (Tagged Lazy.ByteString)
