【发布时间】:2012-11-13 09:07:37
【问题描述】:
我在一个独立的构建中使用 Wix 3.5,这意味着其他开发人员(和构建服务器)不必在他们的机器上安装 Wix 来构建工作。我尝试升级到 Wix 3.6,但无法让自包含部分工作。这是 3.5 中 .wixproj 中的内容:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.5</ProductVersion>
<ProjectGuid>{76b3b6eb-1ea0-4c4c-91aa-da489c0eec25}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Setup</OutputName>
<OutputType>Package</OutputType>
<WixToolPath>$(MSBuildProjectDirectory)\..\Lib\WiX\bin\</WixToolPath>
<WixTasksPath>$(MSBuildProjectDirectory)\..\Lib\WiX\WixTasks.dll</WixTasksPath>
<WixTargetsPath>$(MSBuildProjectDirectory)\..\Lib\WiX\Wix.targets</WixTargetsPath>
</PropertyGroup>
这就是我所做的:
- 替换了 ..\Lib\WiX 中的所有 Wix 文件
- 将
ProductVersion更改为 3.6 - 删除了
WixToolPath中的“bin”,因为所有 bin 文件现在都在 WiX 根目录中
除此之外,我不知道该怎么办。 Visual Studio 2012 抱怨“找不到此项目类型所基于的应用程序”。帮忙?
【问题讨论】:
-
VS 2010 显然会抱怨缺少项目类型,如果您以正常方式安装它,它会与 WiX 工具集一起安装。我不确定 VS 2010 的行为是否不同。我认为它仍然会抱怨项目类型,但是您将能够从命令行使用 MSBuild 进行构建。
-
@YanSklyarenko VS2010 并没有抱怨以这种方式设置 WiX 3.5(未安装在机器上)。它仍然会构建 wix 项目。我希望 WiX 3.6/VS2012 也一样