我目前有兩個WIX項目 - 一個用於創建x86安裝程序,另一個用於創建x64安裝程序。我想將這兩個項目合併爲一個使用變量來控制程序流的項目。ProgramFiles64Folder正在安裝到WIX安裝程序中的 Program Files(x86)
我有以下幾點:
<?if $(var.Platform) = x64 ?>
<?define ProductName = "CableSolve Web (64 bit)" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductName = "CableSolve Web" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>
和我去到Visual Studio - >構建 - >配置管理器和設置的東西,像這樣:
我再經歷和刪除兩個項目的所有組件/目錄中的所有「Win64 ='yes'」和「Win64 ='no'」參數。
我想知道是否還有比這更多的東西,但。當我創建我的x64安裝程序時,我發現它嘗試安裝到C:\ Program Files(x86)...而不是C:\ Program Files。我假設這意味着代碼正在下降到'其他'聲明 - 但我不知道一種方法來確認這一點。
是否還需要設置其他變量才能確保正確生成x64安裝路徑?
感謝
我繼承了所有下面的安裝程序代碼(不包括我目前的工作在其上添加變量)。我已經添加了$(var.PlatformProgramFilesFolder)以及EnvironmentVariables wxi。
EDIT2:這可能是罪魁禍首,但試圖找到爲什麼它的配置是86:
------跳過全部重建:項目:CS Web安裝的X64,配置:發行86 - -----
安裝64位版本時,ProductName顯示爲「CableSolve Web(64位)」還是「CableSolve Web」?另外,你可以向我們展示你的目錄標籤分支。 – 2011-12-19 22:37:14
ProductName顯示爲CableSolve Web。我剛剛用$(var.Platform)替換了'ProductName ='CableSolve Web''位,並且正在構建另一個安裝程序 - 好奇地想知道Platform是什麼。我會在另一個顯示我的電話號碼標籤分支的圖像上傳到另一個圖像。 編輯:構建x64安裝程序時,var.Platform是x86。 – 2011-12-19 22:43:46
查看您的配置管理器屏幕,您有兩個單獨的項目,每個項目都構建一個安裝程序。這兩個項目是相同還是意外產生了不一致? – 2011-12-19 23:45:46