【发布时间】:2015-04-27 15:50:31
【问题描述】:
我创建了一个简单的卸载例程,在临时文件夹中制作了一些外部 bat,该文件夹从应用程序启动,bat 删除目录(安装应用程序的位置)中的所有文件。现在我从文件夹中删除所有文件(包括应用程序本身)时遇到问题,我无法删除文件夹。
这是蝙蝠的代码
ofstream batch;
batch.open(TempPath.c_str(), ios::out);
batch << "timeout 2" << "\n";
batch << "RD /S /Q \"C:\\Program Files\\Application\" /q\n";
batch << "timeout 5" << "\n";
batch << "rmdir \"C:\\Program Files\\Application\"";
batch.close();
现在的问题是如何在删除所有文件后删除文件夹?
【问题讨论】:
-
您在尝试删除文件夹时是否收到错误消息?权限问题?正在使用中?
-
当我从 cmd 尝试时,它说访问被拒绝
-
很有趣,但我觉得很难。您需要将卸载程序 EXE 复制到临时目录并运行它。根据您的应用程序的安装位置,您可能需要以管理权限运行它。为什么要滚动自己的安装程序/卸载程序? WIX 是免费且有用的。 wixtoolset.org
-
您是否使用了错误的标签?这看起来是 C++,而不是 C#?
-
@RonBeyer -> 对安装程序和卸载程序有一些特殊要求,这就是为什么我不使用其他一些设置
标签: c++ directory uninstallation