C# 如何调试Shell32 copyHere Zip

C# 如何调试Shell32 copyHere Zip,c#,service,zip,shell32,C#,Service,Zip,Shell32,我正在调试一些C代码,非常感谢您的帮助 这是我的密码 sourceZipFile = objShell.NameSpace(@incomingZipFilesFolder.FullName + this.zipFile.Title); try { //extract and copy all files foreach (FolderItem2 file in sourceZipFile.Items(

我正在调试一些C代码,非常感谢您的帮助

这是我的密码

        sourceZipFile = objShell.NameSpace(@incomingZipFilesFolder.FullName + this.zipFile.Title);
        try
        {
            //extract and copy all files
            foreach (FolderItem2 file in sourceZipFile.Items())
            {
                log.createEntry("Extracting:"+file.Name);
                destinationFolder.CopyHere(file, 4 | 16 );

            }
        }catch(Exception ex){

        }
我正在使用Shell32将zip文件解压缩到目标文件夹中

在我的服务器上使用visual studio运行此代码时,一切正常,提取的文件到达目标文件夹

在同一台服务器上作为服务运行此代码时,日志文件成功显示:

正在提取:File1.txt 正在提取:File2.txt 正在提取:File3.txt

但是,文件不会到达目标文件夹。它显示循环工作正常,但destination.CopyHere不工作

我正在使用服务帐户运行此代码。该帐户对源文件夹和目标文件夹具有完全AD权限。代码不会抛出任何错误

是否有方法创建destinationFolder.Copy here返回错误输出

作为一个测试,我使用自己的Windows用户安装了该服务,因此该进程使用我的用户帐户运行,并且在服务器上具有管理员权限。结果与使用服务帐户运行它相同

如果有人给我指点,我将不胜感激

谢谢

问候


Toby

destinationFolder是什么类型的?通常,objShell(如果我们说的是Wscript.Shell)需要交互式用户,它使用窗口消息。如果不与Desktop交互,它就无法正常运行destinationFolder是什么类型的?通常,objShell(如果我们谈论的是Wscript.Shell)需要交互用户,它使用窗口消息。没有与桌面的交互,它无法正常运行