簡體   English   中英

ProgramFiles64Folder正在安裝到WIX Installer中的\ Program Files(x86)\

[英]ProgramFiles64Folder is installing to \Program Files (x86)\ in WIX Installer

我目前有兩個WIX項目 - 一個用於創建x86安裝程序,另一個用於創建x64安裝程序。 我想將這兩個項目合並為一個項目,該項目使用變量來控制程序流程。

我有以下內容:

  <?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 - > Build - > Configuration Manager並設置如下:

在此輸入圖像描述

然后,我完成並刪除了兩個項目的所有組件/目錄中的所有“Win64 ='yes'”和“Win64 ='no'”參數。

我想知道是否還有比此更多的東西。 當我創建我的x64安裝程序時,我看到它試圖安裝到C:\\ Program Files(x86)...而不是C:\\ Program Files。 我假設這意味着代碼正在下降到'else'語句 - 但我不知道如何確認這一點。

是否還需要設置其他變量才能確保正確生成x64安裝路徑?

謝謝

我繼承了下面的所有安裝程序代碼(不包括我目前正在添加的變量)。 我添加了$(var.PlatformProgramFilesFolder)以及EnvironmentVariables wxi。 在此輸入圖像描述

編輯2:這可能是罪魁禍首,但試圖找到其配置為x86的原因:

------ Skipped Rebuild All:項目:CS Web Installer x64,配置:發布x86 ------

兩件事情:

  1. 您需要在Package元素中設置Platform =“x64”屬性以獲取64位.msi文件
  2. $(var.Platform)變量在哪里初始化? 如果您打算使用WIX內置平台變量,那么您應該使用$(sys.BUILDARCH)或$(sys.PLATFORM),具體取決於WIX版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM