2009-02-20 91 views
11

我即將開始一個新的InstallShield項目。有三種選擇項目類型:選擇InstallShield項目類型

  1. 基本MSI
  2. 的InstallScript
  3. 的InstallScript - 微星

各有什麼優點和缺點?我應該選擇哪一個?

+0

請閱讀我的評論如下。 **不惜任何代價**避免Installscript MSI項目類型。 – 2014-07-25 22:17:36

回答

18

基本MSI

這是標準的安裝類型。它使用Windows安裝程序進行幾乎所有的安裝(先決條件,語言選擇和其他一些事情由setup.exe處理)。 MSI是一個包含許多表格的數據庫,用於描述安裝的工作方式。起初桌子的數量可能有點壓倒性,但InstallShield在提取它的方面做得很好;大多數情況下,您不需要直接編輯數據庫表。

這是最常見的安裝類型,所以關於它的信息很多。 InstallShield forum是一個很好的信息來源。此外,許多安裝使用MSI,所以如果您瞭解它們,將更容易理解其他安裝的功能(例如,如果您需要安裝其他製造商的MSI作爲安裝的一部分)。使用命令行參數可以輕鬆完成靜默安裝。

不幸的是,由於MSI通過數據庫表來控制安裝,所以有一點學習曲線。如果你最終不得不直接編輯MSI表格,那麼起初可能會引起混淆,因爲有許多表格,並且它們的一些目的和交互都很微妙。此外,在MSI中創建和排序對話框更加困難,因爲所有交互都需要由表格控制。自定義MSI對話框可以創建,但僅限於C++。

我會推薦這個項目類型的大多數用途。

的InstallScript

這些項目使用安裝腳本來安裝軟件,而不是Windows安裝程序。由於安裝腳本是一個線性程序,因此可以更容易地理解它的工作原理。該項目類型的一個優點是創建和排序對話更容易。另外,InstallScript對話框可以變成皮膚,看起來比MSI對話框好一點。運行無提示安裝需要單獨的「響應文件」來控制UI。除非您有特定的理由(例如,如果您必須以MSI不支持的方式非常精確地控制安裝的行爲),否則我不會推薦使用此項目類型。

的InstallScript MSI

這基本上是使用的InstallScript控制UI和MSI控制實際安裝基本MSI項目。它具有使用MSI控制安裝的優勢,但使用對話框更容易。它仍然需要一個響應文件來在無提示安裝期間控制UI。如果你不關心無聲安裝或者有一個複雜的UI對話框序列,你可能會覺得這個項目類型很有用。

+5

從戰壕中取出它:不要使用Installscript MSI。這是非常麻煩的,它會導致企業部署的各種問題,並且總體上將擊敗微星作爲部署技術的目的和優勢。我可以繼續這樣做,但不會浪費你的時間。聽取我的意見,爲自己節省很多麻煩。如果您需要MSI或InstallScript的部署功能(如果您需要傳統樣式的部署腳本),則選擇爲Basic MSI。 MSI有一個學習曲線,但大大提高了企業部署。 – 2009-07-03 18:14:18