如何在不使用Visual Studio引导程序的情况下控制dotNetFx35setup.exe的下载URL

时间:2010-04-13 07:49:29

标签: .net installer bootstrapping

以前我习惯使用Visual Studio 2008 setup.bin来生成引导程序。我遇到了一些难以解决的问题并转向dotNetInstaller。 VS 2008生成的引导程序的一个好处是,我能够控制.NET框架的下载位置。通过使用MSBuild任务,我可以指定componentsLocation:

<GenerateBootstrapper 
    ApplicationFile="$(TargetFileName)" ApplicationName="MyApp" 
    ApplicationUrl="http://$(InstallerHost)$(DownloadUrl)"
    BootstrapperItems="@(BootstrapperFile)" 
    CopyComponents="True" ComponentsLocation="Relative" 
    OutputPath="$(OutputPath)" 
    Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\"  />

在这里,我可以使用ComponentsLocation =“Relative”,引导程序将从我们自己的Web服务器下载 - 这就是我想要的。当我不再拥有VS 2008引导程序时,我希望拥有相同的功能。新的boostrapper从定义的服务器下载dotNetFx35setup.exe,但问题是这个“.NET bootstrapper”连接到Microsoft的服务器以下载所需的包。尝试运行以下命令:

dotNetFx35setup.exe /?

没有显示任何控制下载位置的选项。 Web服务器将包含Windows SDK(v6.0A)在Bootstrapper \ Packages目录中具有的包结构。结构如下所示:

Packages
    DotNetFX
    DotNetFX30
    DotNetFX35
    DotNetFx35Client
    DotNetFx35SP1
    .....

当我声明对.NET Framework 3.5的依赖时,DotNetFX35目录结构被复制到bin / Debug目录中。我已将此目录复制到Web服务器上,它看起来像这样:

DotNetFX35
    dotNetFX20
    dotNetFX30
    dotNetFX35
        x64
            netfx35_x64.exe
        x86
            netfx35_x86.exe
    dotNetMSP
    dotNetFx35setup.exe

其他目录主要包含MSI,MSP和MSU文件。所以关于如何控制.NET框架下载的任何指针。我不应该使用dotNetFx35setup.exe文件吗?如果不是 - 我应该使用哪个?

1 个答案:

答案 0 :(得分:-1)