我正在尝试使用WIX 3.6的源代码来调试某些东西并学习一些东西。
在执行make.bat
(存在于WIX源的根文件夹中)文件时,首先我找不到NAnt。所以我下载了NAnt并更新了make.bat文件。再次执行该文件时,我收到此错误
NAnt 0.91 (Build 0.91.3881.0; alpha2; 8/17/2010)
Copyright (C) 2001-2010 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///D:/wix36-sources/wix.build
Target framework: Microsoft .NET Framework 4.0
Target(s) specified: inc
[readregistry] Registry Path Not Found! - key='Software\Microsoft\VisualStudio\VSIP\10.0\';hive='Microsoft.Win32.RegistryHive[]';
[readregistry] Registry Path Not Found! - key='Software\Microsoft\VisualStudio\VSIP\10.0\';hive='Microsoft.Win32.RegistryHive[]';
[property] Target framework changed to "Microsoft .NET Framework 2.0".
[property] Read-only property "dir.hhw" cannot be overwritten.
[property] Read-only property "hhw-found" cannot be overwritten.
BUILD FAILED - 2 non-fatal error(s), 2 warning(s)
D:\wix36-sources\wix.build(65,4):
Build file 'D:\wix36-sources\test\wixtests.build' does not exist.
我的本地安装了.Net framework 4.0。此外,我通过注册表搜索错误中提到的注册表项,但没有找到。我使用的是正确的NAnt版本吗?
答案 0 :(得分:4)
您是否拥有所有先决条件as described in the documentation?
要完全构建WiX,您必须安装以下Frameworks和SDK:
- NAnt(0.90或更高版本)
- Windows SDK for Windows Server 2008和.NET Framework 3.5,Visual Studio 2008,Microsoft Windows 7 SDK和/或Visual Studio 2010中的以下组件:
- x86和x64编译器,标头和库
- IA64标头和库是可选的,但它们是IA64自定义操作支持所必需的
- 如果您希望能够构建优化的IA64二进制文件,则需要安装Windows SDK for Windows Server 2008和.NET Framework 3.5 SDK以及Visual Studio 2008;或Microsoft Windows 7 SDK和Visual Studio 2010。
- HTML Help SDK 1.4或更高版本[安装到程序文件或程序文件(x86)]
缺少的注册表项似乎与VisualStudio SDK有关 - 基本的WiX不需要这个。
如果您有所有先决条件,请尝试将-debug
开关传递给Nant,以获得更详细的调试输出。
答案 1 :(得分:1)
解决这个问题:
[readregistry]找不到注册表路径! - key ='Software \ Microsoft \ VisualStudio \ VSIP \ 10.0 \'; hive ='Microsoft.Win32.RegistryHive []';
[readregistry]找不到注册表路径! - key ='Software \ Microsoft \ VisualStudio \ VSIP \ 10.0 \'; hive ='Microsoft.Win32.RegistryHive []';
如果您使用的是Visual Studio 2010 SP1,则需要Visual Studio 2010 SP1 SDK