2010-08-11 148 views
1

我有一個Wix 3.0項目,它將一些.Net程序集安裝到現有應用程序中。作爲安裝的一部分,我需要更新bindingRedirects應用程序的配置文件,以便正確裝配版本使用,例如,如何讓Wix安裝程序使用bindingRedirects更新app.config

<configuration> 
<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="MyAssembly" publicKeyToken="deadbeefdeadbeef" culture="neutral" /> 
      <bindingRedirect oldVersion="1.0.0.0-1.0.10.0" newVersion="1.0.10.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

這將綁定版本MyAssembly的重定向高達1.0.10.0以便他們轉到安裝的版本1.0.10.0。安裝的版本號(newVersion)會隨着時間而改變,因此必須在安裝時確定。

乾杯。

+0

這個DLL也是由您的公司編寫的?它是否與您的程序一起安裝? – 2010-08-12 13:22:06

+0

這是一個由我公司另一部分編寫的DLL,它由一個單獨的安裝程序安裝。我們可以保證向後兼容。 – Polyfun 2010-08-12 14:37:43

回答

2

您可以使用XmlFile元素在安裝WiX期間更新XML文件。

但是,一定要將配置文件包含在與exe文件相同的組件中(作爲companion file);否則,升級過程中可能會出現問題。

+0

謝謝,但我還需要在安裝時找到程序集信息(名稱,publicKeyToken,版本號)。版本號特別會有所不同。 – Polyfun 2010-08-12 08:18:16

+0

我建議你先問問自己,如果你真的想這樣做。綁定重定向的要點是允許加載*兼容*版本 - 如果您剛剛將綁定重定向到計算機上的「任何」版本,則遲早(當DLL不再向後兼容時)你的程序只會失敗。 – 2010-08-12 13:21:42