Instmsi.exe
Instmsi.exe是安裝 Windows Installer 2.0 和舊版 Windows Installer 的可轉散發套件。 如需 Windows Installer 3.0 和更新版本的可轉散發套件,請參閱 Windows Installer 可 轉散發套件。
如需操作系統隨附的 Windows Installer 版本詳細資訊,請參閱 Windows Installer 的發行版本。
某些可轉散發套件不應該在特定版本的操作系統上執行。 下表描述哪些 Instmsi 與操作系統相容。
如果Instmsi.exe安裝此版本的 Windows Installer | Instmsi.exe可以在這些操作系統上執行 | Instmsi.exe不得在這些操作系統上執行 |
---|---|---|
Windows Installer 1.0 版 | Windows 95、Windows 98、Windows NT 4.0+SP3 | Windows Me、Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 |
Windows Installer 1.1 版 | Windows 95、Windows 98、Windows NT 4.0+SP3 | Windows Me、Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 |
Windows Installer 1.2 版 | Windows 95、Windows 98、Windows Me、Windows NT 4.0+SP3 | Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 |
Windows Installer 2.0 版 | Windows 95、Windows 98、Windows Me、Windows NT 4.0+SP6、Windows 2000 | Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 |
例如,重新發佈 Windows Installer 1.1 版的應用程式應該在執行可轉散發套件之前,先檢查操作系統是否為 Windows NT 4.0 SP3 或 Windows 98/95。 使用可轉散發套件的應用程式也應該確保 Windows 98/95 上安裝 Windows Installer 的 ANSI 版本,而且 Unicode 版本已安裝在 Windows NT 或 Windows 2000 上。 請注意,某些應用程式會將 Unicode 版本重新命名為 InstMsiW。
語法
instmsi 選項
命令列選項
命令行選項不區分大小寫。
選項 | 描述 |
---|---|
/q | 供重新發佈 Windows Installer 作為啟動載入應用程式的一部分的應用程式使用。 使用者不會顯示任何UI。 啟動載入應用程式應該檢查傳回碼,以判斷是否需要重新啟動才能完成 Windows Installer 的安裝。 |
/t | 僅供偵錯之用。 |
/c:“msiinst /delayreboot” | 延遲重新啟動選項。 防止 Instmsi 提示使用者重新啟動,即使它必須取代安裝期間正在使用的檔案。 如果使用此選項叫用 Instmsi,則如果必須取代正在使用的檔案,則會傳回ERROR_SUCCESS_REBOOT_REQUIRED。 如果它不需要取代正在使用的檔案,則會傳回ERROR_SUCCESS。 適用於 Windows Installer 2.0 或更新版本的 Instmsi。 如需延遲重新啟動的其他資訊,請參閱一節。 |
/c:“msiinst /delayrebootq” | 延遲重新啟動選項的無訊息版本。 它不會向用戶顯示任何UI。 否則,行為與上一個選項相同。 適用於 Windows Installer 2.0 或更新版本的 Instmsi。 如需延遲重新啟動的其他資訊,請參閱一節。 |
/? | 顯示說明。 |
備註
使用Instmsi.exe安裝 Windows Installer 與另一個應用程式的啟動載入 應用程式可能需要額外的系統重新啟動。 除了安裝應用程式所需的任何重新啟動之外,這也可能是額外的重新啟動。
只有在安裝正在使用的檔案的安裝程式應用程式中使用 Instmsi.exe,才建議使用延遲重新啟動選項,讓想要消除額外重新啟動的安裝程式開發人員。
開發人員應該在其設定應用程式中執行下列動作,以使用延遲重新啟動選項。 此選項不適用於安裝早於 2.0 版的 Windows Installer 版本Instmsi.exe版本:
使用延遲重新啟動選項
使用其中一個延遲重新啟動命令行選項呼叫Instmsi.exe。
將傳回ERROR_SUCCESS或ERROR_SUCCESS_REBOOT_REQUIRED視為成功。
從 InstallerLocation 值取得包含新安裝 Windows Installer 二進位檔的資料夾路徑:
HKEY_LOCAL_MACHINE Software\Microsoft\Windows\CurrentVersion 安裝程式\\
此值的類型為 REG_SZ。
將目前目錄設定為步驟 3 中取得的路徑。
在應用程式的套件上叫用 Msiexec,並執行應用程式專屬的其他安裝程式程式代碼。 如果安裝程式應用程式使用 MsiInstallProduct,則應用程式必須從步驟 3 中取得的位置載入MSI.DLL。
注意
在步驟 3 中所取得位置的新MSI.DLL上呼叫 LoadLibrary 的應用程式,必須確定程式中尚未載入舊版的 MSI.DLL。 如果在進程內載入舊版MSI.DLL,則必須在載入新MSI.DLL的LoadLibrary呼叫之前,從進程位址空間卸除。
如果步驟 (5) 不需要重新啟動,而且如果步驟 (1) Instmsi.exe傳回ERROR_SUCCESS_REBOOT_REQUIRED,請提示使用者重新啟動,以完成系統上的 Windows Installer 二進位檔設定。 不過,如果在步驟 (5) 中重新啟動,則不需要其他步驟。
適用於 Windows Installer 開發人員的 Windows SDK 元件中提供Instmsi.exe。
相關主題