diff --git a/asset-bundle.cabal b/asset-bundle.cabal
--- a/asset-bundle.cabal
+++ b/asset-bundle.cabal
@@ -1,13 +1,13 @@
-cabal-version: 1.12
+cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.0.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 427350334aa1a977dbaef751fcc98377254bbeed9134e8797360c95753071360
+-- hash: 90987a0577ed0a6469a537e37f60f5bb290ec8d39ea721b9c2787c2217684172
 
 name:           asset-bundle
-version:        0.1.0.1
+version:        0.1.0.2
 synopsis:       A build-time Cabal library that bundles executables with assets
 description:    Please see the Hackage documentation at <http://hackage.haskell.org/package/asset-bundle/docs/Distribution-Simple-AssetBundle.html>
 category:       distribution, bundle, zip, library, program
@@ -34,7 +34,7 @@
   hs-source-dirs:
       src
   build-depends:
-      Cabal >=1.22.0.0
+      Cabal >=2.0.0.2
     , base >=4.7 && <5
     , directory >=1.2.4.0
     , filepath
diff --git a/src/Distribution/Simple/AssetBundle.hs b/src/Distribution/Simple/AssetBundle.hs
--- a/src/Distribution/Simple/AssetBundle.hs
+++ b/src/Distribution/Simple/AssetBundle.hs
@@ -43,10 +43,10 @@
 import Distribution.Simple.Program(Program, simpleProgram, runProgram, defaultProgramDb)
 import Distribution.Simple.Program.Db(requireProgram)
 import Distribution.Simple.Setup(CopyFlags, fromFlag, copyDest)
-import Distribution.Simple.Utils (withTempDirectory, copyDirectoryRecursiveVerbose, createDirectoryIfMissingVerbose, installExecutableFile, copyFileVerbose, normaliseLineEndings, rawSystemExit)
+import Distribution.Simple.Utils (withTempDirectory, installDirectoryContents, createDirectoryIfMissingVerbose, installExecutableFile, copyFileVerbose, normaliseLineEndings, rawSystemExit)
 import Distribution.Text(display)
 import Distribution.Verbosity(normal, Verbosity)
-import System.Directory (getTemporaryDirectory, doesDirectoryExist, withCurrentDirectory, setOwnerExecutable, setPermissions, executable, getPermissions)
+import System.Directory (getTemporaryDirectory, doesDirectoryExist, withCurrentDirectory, setPermissions, executable, getPermissions)
 import System.FilePath ((</>), (<.>), takeFileName , takeDirectory)
 import Data.List(intercalate)
 import System.IO(withFile, hPutStr, IOMode(WriteMode))
@@ -242,13 +242,13 @@
     "bundleBuild."
     (\tmpDir -> withExeLBI pd
         localBuildInfo
-        (\executable componentLocalBuildInfo ->
+        (\exe componentLocalBuildInfo ->
             withCurrentDirectory
               tmpDir
               (
                 let installedExeName =
                       prefixOrSuffix componentLocalBuildInfo (progPrefix localBuildInfo) ++
-                      display (exeName executable) ++
+                      display (exeName exe) ++
                       prefixOrSuffix componentLocalBuildInfo (progSuffix localBuildInfo)
                     zipDir = installedExeName ++ "_bundled"
                     installRunner extension makeRunner =
@@ -258,7 +258,7 @@
                                      (
                                        case preRun of
                                         Nothing -> ""
-                                        Just f -> f executable
+                                        Just f -> f exe
                                      )
                       in do
                       withFile zipFile WriteMode (\handle -> hPutStr handle runner)
@@ -266,7 +266,7 @@
                       setPermissions zipFile (p { executable = True})
                 in do
                 createDirectoryIfMissingVerbose normal False zipDir
-                mapM_ (\dep -> copyDirectoryRecursiveVerbose normal (takeDirectory (InstalledPackageInfo.dataDir dep)) zipDir) deps
+                mapM_ (\dep -> installDirectoryContents normal (takeDirectory (InstalledPackageInfo.dataDir dep)) zipDir) deps
                 case buildOS of
                   -- Windows has issues with copy file permissions
                   Windows -> mapM_ (\f -> rawSystemExit normal "cp" [f, zipDir]) extraFiles
