2011-06-09 64 views
0

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

回答

0

您可能会考虑像InstallShield这样的其他打包软件,Visual Studio Packaging项目不提供这样的配置。

+0

实际上我想程序来阻止我。并问我应该删除哪个dll。 – dnur 2011-06-10 05:19:38

2

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

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

如果我猜到这个错误,并且你实际上正在共享DLL,那么最好的解决方案就是停止这样做。 DLL地狱是没有任何混乱。

相关问题