2014-06-06 68 views
0

我有一個DLL,我需要根據安裝的操作系統安裝在特定文件夾中。WIX操作系統條件總是爲

對於XP它安裝在system32中,而在Win7上它安裝在SysWow64中。

解決方案是C#,我正在使用部署項目。

在部署項目中,使用文件系統編輯器添加了system32和SysWow64兩個DLL。

在文件夾級別,我使用條件字段來創建文件夾/ dll或不。

對於System32下我具備的條件[CDATA [VersionNT = 501]]

對於SYSWOW64我具備的條件[CDATA [VersionNT = 601]]

我發現,DLL將只被插入在XP系統上,但SysWow64文件夾和DLL將在兩個操作系統上創建。

我試過不同的變化,但我似乎無法找到我要去哪裏錯了。

我從這個線程How to check the system is Windows 7 or Windows Server 2008 R2 in Wix Installer?

Image of Deployment Project and Condition

+1

根據操作系統的操作系統*版本*而不是操作系統的位元來選擇位置是很少見的。由於SysWow64只存在於64位操作系統上。 –

+0

嗯,你是否也嘗試過vs2010安裝項目下的相同安裝方法? (而不是wix) – huncyrus

+0

你是什麼意思? 我正在使用安裝項目。 我的印象是條件字段與WIX條件相同。 – wmayes

回答

0

對不起延遲的狀況信息,我只好耐心等待8小時,然後我可以回答我的問題。

根本問題是一個愚蠢的錯誤。

我在每次更改部署項目後都重新構建解決方案。我應該右鍵單擊部署項目並選擇構建它。感謝您的幫助。

我在條件字段中刪除了WIX <!CDATA[ ]部分,如[Damien_The_Unbeliever] [1]所述,以及將條件添加到DLL而不僅僅是文件夾。