MSBuild:错误 MSB3147:找不到所需的文件“setup.bin”

发布于 2024-10-10 09:53:04 字数 1376 浏览 0 评论 0 原文

我正在尝试使用 MSBuild(在 CruiseControl 下)为我的 .NET 4 应用程序构建安装。安装版本应创建一个 boostrapper 来安装先决条件(在本例中为 .NET 4 和 Windows Installer 4.5),这是使用 生成引导程序任务

在安装了 VS 2010 的开发计算机上从命令行运行 MSBuild.exe project.msbuild.xml 工作正常。在仅具有最新 Windows 7 SDK 的构建计算机上运行失败并出现错误:

(ProductDistributions target) -> bootstrapper.xml(236,5): error MSB3147: 
Could not find required file 'setup.bin' in '<project path>\ProductDistributions\Engine'.

在开发计算机上,我有一个 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper \Engine 文件夹包含一个 setup.bin 文件,但在构建计算机上,C:\Program Files\Microsoft SDKs 内没有 Bootstrapper 文件夹\Windows\v7.1 (7.1 vs 7.0A 显然是因为 VS2010 安装了 7.0A,但独立 SDK 是 7.1)。

此外,在构建计算机上,HKLM\Software\Microsoft\GenericBootstrapper\ 内没有 4.0 注册表项,但开发计算机上确实有一个包含值为 c:\ 的路径字符串的注册表项Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\

看起来我需要在构建计算机上安装一些东西,才能将 Bootstrapper 文件夹添加到“Microsoft SDKs\Windows\v7.1” (并设置注册表项),但我不确定那是什么。知道我需要得到什么吗?

或者我还需要其他什么东西才能让我的安装构建正常工作?

更新:目前,我通过手动将 7.0A bootstrapper 文件夹从开发计算机复制到构建计算机上,然后将该路径手动添加到 HKLM\Software\Microsoft\GenericBootstrapper 来完成此操作\4.0 注册表项。这似乎有效,但似乎这不是我应该做的来解决问题。因此,如果有人对此有一个不那么棘手的解决方案,我将不胜感激。

I'm trying to use MSBuild (under CruiseControl) to build the installation for my .NET 4 app. The installation build should create a boostrapper to install the prerequisite (.NET 4 and Windows Installer 4.5 in this case), this is done using the GenerateBootstrapper Task.

Running MSBuild.exe project.msbuild.xml from the command line on a development machine, which has VS 2010 installed, works fine. Running on the build machine, which only has the latest Windows 7 SDK, fails with the error:

(ProductDistributions target) -> bootstrapper.xml(236,5): error MSB3147: 
Could not find required file 'setup.bin' in '<project path>\ProductDistributions\Engine'.

On the dev machines, I have a C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine folder containing a setup.bin file, but on the build machine there is no Bootstrapper folder inside C:\Program Files\Microsoft SDKs\Windows\v7.1 (the 7.1 vs 7.0A is apparently because VS2010 installs 7.0A, but the standalone SDK is 7.1).

Also, on the build machine there is no 4.0 registry key inside HKLM\Software\Microsoft\GenericBootstrapper\, but the dev machines do have one containing a path string with a value of c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\

It looks like there's something I need to install on the build machine to add the Bootstrapper folder to "Microsoft SDKs\Windows\v7.1" (and setup the registry keys), but I'm not sure what that is. Any idea what I need to get?

Or is there something else I need to get my installation build working?

Updated: I have this working at the moment by manually copying the 7.0A bootstrapper folder from a dev machine onto the build machine, and manually adding that path to the HKLM\Software\Microsoft\GenericBootstrapper\4.0 registry key. Which seems to work, but it seems like this can't be what I'm supposed to do to fix the problem. So I'd appreciate if anyone has a less-hacky solution to this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

别再吹冷风 2024-10-17 09:53:04

根据 t他的博客文章 引导程序文件是在 .NET Framework SDK 安装期间安装的。它还显示了搜索引导程序目录的注册表项。

您可以尝试安装 .NET Framework SDK 或通过复制文件并添加注册表项来手动设置。

According to this blog entry the bootstrapper files are installed during the .NET Framework SDK install. It also shows the registry entries that are searched to look for the bootstrapper directory.

You could try installing the .NET Framework SDK or manually set it up by copying the files and adding the registry entries.

萌吟 2024-10-17 09:53:04

我遇到了同样的问题,但没有尝试手动复制文件并破解注册表,尽管我也从其他人那里听说他们也成功做到了这一点。

为了获得更真实的解决方案,我创建了一个 Connect.Microsoft.com 站点上的功能请求,以实现某种类型的 Visual Studio 最小安装,以便提供一种更简单的方法来设置构建服务器并进行必要的开发文件。请对功能请求进行投票和/或评论,以帮助引起人们对该问题的关注。

I'm experiencing the same problem but hadn't tried manually copying over the files and hacking the registry although I've heard from other as well that they have also had success doing so.

In order to get a more real solution for this I've created a feature request on the Connect.Microsoft.com site to implement some type of minimal install of Visual Studio in order to provide for an easier way to set up a Build Server with the necessary development files. Please vote and/or comment on the feature request to help bring attention to this issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文