Browse Source

[Windows Export] Use temporary file for osslsigncode signing.

bruvzg 4 years ago
parent
commit
8f7c2ccefd
1 changed files with 11 additions and 1 deletions
  1. 11 1
      platform/windows/export/export.cpp

+ 11 - 1
platform/windows/export/export.cpp

@@ -310,7 +310,7 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p
 	args.push_back(p_path);
 	args.push_back(p_path);
 #ifndef WINDOWS_ENABLED
 #ifndef WINDOWS_ENABLED
 	args.push_back("-out");
 	args.push_back("-out");
-	args.push_back(p_path);
+	args.push_back(p_path + "_signed");
 #endif
 #endif
 
 
 	String str;
 	String str;
@@ -326,6 +326,16 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p
 		return FAILED;
 		return FAILED;
 	}
 	}
 
 
+#ifndef WINDOWS_ENABLED
+	DirAccessRef tmp_dir = DirAccess::create_for_path(p_path.get_base_dir());
+
+	err = tmp_dir->remove(p_path);
+	ERR_FAIL_COND_V(err != OK, err);
+
+	err = tmp_dir->rename(p_path + "_signed", p_path);
+	ERR_FAIL_COND_V(err != OK, err);
+#endif
+
 	return OK;
 	return OK;
 }
 }