应用程序需要使用COM引用Microsoft Shell Control And Automation,它位于C:\Windows\system32\shell32.dll。它将shell32.dll添加为依赖项。好吧,没问题。
但是在安装时,它也会在目标安装目录中复制shell32.dll和Interop.Shell32.DLL,现在当应用程序运行时会显示出奇怪的错误。为什么MSI要在安装目录中复制shell32.dll?64位操作系统需要它吗?如果是,为什么是Interop.Shell32.DLL?对于我的应用程序,<
是否可以不使用"Shell32.dll“一词来编写文件打印例程,因为在XLSB文件中的受保护VBA中使用此命令会标记Excel文件包含与特洛伊木马程序相关的脚本,并且无法通过电子邮件发送或下载excelOption Explicit
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" AliaslpDirectory As String, ByVal nShowCmd As Long) As Long
我有一个使用Shell32.dll的C# VS 2010项目。Shell32.dll用于创建zip文件。这台机器是Win7 64位。当.net目标版本为2.0或3.5时,项目可以很好地编译和运行。我再次尝试删除并添加对Shell32.dll的引用,并将目标平台更改为X86。但仍然无法编译。寻找原因和解决方案。
更新:我尝试创建新项目,并添加了对Shell32.dll的引用。