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

时间:2014-04-10 16:42:03

标签: .net frameworks bootstrapper

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

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

然后我看了WiX并且不确定我是否可以按照文档。

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

有人能指点我一个真正的bootstrapper文件教程吗?或者,有人可能有我之后的文件并且可以发布它吗?

感谢!!!

1 个答案:

答案 0 :(得分:0)

您需要在引导程序“bundle.wxs”中执行以下操作 1. ref 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>