【问题标题】:Choose dll files during uninstalling a windows form application program卸载windows窗体应用程序时选择dll文件
【发布时间】:2011-09-12 00:54:39
【问题描述】:

我使用 c# 编写了一个 Windows 窗体应用程序并创建了安装文件。一切正常。 我的问题是;我们可以选择应该包含哪个 dll 和 exe 文件进行设置,这样我们可以选择应该删除哪个 dll 或者至少当我们尝试卸载程序时,它会问我们“如果我应该使用这些......常见的 dll 文件“? 因为当我卸载它时,它可以删除系统当前使用的常见dll。所以会有问题。 我在visual studio中制作了安装文件。

【问题讨论】:

    标签: c# visual-studio-2010 dll setup-project uninstallation


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 其实我想让程序阻止我。并问我应该删除哪些 dll 。
      猜你喜欢
      • 2010-11-08
      • 2011-08-30
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 2013-07-02
      • 2011-09-29
      相关资源
      最近更新 更多