首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ProgramFiles64Folder正在安装到WIX安装程序中的\Program Files (x86)\中

ProgramFiles64Folder正在安装到WIX安装程序中的\Program Files (x86)\中
EN

Stack Overflow用户
提问于 2011-12-20 06:12:54
回答 1查看 4.5K关注 0票数 3

我目前有两个WIX项目-一个用于创建x86安装程序,另一个用于创建x64安装程序。我想把这两个项目合并成一个项目,它使用变量来控制程序流。

我有以下几点:

代码语言:javascript
运行
复制
  <?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并进行如下设置:

然后,我检查并删除了这两个项目的所有组件/directories中的"Win64='yes'“和"Win64='no'”参数。

然而,我想知道是否有比这更多的东西。当我创建我的x64安装程序时,我看到它试图安装到C:\Program Files (x86)...而不是C:\Program Files。我假设这意味着代码正在下降到'else‘语句--但我不知道有什么方法可以确认这一点。

为了确保正确生成x64安装路径,还需要设置其他变量吗?

谢谢

我继承了下面所有的安装程序代码(不包括我目前正在添加的变量)。我添加了$(var.PlatformProgramFilesFolder)和EnvironmentVariables wxi。

EDIT2:这可能是罪魁祸首,但请尝试找出为什么它的配置是x86:

-跳过全部重新生成:项目: CS Web Installer x64,配置: Release x86

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-21 20:33:32

两件事:

  1. 您需要在Package元素中设置Platform="x64“属性以获取64位.msi文件
  2. $(var.Platform)变量是在哪里初始化的?如果您打算使用WIX内置平台变量,则应根据WIX版本使用$(sys.BUILDARCH)或$(sys.PLATFORM)。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8568250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档