網際網路下載啟動載入

使用 Windows Installer 時,Windows Installer 開發人員的 Windows SDK 元件中包含可設定的啟動程式可執行檔 (Setup.exe) 和組態工具 (Msistuff.exe) 。 藉由使用Msistuff.exe在 Setup.exe 中設定資源,開發人員可以輕鬆地建立 Windows Installer 套件的 Web 安裝。

啟動程式可執行檔所需的最低安裝程式版本是 Windows Installer 2.0 版。 應用程式可以使用 DllGetVersion取得安裝程式版本。 如需詳細資訊,請參閱 判斷 Windows Installer 版本

Windows Installer SDK 提供的啟動程式可執行檔會執行下列動作:

  • 呼叫 WinVerifyTrust 來驗證.msi檔案的數位簽章。 Windows Installer 2.0 版和更新版本提供主旨介面套件 (SIP) ,以啟用 Windows Installer 套件的簽署。
  • 如有必要,請升級電腦上的 Windows Installer 版本。

您可以使用Msistuff.exe來顯示或設定下列 Setup.exe 資源。

資源識別碼 描述
ISETUPPROPNAME_BASEURL Setup.exe的基底 URL 位置。 如果未指定任何值,Setup.exe預設為卸載式媒體的位置。 只有以 URL 為基礎的安裝會受限於 WinVerifyTrust的檢查。 URL 上的尾端正斜線是選擇性的。 此資源是選擇性的。
ISETUPPROPNAME_DATABASE .msi檔的名稱。 這是相對於Setup.exe程式位置所指定之.msi檔案的相對路徑。 如果未指定資源ISETUPPROPNAME_PATCH,則需要此資源。 無法同時指定ISETUPPROPNAME_DATABASE和ISETUPPROPNAME_PATCH。 只能指定兩者之一。
ISETUPPROPNAME_OPERATION 要執行的作業類型。 可能的值為 INSTALL、MINPATCH、MAJPATCH 和 INSTALLUPD。 INSTALL 值相當於第一次安裝套件。 MINPATCH 值表示 PATCH 屬性中指定的修補程式是小型或次要的升級修補程式。 MAJPATCH 值表示 PATCH 屬性中指定的修補程式是主要更新修補程式。 INSTALLUPD 表示安裝可能是第一次安裝或更新。 使用 INSTALLUPD 時,會檢查產品是否存在啟動程式。 如果產品存在,則會設定 recache 套件旗標並執行重新安裝;否則會執行一般安裝。 請注意,INSTALLUPD 應該只用于未變更產品名稱的小型和次要升級套件。 在主要升級中,不需要 REINSTALL,因為產品代碼基本上會變更,因此基本上會建立全新的產品。 除了 FindRelatedProducts、MigrateFeatureStates 和 RemoveExistingProducts 動作之外,升級資料表也會處理原始產品的升級。 因此,INSTALL 選項已足夠。 如果遺漏此資源,則如果撰寫ISETUPPROPNAME_DATABASE屬性,則會假設 INSTALL 作業。 否則,如果撰寫ISETUPPROPNAME_PATCH屬性,則會假設 MINPATCH。 這是選擇性的值。
ISETUPPROPNAME_PRODUCTNAME 產品的名稱。 這是下載的使用者介面中橫幅文字中使用的名稱。 此資源是選擇性的。 如果省略,則名稱預設為 「the product」。
ISETUPPROPNAME_MINIMUM_MSI 所需的最低 Windows Installer 版本。 如果電腦上未安裝最低版本的 Windows Installer,則會呼叫適當的 Instmsi.exe 來升級 Windows Installer。 此屬性的值的格式與PID_PAGECOUNT值相同。 如需詳細資訊,請參閱 頁面計數摘要 屬性。 此值至少必須是 200,這個值會識別 Windows Installer 2.0 版。 需要此資源。
ISETUPPROPNAME_INSTLOCATION Windows Installer 升級可執行檔的基底 URL 位置。 可能會省略此資源。 如果省略此值,升級可執行檔的預設位置是Setup.exe的位置。
ISETUPPROPNAME_INSTMSIA Windows Installer 升級可執行檔的 ANSI 版本名稱。 這是相對於ISETUPPROPNAME_INSTLOCATION所指定位置的 ANSI 版本Instmsi.exe相對路徑。 需要此資源。
ISETUPPROPNAME_INSTMSIW Windows Installer 升級可執行檔的 Unicode 版本名稱。 這是相對於ISETUPPROPNAME_INSTLOCATION所指定位置的 Unicode 版本Instmsi.exe相對路徑。 需要此資源。
ISETUPPROPNAME_PATCH .msp 檔案的名稱。 這是相對於Setup.exe程式位置所指定之 .msp 檔案的相對路徑。 如果未指定資源ISETUPPROPNAME_DATABASE,則需要此資源。 無法同時指定ISETUPPROPNAME_DATABASE和ISETUPPROPNAME_PATCH。 只能指定兩者之一。
ISETUPPROPNAME_PROPERTIES PROPERTY=VALUE 字串。 這些是命令列上要包含的 PROPERTY=VALUE 組。 此選項是選擇性的。

 

例如,下列ISETUPPROPNAME_BASEURL和ISETUPPROPNAME_DATABASE值會用於下列假設套件位置。

實際套件位置 資源值
https://www.blueyonderairlines.com/Products/Product1/product1.msi ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = product1.msi
https://www.blueyonderairlines.com/Products/Product1/product1.msi ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = ../Products1/product1.msi
e:\product1.msi 省略ISETUPPROPNAME_BASEURL。 ISETUPPROPNAME_DATABASE = product1.msi
e:\setup\product1.msi (目前執行中Setup.exe的位置是 e:\setup.exe.)
省略ISETUPPROPNAME_BASEURL。 ISETUPPROPNAME_DATABASE = Setup\product1.msi

 

Setup.exe命令列參數

下表列出可與 Windows Installer 開發人員 Windows SDK 元件隨附之Setup.exe搭配使用的命令選項。 在沒有任何命令列選項的情況下叫用時,Setup.exe預設為透過設定的資源所指定的行為。 命令列選項互斥,一次只能使用其中一個選項。

選項 使用方式 意義
/a setup.exe /a 起始系統管理安裝。 如果在Setup.exe中設定ISETUPPROPNAME_DATABASE屬性,則可以使用此選項來執行產品的系統管理安裝。 如果已設定ISETUPPROPNAME_PATCH資源,則不支援此命令列選項。
/a setup.exe /a< 現有系統管理安裝 > 的完整路徑 如果在 Setup.exe 中設定ISETUPPROPNAME_PATCH屬性,則可以使用此選項來修補產品的現有系統管理安裝。 如果已設定ISETUPPROPNAME_DATABASE資源,則不支援此命令列選項。
/v setup.exe /v< 檔案 > 的完整路徑 使用 WinVerifyTrust 驗證檔案上的簽章。 使用此選項時不會顯示任何 UI。 在此情況下,信任檢查的結果是從執行Setup.exe取得的傳回值。
/?   顯示說明對話方塊,指出有效的引數。 注意:如果提供不正確引數,也會顯示說明對話方塊。

 

如需詳細資訊,請參閱 URL 型 Windows Installer 安裝範例