如何避免“DLL Hell”与维克斯?
我有一个应用程序显然需要一些晦涩的 DLL。我在其中引用了第 3 方 COM 对象,我认为这就是导致问题的原因。我下载了一个名为 Depends.exe 的程序,当我将其指向我的应用程序时,它说我需要 IESHIMS.DLL、IEFRAME.DLL 和 SHLWAPI.DLL 等内容。
我听说这些事情通常是由安装程序提供的并行组装来处理的。我使用 WiX 进行安装。 WiX不提供这个吗?我需要告诉它明确提供吗?
I have an application that apparently needs some obscure DLLs. I reference a 3rd party COM object within it, which is what I believe is causing the issue. I downloaded a program called Depends.exe, and when I point it at my application, it says I need things like IESHIMS.DLL, IEFRAME.DLL, and SHLWAPI.DLL.
I'm told these are things that are typically taken care of by side-by-side assembly, something that an installer provides. I'm using WiX for my installation. Does WiX not provide this? Do I need to tell it to provide it explicitly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这些并不是晦涩难懂的dll。我不知道为什么参考文献不会在那里。
这是程序的发布版本,而不是调试版本,对吧?
Those aren't obscure dlls. I don't know why the references wouldn't be there.
This is the release build, not the debug build of the program, right?
正如 Kragen 所说,Depends.exe 经常抱怨这些文件。当使用 Depends.exe 时,我只查看系统未提供的 DLL(即我的及其依赖项)。
另请注意,Windows Installer 无法安装所有系统文件。这些文件都是系统文件,因此它们绝对不应该位于您的 MSI 中。
LIke Kragen said, Depends.exe often complains about those files. When using Depends.exe I look at only the DLLs that are not provided by the system (i.e. mine and their dependencies).
Also note that the Windows Installer cannot intsall system files. Those files are all system files so they definitely should not be in your MSI.
几乎我使用 Depends.exe 查看过的每个程序集似乎都需要这 3 个程序集中的至少 2 个,并且它们都运行良好。
我不确定 Depends.exe 将这 3 个程序集标记为未解析的引用的确切原因,但我相当确定这 3 个程序集可以在 Depends.exe 中忽略。
Pretty much every assembly I've ever looked at using Depends.exe seems to need at least 2 of those 3 assemblies, and they all run fine.
I'm not sure as to the exact reason why Depends.exe marks those 3 as unresolved references, however I'm fairly certain that those 3 assemblies can be ignored in Depends.exe.