Visual Studio 2010安装项目问题

5
我开发了一个应用程序,使用.NET Framework 3.5 SP1和SQL Server 2008 Express。应用程序运行良好,现在我要为它创建安装程序。
当我第一次构建我的安装程序时,由于所有先决条件都没有包含在安装程序中,所以一切都很顺利。
但是我希望我的安装程序也能安装.NET 3.5 SP1和SQL Server 2008 Express。因此,我已经更改了安装程序属性中的选项,从“从以下位置下载先决条件”更改为“从我的应用程序相同的位置下载先决条件”。除此之外,我还勾选了上面的选项,如.NET 3.5 SP1和SQL Server 2008 Express等。
完成所有这些后,我再次构建了我的项目。这一次,我遇到了57个错误。
  • 错误1:未将先决条件的安装位置设置为“组件供应商的网站”,并且项目“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\dotNetFX20\aspnet.msp”无法在磁盘上找到。请参阅帮助获取更多信息。
  • 错误2:未将先决条件的安装位置设置为“组件供应商的网站”,并且项目“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\dotNetFX20\aspnet_64.msp”无法在磁盘上找到。请参阅帮助获取更多信息。
  • 错误3:未将先决条件的安装位置设置为“组件供应商的网站”,并且项目“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\dotNetFX20\clr.msp”无法在磁盘上找到。请参阅帮助获取更多信息。
  • 错误4:未将先决条件的安装位置设置为“组件供应商的网站”,并且项目“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\dotNetFX20\clr_64.msp”无法在磁盘上找到。请参阅帮助获取更多信息。
由于问题变得太大,所以我只粘贴了3个错误,但总共有57个错误。
谢谢您的帮助!
1个回答

8
我找到一些资料,建议您查看以下链接:http://social.msdn.microsoft.com/forums/en-US/vssetup/thread/d3c1991a-9353-43f0-be82-2dacedc1ceba/。此外,在VS2008SP1Readme.htm的第2.3.1.1节中也有相关信息:
如果在安装项目的“先决条件”对话框或ClickOnce发布中选择了.NET Framework 3.5 SP1引导程序包,并且还选择了“从与我的应用程序相同的位置下载先决条件”选项,则会显示以下构建错误:
未将先决条件的安装位置设置为“组件供应商的网站”,并且无法在磁盘上找到“Microsoft.Net.Framework.3.5.SP1”项中的“dotNetFx35setup.exe”文件。
要解决此问题,请更新“Package Data”。
  1. 打开[Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1文件夹,或在x64操作系统上打开%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1。
  2. 使用记事本编辑Product.xml文件。
  3. 将以下内容粘贴到< PackageFiles >元素中:
    • <PackageFile Name="TOOLS\clwireg.exe"/>
    • <PackageFile Name="TOOLS\clwireg_x64.exe"/>
    • <PackageFile Name="TOOLS\clwireg_ia64.exe"/>
  4. 找到元素< PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe",并将PublicKey值更改为: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001
  5. 找到元素< PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe",并将PublicKey值更改为步骤4中的相同值。
  6. 保存product.xml文件。

下载并提取核心安装文件

  1. 打开以下网址: http://go.microsoft.com/fwlink?LinkID=118080
  2. 将dotNetFx35.exe文件下载到您的本地磁盘。
  3. 打开命令提示符窗口并切换到您下载dotNetFx35.exe的目录。
  4. 在命令提示符处,键入:dotNetFx35.exe /x:。这将提取Framework文件到当前目录中名为“WCU”的文件夹中。
  5. 复制WCU\dotNetFramework文件夹的内容,并将其粘贴到 %Program Files%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1文件夹中 (在x64操作系统上为%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35SP1)。注意:不要复制WCU\dotNetFramework文件夹本身。

    在WCU文件夹下应该有5个文件夹,每个文件夹现在都应该出现在DotNetFx35SP1文件夹中。文件夹结构应如下所示:

    • DotNetFx35SP1(文件夹)
      • dotNetFX20(文件夹)
      • dotNetFX30(文件夹)
      • dotNetFX35(文件夹)
      • dotNetMSP(文件夹)
      • TOOLS文件夹)
      • en(或其他本地化文件夹)
      • dotNetFx35setup.exe(文件)

现在,您可以删除步骤2和4中下载和提取的文件和文件夹。


Windows 8用户,请参见:http://stackoverflow.com/questions/17865128/how-can-i-extract-net-3-5-on-a-windows-8-pc-for-building-a-setup-package - BillVo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接