在卸载windows窗体应用程序期间选择dll文件

本文关键字:选择 dll 文件 应用程序 卸载 windows 窗体 | 更新日期: 2023-09-27 17:58:44

我使用c#编写了一个windows窗体应用程序,并创建了安装文件。一切都很好。我的问题是;我们可以选择哪个dll和exe文件应该包括在安装程序中,就像我们可以选择应该删除哪个dll吗?或者至少当我们尝试卸载程序时,它可以问我们"如果我应该这些…常见的dll文件"吗?因为当我卸载它时,它可以删除系统当前使用的常见dll。所以会有一个问题。我在visual studio中制作了安装文件。

在卸载windows窗体应用程序期间选择dll文件

从表面上看这个问题:实际上不太可能安装其他程序共享的DLL。VS构建系统和安装项目向导都会非常努力地阻止您执行此操作。在.NET中执行此操作的唯一有效方法是对程序集进行强命名并将其部署到GAC中。非GAC方法是实现AppDomain.AssemblyResolve事件。如果你真的这样做了,你会在你的问题中提到这一点。

Winforms应用程序的正常部署模式是ClickOnce或安装程序,就像您制作的那样,或者只是复制文件。如果安装后EXE和它使用的DLL在一个目录中,则不共享任何DLL。

如果我猜错了,而您实际上正在共享DLL,那么到目前为止,最好的解决方案就是停止这样做。DLL地狱没什么可惹的。

您可以考虑另一种打包软件,如InstallShield,Visual Studio打包项目不提供此类配置。