<p><b>Windows Installer</b>是在Windows 2000時提出，作為微軟作業系統中的安裝程式開發標準的作業系統服務。它可以支援安裝程式所需要的許多功能，並且可以支援交易式安裝（Committable Installation），當安裝程式發現錯誤或問題時，可以將安裝程式中所做的任何修改（包含複製檔案、修改組態等）全部回溯為未變更的狀態。
</p><p>目前Windows Installer最新版本為5.0版。
</p>


<h2><span id=".E7.B5.84.E6.88.90"></span><span id="組成">組成</span></h2>
<p>目前主要有兩種Windows Installer,分別是 .msi 和 .msp。 .msi 全稱爲 <b>M</b>icro<b>s</b>oft <b>I</b>nstaller,而 .msp的全稱則爲 <b>M</b>icro<b>s</b>oft <b>P</b>ackage。
Windows Installer的安裝程式由Windows Installer Service、Installer Database、Installation Bootstrapper與需要安裝的檔案所組成。
</p>
<ul><li><b>Windows Installer Service</b>：與作業系統一起安裝，由Windows Installer安裝程式的Installation Bootstrapper啟動，負責載入Installer Database，以及Windows Installer安裝程式執行期間的交易式安裝功能，以確保安裝程式對系統的修改，不是成功就是失敗（不做任何變更）。</li>
<li><b>Installer Database</b>：由安裝程式工具所製作，裡面含有安裝程式的指令，流程（精靈畫面所需的資料），資料，組態設定等，為 Windows Installer 的安裝資料來源，有時候檔案也會被壓縮在Installer Database中。</li>
<li><b>Installation Bootstrapper</b>：啟動Windows Installer以執行安裝程式的起始用程式，通常以setup.exe命名。</li></ul><h2><span id=".E5.8F.AF.E8.BD.89.E6.95.A3.E5.B8.83.E5.85.83.E4.BB.B6"></span><span id="可轉散布元件">可轉散布元件</span></h2>
<p>利用Windows Installer開發安裝程式的軟體廠商，可以在軟體包裝中附上Windows Installer 的可轉散布套件（Redistribute Package），以確保使用者的電腦可以更新Windows Installer的模組版本，讓安裝程式得以順利執行。
</p><p>Windows Installer 目前是屬於Platform SDK的一部份。
</p>
<h2><span id=".E7.89.88.E6.9C.AC.E6.AD.B7.E5.8F.B2"></span><span id="版本歷史">版本歷史</span></h2>
<p>Windows Installer 5.0會與Windows Server 2008 R2及Windows 7一起發佈</p><p>要知道自己的電腦使用哪個版本的Windows Installer,輸入<code>msiexec /?</code> 到Windows 運行對話框或命令提示符中。
</p><p><br></p>
<h2><span id=".E5.B7.A5.E5.85.B7"></span><span id="工具">工具</span></h2>
<h2><span id=".E5.8F.83.E8.80.83.E6.96.87.E7.8D.BB"></span><span id="參考文獻">參考文獻</span></h2>

<!-- 
NewPP limit report
Parsed by mw1380
Cached time: 20230505225905
Cache expiry: 1814400
Reduced expiry: false
Complications: [show‐toc]
CPU time usage: 0.820 seconds
Real time usage: 0.991 seconds
Preprocessor visited node count: 4301/1000000
Post‐expand include size: 453371/2097152 bytes
Template argument size: 4789/2097152 bytes
Highest expansion depth: 15/100
Expensive parser function count: 69/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 9072/5000000 bytes
Lua time usage: 0.332/10.000 seconds
Lua memory usage: 11748441/52428800 bytes
Number of Wikibase entities loaded: 2/400
--><!--
Transclusion expansion time report (%,ms,calls,template)
100.00%  646.867      1 -total
 28.71%  185.691      2 Template:Infobox
 28.12%  181.915      1 Template:Infobox_Software
 15.34%   99.219      1 Template:視窗元件
 14.77%   95.540      1 Template:NavboxV2
 14.69%   95.028      1 Template:Microsoft_APIs
 14.10%   91.178      1 Template:Navbox
 12.54%   81.104      1 Template:Software_version
 11.96%   77.375      2 Template:Ambox
 11.76%   76.082     31 Template:Tsl
-->
**Windows Installer** 是在 Windows 2000 時提出，作為微軟作業系統中的安裝程式開發標準的作業系統服務。它可以支援安裝程式所需要的許多功能，並且可以支援交易式安裝（Committable Installation），當安裝程式發現錯誤或問題時，可以將安裝程式中所做的任何修改（包含複製檔案、修改組態等）全部回溯為未變更的狀態。

目前 Windows Installer 最新版本為 5.0 版。

## 組成

目前主要有兩種 Windows Installer, 分別是 .msi 和 .msp。 .msi 全稱爲 **M**icro**s**oft **I**nstaller, 而 .msp 的全稱則爲 **M**icro**s**oft **P**ackage。
Windows Installer 的安裝程式由 Windows Installer Service、Installer Database、Installation Bootstrapper 與需要安裝的檔案所組成。

* **Windows Installer Service**：與作業系統一起安裝，由 Windows Installer 安裝程式的 Installation Bootstrapper 啟動，負責載入 Installer Database，以及 Windows Installer 安裝程式執行期間的交易式安裝功能，以確保安裝程式對系統的修改，不是成功就是失敗（不做任何變更）。
* **Installer Database**：由安裝程式工具所製作，裡面含有安裝程式的指令，流程（精靈畫面所需的資料），資料，組態設定等，為 Windows Installer 的安裝資料來源，有時候檔案也會被壓縮在 Installer Database 中。
* **Installation Bootstrapper**：啟動 Windows Installer 以執行安裝程式的起始用程式，通常以 setup.exe 命名。

## 可轉散布元件

利用 Windows Installer 開發安裝程式的軟體廠商，可以在軟體包裝中附上 Windows Installer 的可轉散布套件（Redistribute Package），以確保使用者的電腦可以更新 Windows Installer 的模組版本，讓安裝程式得以順利執行。

Windows Installer 目前是屬於 Platform SDK 的一部份。

## 版本歷史

Windows Installer 5.0 會與 Windows Server 2008 R2 及 Windows 7 一起發佈

要知道自己的電腦使用哪個版本的 Windows Installer, 輸入 `msiexec /?` 到 Windows 運行對話框或命令提示符中。

 

## 工具

## 參考文獻
.msi