diff --git a/lib/Web/Browser.hs b/lib/Web/Browser.hs
--- a/lib/Web/Browser.hs
+++ b/lib/Web/Browser.hs
diff --git a/lib/Web/Browser/Windows.hs b/lib/Web/Browser/Windows.hs
--- a/lib/Web/Browser/Windows.hs
+++ b/lib/Web/Browser/Windows.hs
@@ -1,4 +1,5 @@
-﻿{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
 module Web.Browser.Windows
 ( openBrowserWindows
 ) where
@@ -20,11 +21,11 @@
                              | otherwise               = False
 
 -- https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
-foreign import ccall "ShellExecuteW"
+foreign import WINDOWS_CCONV unsafe "windows.h ShellExecuteW"
     c_ShellExecute :: HANDLE  -- _In_opt_
                    -> LPCTSTR -- _In_opt_
                    -> LPCTSTR -- _In_
                    -> LPCTSTR -- _In_opt_
                    -> LPCTSTR -- _In_opt_
                    -> INT     -- _In_
-                   -> IO (HINSTANCE)
+                   -> IO HINSTANCE
diff --git a/open-browser.cabal b/open-browser.cabal
--- a/open-browser.cabal
+++ b/open-browser.cabal
@@ -1,17 +1,20 @@
 name:                       open-browser
-version:                    0.2.0.0
+version:                    0.2.1.0
 synopsis:                   Open a web browser from Haskell.
 description:                Open a web browser from Haskell.
                             Currently BSD, Linux, OS X and Windows are supported.
 license:                    BSD3
 license-file:               LICENSE
 author:                     rightfold
+homepage: https://github.com/rightfold/open-browser
 maintainer:                 rightfold@gmail.com
 bug-reports:                https://github.com/rightfold/open-browser/issues
 category:                   Web
 build-type:                 Simple
 cabal-version:              >=1.10
 
+tested-with: GHC >= 7.6
+
 source-repository head
     type:                   git
     location:               https://github.com/rightfold/open-browser.git
@@ -26,6 +29,10 @@
     if os(windows)
       build-depends:        Win32
       other-modules:        Web.Browser.Windows
+      if arch(i386)
+        cpp-options:        "-DWINDOWS_CCONV=stdcall"
+      else
+        cpp-options:        "-DWINDOWS_CCONV=ccall"
 
 executable example
     main-is:                Main.hs
