如何创建自动安装 .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 "Accept and Install" 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="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))"
/>
</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 的引导程序的主要内容,如果未能解决你的问题,请参考以下文章