2009-04-30 32 views
1

我們有一個包含Web應用程序,Web服務,Windows服務和Windows應用程序在內的多個應用程序的項目。我們也有先決條件,如SQL Server Express,.NET 2.0和其他。我們在安裝過程中沒有太多的用戶交互,但我們希望增加更多的智能。選擇新的設置工具

我們正在使用Visual Studio爲所有這些生成集成安裝程序。但我們不斷與它鬥爭,讓它像我們想要的那樣工作。

我們希望將我們的安裝工具更改爲更簡單,更靈活的工具。

我們還在尋找更好的升級解決方案,它必須在部署的系統上運行升級sql腳本。也許這可以與設置集成。

我們正在考慮使用InstallShield,但有人說它會帶來很多複雜性。你認爲什麼是這份工作的最佳工具?

謝謝!

回答

3

在閱讀完這些答案後,我們決定使用高級安裝程序,它具有遵守MSI標準的優點,而且使用起來非常簡單。

0

既然你提到的Visual Studio和.NET,我假設你正在部署基於Windows的服務器,但偶還是你可能想看看fabric 。這是一個基於python的部署工具。您可以編寫和啓動腳本來部署和設置您的服務器,Web服務等。唯一的問題是我不確定它如何與Windows一起作爲目標服務器。

0

如果您想要或必須遵守Windows平臺的MSI標準安裝,我會繼續介紹Martin Peck對WiX的建議。這與VS設置項目和Installshield使用的技術基本相同,都有其優點和缺點。

如果你做不是需要在微星列車上,你也可以看看更簡單的替代品 - 我最喜歡的是InnoSetup。它是免費的,它非常易於使用,它是開源的(Pascal/Delphi),它可以在幾分之一秒內安裝您的應用程序,它只是工作! :)

馬克

0

有三樣東西我不喜歡的InstallShield:

  1. 似乎過於複雜
  2. 沒有從命令生成的方式(據我所知)行,你總是必須使用GUI,這是自動構建的障礙。
  3. 它似乎增加了過量的開銷。

我已經使用NSIS一個公平的位,這是開源的。儘管InstallShield對於事物的看法幾乎太高,但NSIS幾乎太低。您必須編寫代碼以通過添加/刪除程序來戳入註冊表項以進行卸載。你將能夠完成這項工作,並完全控制它將做什麼,然後它將打包成一個非常緊湊的單個可執行文件。

我對InnoSetupWiX沒有任何經驗 - 他們中的任何一個都可能在InstallShield和NSIS兩個極端之間轉向。兩者都是免費提供的,值得一看。

+0

我用InnoSetup所有的時間,直到我創建了自己的安裝程序 - 它沒有去很好的,你要知道... HTTP: //www.freewarefiles.com/在那裏有一些非常棒的安裝應用程序。 – 2009-08-19 18:39:41

1

我已經使用Installshield,NSIS,Visual Studio和WiX。 Installshield總是爲我生成一個臃腫的安裝程序,並且花費很多。 Visual Studio可以在一些可以做的事情上受到限制,但總的來說它很不錯。 NSIS肯定是一個很好的小安裝系統,因爲我已經將它用於一些產品(已經下載並安裝了大約750k次的產品),但是當我使用它時,它並沒有遵循MSI規則。 WiX非常棒,並且提供了很多功能,但是基於腳本,但現在也有GUI。

當然,它看起來像你決定使用高級安裝程序。祝你好運。

0

我們也選擇了WiX。請注意,您仍然需要了解有關Windows Installer機制的所有信息。 WiX版本控制友好且非常透明

如果您需要自定義操作並希望以.NET語言編寫該代碼,請使用CustomActionAttribute方法。您可以使用WinForms編寫設置對話框。

這個網站也是一個非常好的來源InstallSite.org