2010-05-15 183 views
9

我有一個在x86和x64上運行的.NET應用程序。我想要一個可在兩種平臺上工作的32位WiX安裝程序,但我希望它安裝到64位操作系統上的/ Program Files /而不是/ Program Files(x86)/。WiX安裝程序始終安裝到x86和x64上的「Program Files」目錄

你如何去做這件事?

更新:

我的想法是把ProgramFilesFolder或ProgramFiles64Folder值分配給我自己的財產,這取決於它是否是一個64位環境或沒有,然後使用該目錄的屬性值。

我對WiX的經驗很少,所以如果這個想法甚至可能我不知道。如果是,你會測試什麼來查看它是否是x64環境?另外,您將如何從ProgramFilesFolder或ProgramFiles64Folder分配屬性值,具體取決於先前的64位環境測試。

任何幫助表示讚賞!

+0

你有沒有找到一個解決方案? – dan9298 2010-12-03 17:34:42

回答

2

我剛剛發現這一點,我想你確切的想法,並沒有骰子。除非您正在運行64位安裝程序,否則您實際上無法訪問ProgramFiles64Folder

我放棄了,只是安裝我的64位組件到ProgramFilesFolder。這不是很美觀,但它的工作:)

0

MSI不支持安裝到64位目錄的32位軟件包。

+1

呃,如你所知,有辦法。 2010-05-16 17:15:54

+2

這不是一個32位軟件包。作者指出,該程序是用.NET編寫的(我猜他的目標是任何一個CPU,因爲這是默認的,也是最常見的)。 使用.NET可執行文件或者以ANY CPU爲目標的庫:在32位機器上運行時,JIT編譯器會生成32位代碼來執行,而在64位機器運行時,JIT編譯器會生成64位代碼來執行。 這是非常有意義的,他總是希望將它安裝在「C:\ Program Files」下,而不是「C:\ Program Files(x86)」。 – BrainSlugs83 2013-01-17 02:40:49

+4

Windows安裝程序不支持AnyCPU概念;包是明確的32位或明確的64位。 – 2013-01-18 18:44:09

相關問題