InstallShield CustomAction:如何在安装期间加载非托管/本机依赖关系程序集以进行p / invoke调用

时间:2017-01-21 05:37:01

标签: installation windows-installer pinvoke installshield installshield-2014

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

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

  

无法加载程序集。找不到。

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

0 个答案:

没有答案