0

我正在创建一个基本的 MSI installshield 2014 项目。我添加了一个自定义操作,它调用托管 .Net 程序集 (MyCSharpAssembly.dll) 中存在的公共方法。现在我的托管 dll 依次调用存在于MyUnamanagedCPlusPlusAssembly.dll用 C++ 编写的未管理/本机程序集 () 中的方法。我使用DllImport方法在运行时加载本机程序集。

我根据线程接受的答案将本机 dll 添加到支持文件([SUPPORTDIR])中。当我运行 MSI 输出时,我还看到那些本机程序集被复制到 installshield 的临时工作目录中。还是不行?当安装程序运行时,我只是在日志中收到以下错误-

未能加载程序集。找不到DLL。

这实质上意味着 CLR/.net 运行时无法在运行时看到本机程序集 dll。有没有人知道在安装过程中专门加载本机 dll 依赖项?

4

0 回答 0