Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File io 卸载自定义操作(InstallShield)期间删除文件时出错 我在标准DLL中编写C++函数,在卸载时删除文件夹中的文件。这些文件是应用程序在某个时候添加的_File Io_Installshield_Uninstallation_Custom Action - Fatal编程技术网

File io 卸载自定义操作(InstallShield)期间删除文件时出错 我在标准DLL中编写C++函数,在卸载时删除文件夹中的文件。这些文件是应用程序在某个时候添加的

File io 卸载自定义操作(InstallShield)期间删除文件时出错 我在标准DLL中编写C++函数,在卸载时删除文件夹中的文件。这些文件是应用程序在某个时候添加的,file-io,installshield,uninstallation,custom-action,File Io,Installshield,Uninstallation,Custom Action,我正在使用DeleteFile逐个删除文件。DeleteFile正在返回一个错误\u访问\u拒绝错误。在InstallValidate when REMOVE=“ALL”期间,将从InstallShiel卸载中调用DeleteFile,作为自定义操作 知道我为什么被拒绝访问吗?我正在以管理用户的身份卸载 InstallShield项目是一个基本的MSI项目安装。我正在使用InstallShield Spring 2012 professional 从普通测试应用程序(Windows窗体应用程序)

我正在使用DeleteFile逐个删除文件。DeleteFile正在返回一个错误\u访问\u拒绝错误。在InstallValidate when REMOVE=“ALL”期间,将从InstallShiel卸载中调用DeleteFile,作为自定义操作

知道我为什么被拒绝访问吗?我正在以管理用户的身份卸载

InstallShield项目是一个基本的MSI项目安装。我正在使用InstallShield Spring 2012 professional


从普通测试应用程序(Windows窗体应用程序)调用Delete函数时,该函数正常工作。Dll是Win32 Dll。

导致此问题的原因是所调用函数的Dll位于要删除的文件夹中。

这些文件是什么类型的,它们位于何处?如果这些文件被认为是用户数据,我根本不会删除它们


在安装或卸载时,尽可能使用MSI删除文件。使用自定义操作非常容易出错且耗时。

删除文件表将起作用,但如果调用DLL的.exe正在使用,则不会起作用。 如果是这种情况,您可以使用条件
REMOVEALL=TRUE
放置自定义操作,然后简单地终止该进程

您需要将其放在InstallExecute序列的前面,以便它在静默模式下运行

例如,在VBScript中:

Dim oShell:Set oShell=CreateObject(“WScript.Shell”)
运行“taskkill/im execprocessname.exe”,True