2011-06-09 61 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地獄是沒有任何混亂。

相關問題