This question already has answers here:
Could not find required file 'setup.bin'
(6个答案)
4年前关闭。
我正在尝试使用MSBuild(在CruiseControl下)为.NET 4应用程序构建安装。安装版本应创建一个boosterapper来安装必备组件(在本例中为.NET 4和Windows Installer 4.5),这是使用GenerateBootstrapper Task完成的。
在安装了VS 2010的开发计算机上,从命令行运行
在开发机器上,我有一个包含
另外,在构建机器上,
似乎需要在构建计算机上安装一些东西,才能将Bootstrapper文件夹添加到“Microsoft SDKs\Windows\v7.1”(并设置注册表项),但是我不确定这是什么。知道我需要什么吗?
还是我需要其他一些东西才能使我的安装版本正常工作?
更新:目前,我通过手动将7.0A bootstrapper文件夹从开发机复制到构建机上,然后将该路径手动添加到
(6个答案)
4年前关闭。
我正在尝试使用MSBuild(在CruiseControl下)为.NET 4应用程序构建安装。安装版本应创建一个boosterapper来安装必备组件(在本例中为.NET 4和Windows Installer 4.5),这是使用GenerateBootstrapper Task完成的。
在安装了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
文件夹,但是在构建机器上,Bootstrapper
内没有C:\Program Files\Microsoft SDKs\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
注册表项中来进行此工作。这似乎可行,但似乎无法解决该问题。因此,如果有人对此有较宽松的解决方案,我将不胜感激。 最佳答案
根据t his blog entry, bootstrap 文件是在.NET Framework SDK安装过程中安装的。它还显示了搜索以查找 bootstrap 目录的注册表项。
您可以尝试安装.NET Framework SDK或通过复制文件并添加注册表项来手动设置它。
10-06 10:33