3

我正在使用 VS2010 的Visual Studio 安装程序将我的应用程序部署到MSI

我在开发过程中引用了许多 DLL;有些是第 3 方,有些是系统 DLL。现在在部署期间,我不知道要包括或排除什么。在我添加输出 .EXE 后, Visual Studio 自动包含检测到的依赖项,但它们通常不足以运行应用程序。我经常不得不手动将开发的 DLL 包含到已安装的应用程序文件夹中。否则,eventvwr只会提供一个通用的CLR20r3错误,它只会告诉我缺少 DLL,但不会指出是哪一个。

在我的部署项目中包含所有引用,因为它们在我的开发项目中被引用已成为一种习惯(一个非常坏的习惯,IMO),但我猜应用程序的卸载可能会删除导致其他应用程序出现问题的系统 DLL。

那么,除了Detected Dependencies之外,我如何知道要在部署项目中手动包含哪些 DLL ?

4

1 回答 1

3

您的所有第三方 dll 都需要与您的应用程序一起分发。
您需要查看这些库的文档以获得准确的答案。

根据经验,请查看项目的参考部分。
记下那里使用的库,然后检查文档是否需要 VS 未检测到的其他库。有时这些库会提供一个“可再发行包”,您可以将其包含在您的安装项目中。

我更喜欢手动完成这项工作,并且总是在空的虚拟机中进行测试。当您的客户安装应用程序时设置失败是非常尴尬的。

要卸载,如果您将所有内容都安装在应用程序文件夹中,您真的不用担心。

于 2013-04-01T12:50:59.037 回答