diff --git a/publish/build.js b/publish/build.js
index 196e8be9b580ea0d0da38e76ff01797dc459fd5e..670f7c73ae517c4eae995c16cadc43b1167e0750 100644
--- a/publish/build.js
+++ b/publish/build.js
@@ -9,51 +9,60 @@ function fix2(num) {
     }
 }
 
-async function initFiles() {
-    const formExists = await fs.existsSync('./publish/form');
-    if (formExists) {
-        await fs.rmdirSync('./publish/form');
-    }
-}
-
 async function copyDir(src, dst) {
-    // fs.fileex
     const exists = await fs.existsSync(dst);
     if (!exists) {
         await fs.mkdirSync(dst);
     }
     //读取目录
     const paths = await fs.readdirSync(src);
-    paths.forEach(async function (path) {
+    for (let i = 0; i < paths.length; i++) {
+        let path = paths[i];
         const newSrc = `${src}/${path}`;
         const newDst = `${dst}/${path}`;
         const st = await fs.statSync(newSrc);
         if (st.isFile()) {
-            console.log('copy ' + newDst);
+            console.log('copy: ' + newDst);
             const data = await fs.readFileSync(newSrc);
             await fs.writeFileSync(newDst, data);
         } else if (st.isDirectory()) {
             copyDir(newSrc, newDst);
         }
-    });
+    }
 }
 
-async function deleteZips() {
-    const fileList = fs.readdirSync('./publish');
-    for (let i = 0; i < fileList.length; i++) {
-        const name = fileList[i];
-        if (name.indexOf('.zip') != -1) {
-            await fs.unlinkSync(`./publish/${name}`);
+async function removeDir(src) {
+    const exists = await fs.existsSync(src);
+    if (!exists) {
+        return;
+    }
+
+    //读取目录
+    const st = await fs.statSync(src);
+    console.log(st);
+    const paths = await fs.readdirSync(src);
+    for (let i = 0; i < paths.length; i++) {
+        let path = paths[i];
+        const newSrc = `${src}/${path}`;
+        const st = await fs.statSync(newSrc);
+        if (st.isFile()) {
+            console.log('remove: ' + newSrc);
+            await fs.unlinkSync(newSrc);
+        } else if (st.isDirectory()) {
+            await removeDir(newSrc);
         }
     }
+    await fs.rmdirSync(src);
 }
 
 async function main() {
-    await deleteZips();
     let date = new Date();
     let fileName = `Release_${date.getFullYear()}${fix2(date.getMonth() + 1)}${fix2(date.getDate())} `;
     fileName += `${fix2(date.getHours())}-${fix2(date.getMinutes())}-${fix2(date.getSeconds())}`;
 
+    await removeDir('./publish/play');
+    await removeDir('./publish/form');
+
     await copyDir('../play/build/web-desktop', './publish/play');
 
     const data = await fs.readFileSync('./index.html');
diff --git a/publish/build.sh b/publish/build.sh
index 426d6ba45a7f3fb2b3c748252c8d1d5185b068c2..02779c581b2b92b339cc91cc4f9c681883e5debb 100644
--- a/publish/build.sh
+++ b/publish/build.sh
@@ -8,7 +8,7 @@ npm run publish
 
 cd ../play
 
-CocosCreator --path "./" --build "platform=web-desktop;debug=true" --force
+/Applications/CocosCreator/Creator/2.4.0/CocosCreator.app/Contents/MacOS/CocosCreator --path "./" --build "platform=web-desktop;debug=true" --force
 
 cd ../publish 
 
diff --git a/publish/publish/.DS_Store b/publish/publish/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
Binary files /dev/null and b/publish/publish/.DS_Store differ