Visual studio 2012 VS2012中的msbuild Wix工具集3.7源代码

Visual studio 2012 VS2012中的msbuild Wix工具集3.7源代码,visual-studio-2012,msbuild,wix,wix3.7,Visual Studio 2012,Msbuild,Wix,Wix3.7,我试图在安装了VS2012的windows 8计算机上手动构建wix toolset 3.7,但我一直遇到以下错误: 错误WIXBUILD002:错误“Microsoft Windows SDK for Windows 7和.NET Frame 4”或“Visual Studio 2012”必须是安装程序 根据wix文档 当使用命令:msbuild/p:VisualStudioVersion=“11.0”时,它应该可以工作 任何帮助都将不胜感激 编辑: 通过将WixBuild.props文件中的

我试图在安装了VS2012的windows 8计算机上手动构建wix toolset 3.7,但我一直遇到以下错误:

错误WIXBUILD002:错误“Microsoft Windows SDK for Windows 7和.NET Frame 4”或“Visual Studio 2012”必须是安装程序

根据wix文档

当使用命令:msbuild/p:VisualStudioVersion=“11.0”时,它应该可以工作

任何帮助都将不胜感激

编辑:

通过将WixBuild.props文件中的
从8.0更改为8.0,解决了WIXBUILD002错误。但是,现在我得到大约72个错误,大部分与MSBUILD相关


当我浏览WIX构建目标时,
错误WIXBUILD002
的定义在文件
\tools\WixBuild.tools.targets
中。如果属性
PlatformSdkBinPath
中的文件路径不存在或属性值为空,则会发生这种情况。
PlatformSdkBinPath
的值在文件
\tools\WixBuild.props
中设置为
$(PlatformSdkInstallPath)bin\
PlatformSdkInstallPath
的值依次从注册表项
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
读取。显然,在您的机器中没有这样的注册表项,而是
v8.0A

问题是WIX MSBuild无法在您的计算机中找到Windows SDK。很可能它也可能是WIX源代码中的bug

因此,基本上解决方案是更改文件
\tools\WixBuild.props
PlatformSdkInstallPath
属性)和
\tools\OneTimeWixBuildInitialization.proj
中的注册表项路径(仅
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
)(
NetfxSdkInstallPath
property)以
v8.0A
结束,而不是当前的
v8.0
,并尝试使用MSBuild

编辑:

为解决以下问题:

MSB8020:Visual Studio 2010的生成工具(平台工具集= 找不到“v100”)。若要使用v100生成工具生成,请执行以下操作: 单击项目菜单或右键单击解决方案,然后选择 “更新VC++项目…”

我想你可以参考这篇MSDN帖子的解决方案。这里的解决方案基本上是安装


注意:我觉得您的VS 2012安装有一些基本问题,或者您正在使用的VS 2012的flavor\version缺少很多东西。

当我浏览WIX构建目标时,
错误WIXBUILD002
的定义在文件
\tools\WixBuild.tools.targets
中。如果文件路径根据属性
PlatformSdkBinPath
不存在或属性值为空。
PlatformSdkBinPath
的值在文件
\tools\WixBuild.props
中设置为
$(PlatformSdkInstallPath)bin\
PlatformSdkInstallPath
依次从注册表项
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0
读取其值。显然,在您的计算机中没有这样的注册表项,而是
v8.0A

问题是,WIX MSBuild无法在您的计算机中找到Windows SDK。很可能它也可能是WIX源代码中的错误

因此,基本上解决方案是更改文件
\tools\WixBuild.props
PlatformSdkInstallPath
属性)和
\tools\OneTimeWixBuildInitialization.proj
中的注册表项路径(仅
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
)(
NetfxSdkInstallPath
property)以
v8.0A
结束,而不是当前的
v8.0
,并尝试使用MSBuild

编辑:

为解决以下问题:

MSB8020:Visual Studio 2010的生成工具(平台工具集= 找不到“v100”)。若要使用v100生成工具生成,请执行以下操作: 单击项目菜单或右键单击解决方案,然后选择 “更新VC++项目…”

我想你可以参考这篇MSDN帖子的解决方案。这里的解决方案基本上是安装


注意:我觉得您的VS 2012安装有一些基本问题,或者您正在使用的VS 2012的flavor\version缺少很多东西。

请检查您的注册表项
HKEY\U LOCAL\u MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0的值,并检查此值路径是否确实存在如果是这样,我想我可以更清楚地了解这一点。谢谢你的回复。我没有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0,但我有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A。在该注册表中,InstallationFolder设置为C:\Program files(x86)\Microsoft SDK\Windows\v8.0A,ProductName设置为Microsoft.Net Framework 4.5 SDK,ProductVersion设置为8.0.50727。再次感谢!顺便说一下,HKEY_LOCAL\u MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A下还有3个子文件夹,分别是:WinSDK-NetFx35Tools、WinSDK-NetFx35Tools-x64和WinSDK-NetFx35Tools-x86。您能请检查注册表项的值
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0
,并检查此值路径是否与Windows SDK文件一起实际存在?如果是,我想我可以更清楚地了解这一点。感谢您的答复。我没有HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0,b但我有HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Microsoft SDK\Windows\v8.0A。在该注册表中,InstallationFolder设置为C:\Program Files(x86)\Microsoft SDK\Windows\v8.0A,ProductName设置为Microsoft.Net Framework 4.5 SDK,一个
error MSB8020: The build tools for Visual Studio 2010
(Platform Toolset = 'v100') cannot be found. To build
using the v100 build tools, either click the project
menu or right-click on the solution, and then select
"Update VC++ Projects..."