我目前有两个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