Windows XP 上的個別應用程式組態
在 Windows XP 上,個別應用程式組態會以個別應用程式為基礎覆寫 預設組態 和 發行者組態。 這會將特定應用程式的相依性從一個並存元件版本重新導向至另一個指定的元件版本。
注意
從 Windows Server 2003 開始,每個應用程式 組態只會在應用程式 應用程式組態檔指定 apply=“no”,publisherPolicy 中,且應用程式相容性資料庫中有對應的專案時,每個應用程式組態才會覆寫 發行者組態。 個別應用程式組態一律會覆寫 預設組態。 如需詳細資訊,請參閱 個別應用程式組態。
如果特定應用程式的正確作業需要與通常指定為預設或發行者組態的版本不同的元件版本,則個別應用程式組態可能會變得必要。 例如,發行者對元件版本的全域更新可能會修正元件,但會中斷此特定應用程式。 在此情況下,可能會使用個別應用程式組態來讓應用程式繼續使用先前的元件版本執行。 另一個範例是,包含元件更新的 Service Pack 安裝可能會使用 發行者組態,將系統上所有應用程式和元件的相依性從 1.0.0.0.0 重新導向至 1.0.1.0。 如果有應用程式需要 1.0.0.0 版才能正常運作,則可以使用個別應用程式組態將它重新導向至 1.0.0.0 版。
應用程式管理員可以藉由撰寫和安裝 應用程式組態檔,來實作個別應用程式組態。 這些會將特定應用程式從相依於一個並存元件的某個版本重新導向到另一個版本的相依性。 應用程式元件 檔案可以覆寫 發行者組態檔 和 應用程式指令清單 和 元件指令清單所指定的預設組態。 當呼叫 createProcess 時,應用程式組態檔會包含載入器所使用的資訊。
若要設定應用程式來覆寫應用程式指令清單和發行者組態,開發人員必須撰寫應用程式組態檔。 然後,應用程式組態檔會部署並安裝到與應用程式可執行檔相同的資料夾中。 如需檔案架構的清單,請參閱 應用程式組態檔架構。
請注意,如果您的應用程式使用個別應用程式組態,它將不會收到任何重要的安全性修正或錯誤修正,元件發行者可能會發出發行者組態檔。 因此,使用個別應用程式組態的應用程式可能仍然不安全,或即使在套用這些修正的新元件套用至系統之後,仍無法正確運作。 基於這個理由,應用程式開發人員絕不應隨附具有個別應用程式組態的應用程式。 當發行者組態中斷應用程式時,只有公司系統管理員才應該使用個別應用程式組態做為暫時修正。 在此情況下,永久解決方案是元件開發人員和應用程式的開發人員必須共同合作,以確保具有發行者設定的元件完全回溯相容。
以下是應用程式組態檔的範例。 如需詳細資訊,請參閱 應用程式組態檔。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity
name="Microsoft.Windows.mysampleApp"
processorArchitecture="x86"
version="1.0.0.0" type="win32"/>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.SampleAssembly"
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
<bindingRedirect
oldVersion="2.0.0.0"
newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>