如何创建自动安装 .Net Framework 4.5 的引导程序

Posted

技术标签:

【中文标题】如何创建自动安装 .Net Framework 4.5 的引导程序【英文标题】:How can I create a bootstrapper that auto-installs .Net Framework 4.5 【发布时间】:2014-04-10 16:42:02 【问题描述】:

我正在使用 InstallShield 2013 LE,并且我正在寻找类似于 SQL CE 4.0 的东西作为 InstallShield Prerequisite 。只是,我想安装 .Net Framework 4.5,如果它还没有在机器上的话。我有框架所需的文件,但 LE 不允许我处理先决条件。

我看到了 DotNetInstaller 的推荐,我下载并开始研究它。但看起来 DotNetInstaller 很旧,并且在其列表中不包含 .Net Framework 4.5(独立)。有办法添加吗?

然后我查看了 WiX,不确定我是否可以按照文档进行操作。

我还看到 http://msdn.microsoft.com/en-us/library/ms165429.aspx 描述了直接制作引导程序,但那里的细节很少。

谁能指点我一个真正的引导程序文件教程?或者,是否有人拥有我想要的文件并且可以发布它?

谢谢!!!

【问题讨论】:

在我投入大量时间之前,有人能告诉我schiffhauer.com/… 是否是我想要的吗?当描述以“鉴于使用 WiX 的复杂性,......”开头时,我只关心它如果这是我想要的,你能告诉我关于 Bundle 文件的什么?这与 configuration.xml 不同。 我也看到了 msdn.microsoft.com/en-us/library/ee335701.aspx ,但它安装了 MSI,所以不清楚如何让它与框架一起工作? 【参考方案1】:

您需要在引导程序“bundle.wxs”中执行以下操作 1. 参考 NetFxExtension.dll,可在 Wix SDK 文件夹中找到 2. 创建 Util 来查看用户是否有 .net45 3.Net 4.5下载链接

我为我的一个项目做过类似的事情,下面是我的 bundle.wxs 供您参考

<?xml version="1.0" encoding="UTF-8"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
         xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
         xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
         xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
    <Bundle Name="XXX" 
            Copyright="XXXXX" 
            Manufacturer="XXXXX" 
            Version="0.0.0.0" 
            UpgradeCode="XXXXXX_XXXX" IconSourceFile="..\XXX.ico" >

<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
  <bal:WixManagedBootstrapperApplicationHost LicenseUrl="NetfxLicense.rtf"   
        LogoFile="Images\Microsoft-.NET-4.5-Icon.ico"/>
  <Payload SourceFile="C:\Program Files (x86)\WiX Toolset v3.8\SDK\Microsoft.Deployment.WindowsInstaller.dll"/>
</BootstrapperApplicationRef>

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx45WebPackageGroup" />   
 </Bundle>

<Fragment>

   <bal:Condition Message="Please select &quot;Accept and Install&quot; to Install it">Not   Netfx4x64FullVersion</bal:Condition>


  <PackageGroup Id="NetFx45WebPackageGroup">
    <ExePackage Id="NetFx45WebPackageGroup"                      
                Cache="no" 
                Compressed="yes" 
                PerMachine="yes" 
                Permanent="yes" 
                Vital="yes" SourceFile="$(var.Bin)\dotNetFx45_Full_setup.exe" InstallCommand="/q"
    DownloadUrl="http://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe"
    DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))"
    />
 </PackageGroup>
</Fragment> 

【讨论】:

嗨西瓦,感谢您的回复!不幸的是,我在一夜之间切换了 .Net Framework 版本,现在我使用的是 3.5 版。我这样做是为了可以部署到 Windows XP 机器上。 (我希望我的信息是正确的。)我查看了您的解决方案,很想将 4.5 秒更改为 3.5 秒,但是由于那里有 GUID 标记,我认为这行不通。如果你能告诉我我可以将 .Net Framework 4.5 部署到 XP 机器上,我有一个我会恢复的备份。否则,您是否碰巧拥有相同的信息,仅适用于 3.5?谢谢你的帮助。我会标记你的答案,以表扬你... 不幸的是,.Net 4.5 仅支持 Win 7 及更高版本。 XP 必须使用 3.5(甚至不支持 4.0——我猜)。您可以对其他网络使用相同的代码:3.5、4.0 等,只需更改包组。另外,请参考以下示例:***.com/questions/16465971/…. 好的,我知道我对框架版本有正确的理解。我还有一些“转换”要做,但请查看您发送的链接。感谢您的帮助!

以上是关于如何创建自动安装 .Net Framework 4.5 的引导程序的主要内容,如果未能解决你的问题,请参考以下文章

.net framework 4.6 无法安装

如何安装.net framework 4

如何在win10上安装.net framework 4.0

.net5.0如何切换成4.0 framework

装了net framework高版本,还需要装低版本么

Win10系统无法安装.net framework 4.0怎么办