我有一個特殊情況需要找到解決方法。我有一個適用於我的32位應用程序的wix安裝程序,但它依賴於Office文檔文件,無論32/64位Windows版本如何,它都必須位於「Program Files」文件夾下的固定位置。請稍等片刻,接受它自己的位置不能改變,因爲它保留了自XP時代以來已經存在的應用程序的向後兼容性。我需要在「Program Files(x86)」文件夾中安裝我的應用程序,並提供必須位於「Program Files」中的此文件。如果可能的話,我不想將它們分成兩個安裝程序。任何人都知道任何可能的方式來完成這項工作?WIX將文件安裝到32位和64位程序文件夾中
2
A
回答
0
您應該能夠在目錄定義中包含「ProgramFiles64Folder」,然後將該目錄用作需要進入64位位置的組件的目錄。
您可能必須包含兩個組件,它們將一個組件安裝到64位計算機上的「C:\ Programs Files」中並將另一個組件安裝到「C:\ Programs Files」中的相同文件中。在一臺32位機器上。
我做了這樣的事情與一些snmp相關的文件。我的意思的例子:
<ComponentGroup Id="Files_32" Directory="OfficeProgramFilesFolder">
<Component Id="SomeFile.dll_32" >
<Condition>NOT VersionNT64</Condition>
<File Id="SomeFile.dll_32" KeyPath="yes" Source="$(var.BinariesDir)\_bin\Win32\SomeFile.dll" />
</Component>
</ComponentGroup>
<ComponentGroup Id="Files_64" Directory="OfficeProgramFiles64Folder">
<Component Id="SomeFile.dll_64" Win64="yes">
<Condition>VersionNT64</Condition>
<File Id="SomeFile.dll_64" KeyPath="yes" Source="$(var.BinariesDir)\_bin\x64\SomeFile.dll" />
</Component>
</ComponentGroup>
這應該將文件安裝到「C:\ Program Files文件」無論是32位或64位的機器。
如果64位和32位組件之間的文件完全相同,您將收到ICE警告,但由於它們是互斥的,因此可以使用該警告。
1
嘗試從32位MSI安裝結果在重定向安裝到64位的文件夾,以32位的位置,這出現在日誌用這種條目的安裝:
WIN64DUALFOLDERS:' C:\ Program Files(x86)\'將替換'C:\ Program Files \ Wi中的17個字符......
屬性更改:修改TARGETDIR屬性。它的當前值是'C:\ Program Files \ Wilson \ NewSetup'。它的新值:'C:\ Program Files(x86)\ Wilson \ NewSetup \'。
32位軟件包只能包含32位組件,文檔很明確。
如果有一個文件需要傳送到64位程序文件位置,那麼通常的解決方法是在應用程序中第一次將它複製到該位置。通過調用Wow64DisableWow64FsRedirection(),32位應用程序可以暫時禁用重定向。
由於這裏說的,如果你沒有看到它:
和64位應用程序(也可以包含32位組件)可以解決這個問題,這是我懷疑你已經知道了。
相關問題
- 1. 使用Wix安裝32位和64位驅動程序?
- 2. 從32位WIX安裝程序中檢測64位系統
- 3. Java程序文件(x86)的文件和程序文件64位和32位
- 4. WiX:阻止32位安裝程序在64位Windows上運行
- 5. 當我將64位應用程序安裝到32位程序文件(x86)中時,64位應用程序是否將以32位方式工作
- 6. 在一個WiX安裝程序中包含32位和64位合併模塊
- 7. 如何從32位安裝程序安裝程序包安裝64位msi /Setup.exe文件
- 8. 爲32位和64位構建文件
- 9. WIX安裝程序 - 區分64位
- 10. 32位和64位文件夾中的Windows應用程序是否相同
- 11. Wix安裝程序將DLL放入GAC和程序文件夾
- 12. 安裝32位和64位綁定
- 13. 安裝Pygame - 32位和64位
- 14. 32位和64位安裝項目
- 15. VS 2010建立在32位和64位(程序文件)
- 16. 在Windows上將32位和64位Boost升級到同一文件夾
- 17. 32位和64位Windows安裝程序的命名約定
- 18. InstallShield 2010 Premiere:64位和32位驅動程序安裝
- 19. 使用NSIS將32位和64位安裝程序合併到一個安裝程序中
- 20. 如何將64位.deb文件轉換爲32位.deb文件
- 21. 從32位到64位將在裝配
- 22. 當Visual Studio生成32位.obj文件和64位.obj文件?
- 23. 如何創建測試32位和64位Windows的安裝程序條件
- 24. 在32位和64位平臺上安裝組件
- 25. 如何將32位node.js(8.5.0)安裝到64位ubuntu(17.0)中?
- 26. 在一個Windows安裝程序中的32位和64位程序集
- 27. Wix - 有條件地將文件安裝到C:\ MyConfig文件夾
- 28. 爲什麼64位程序文件大於32位?
- 29. 從64位目標應用程序調用32位lib文件
- 30. 64位應用程序的32位操作系統的文件夾