0

以前我使用 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 文件吗?如果没有 - 我应该使用哪个?

4

1 回答 1

-2

您将需要使用 .NET Framework 3.5 完整包。

http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe

您可以使用 dotNetInstaller 中的 InstallerEditor 从菜单中添加“Microsoft .NET Framework 3.5 SP1”组件。

请参阅 InstallerEditor在此处添加的代码。

为方便起见,它也复制在这里:

  <component command="&quot;#TEMPPATH\dotNetRuntime_Download_#PID\dotnetfx35setup.exe&quot; &quot;/norestart /q&quot;" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 3.5 SP1" display_name="Microsoft .NET Framework 3.5 SP1" os_filter_min="winXPsp2" type="cmd" mustreboot="False" must_reboot_required="False" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 3.5 SP1 for all operating system since Windows XP SP2 (Install check)" supports_install="True" supports_uninstall="False" show_progress_dialog="False" show_cab_dialog="False">
    <installedcheck path="Software\Microsoft\NET Framework Setup\NDP\v3.5" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
    <downloaddialog dialog_caption="Microsoft .NET Framework 3.5 SP1 - Download Components" dialog_message="Press 'Start' to download the required components for installing Microsoft .NET Framework 3.5 SP1." dialog_message_downloading="Download in progress. Please wait..." dialog_message_copying="Files are downloaded. Please wait ..." dialog_message_connecting="Connecting ..." dialog_message_sendingrequest="Sending request ..." autostartdownload="False" buttonstart_caption="Start" buttoncancel_caption="Cancel">
      <download componentname="Microsoft .NET Framework 3.5 SP1" sourceurl="http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe" destinationpath="#TEMPPATH\dotNetRuntime_Download_#PID" destinationfilename="dotnetfx35setup.exe" alwaysdownload="True" clear_cache="False" />
    </downloaddialog>
  </component>
于 2010-12-03T11:45:31.293 回答