InstallShield缺少依赖项

时间:2013-10-20 16:19:11

标签: c# visual-studio-2012 installshield

我正在尝试使用VS2012中的installshield软件构建我的设置,您必须使用它。我已经设法准备,但我有一个问题是这些警告: 警告5 -6248:找不到依赖文件u2dmapi.dll,或其组件Aamali_New.Primary_output ISEXP的依赖项之一:警告:-6248:找不到依赖文件u2dmapi.dll,或其组件Aamali_New.Primary_output的依赖项之一

实际上它会查找此文件u2dmapi.dll !!我已经设法从互联网上下载文件,但我不知道把文件放在哪里,所以建设者会找到它。我试图将它放在项目的几个位置,但它看不到它。能否请你帮我解决一下这个位置,以便它能够得到它并且不会再次发出这个警告。等待你的回复。 谢谢。

1 个答案:

答案 0 :(得分:2)

根据this article,您必须将DLL “放在与警告中指定的组件的密钥文件相同的位置。”在我的情况下,它是一个项目输出,所以我不得不把我的DLL放在exe(bin \ release)旁边的项目的bin文件夹中。

有很多方法可以做到这一点:

  • 如果是托管DLL,请将其添加为项目中的引用。如果它不受管理,它将不允许你。
  • 如果不是,则必须在需要的地方手动复制
  • 或者adding a Post-Build Event Command Line(项目属性,构建事件选项卡)自动执行:

    copy "$(ProjectDir)lib\$(PlatformName)\Unmanaged\*" "$(TargetDir)"
    

$(...)是预定义的宏。检查出来,还有很多其他的。

这有点棘手且容易出错......我会首选将文件标记为项目中的依赖项,但我没有找到办法。