[wix-users] Burn can't find .net framework installer

Kentie, Marijn ma.kentie at royalihc.com
Thu Mar 17 02:49:52 PDT 2016


I've been playing with manually providing an ExePackage, although I'd rather have the NetFxExtension do the dirty work for me. However, even when directly providing a SourceFile, during execution Burn still looks in the original package location (desktop) instead of the temp folder. I think a tactical WixBundleExecutePackageCacheFolder reference could work, but haven't been able to get it to. I tried changing the NetFx45 ExePackage 'name' attribute to

Name="[WixBundleExecutePackageCacheFolder]!(wix.NetFx46RedistPackageDirectory)NDP46-KB3045557-x86-x64-AllOS-ENU.exe">

But that didn't work, it wasn't substituted during runtime.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Farrukh Waheed
Sent: 16 March 2016 18:05
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Burn can't find .net framework installer

I see <PackageGroupRef Id="NetFx46Redist"/>, but you are defining the source in <PayloadGroup Id="NetFx46RedistPayload">.
I used PayLoad only to pack pre-requisites of my bootstrapper. For .Net Framework, I included it as an ExePackage and as far I remember, I copied its markup from Wix Source: Here is how I'm using it:

    <PackageGroup Id="Netfx4Full">
      <ExePackage Id="Netfx4Full"
        DisplayName="Microsoft .NET Framework 4"
        Description="Microsoft .NET Framework 4 Setup"
        Cache="no"
        InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]""
        UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]""
        Compressed="yes"
        PerMachine="yes"
        Permanent="yes"
        Vital="yes"
        SourceFile="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40\dotNetFx40_Full_x86_x64.exe"
        DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"
        DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)"
        Protocol ="burn"
    />
    </PackageGroup>


And in your chain, simply use PackageGroup reference i.e.
<PackageGroupRef Id         = "NetFx451Full"  />

Hope this helps.

On 16 March 2016 at 21:49, Hoover, Jacob <Jacob.Hoover at greenheck.com> wrote:

> What WiX version are you using?  Do you have logs posted anywhere?
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On 
> Behalf Of Kentie, Marijn
> Sent: Wednesday, March 16, 2016 10:41 AM
> To: wix-users at lists.wixtoolset.org
> Subject: [wix-users] Burn can't find .net framework installer
>
> Hi,
>
> I'm trying to install the .net framework without requiring an internet 
> connection.
> I've got an issue where the bootstrapper looks for a .net framework 
> installer in the wrong location. Here's my bundle:
>
> <?xml version="1.0" encoding="UTF-8"?> <Wix 
> xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="
> http://schemas.microsoft.com/wix/BalExtension">
>   <?define VERSION=!(bind.packageVersion.Installer) ?>
>   <Bundle Name="$(var.PRODUCT) $(var.VERSION)" Version="$(var.VERSION)"
> Manufacturer="aaa" UpgradeCode="488CDFD7-9E72-41B5-B880-AC4EA1B7EF4F" >
>     <BootstrapperApplicationRef
> Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense" >
>       <bal:WixStandardBootstrapperApplication LicenseUrl=""
> SuppressOptionsUI="yes"
> LogoSideFile="$(var.RESOURCEPATH)\Images\BootStrapLeft.png"
> LogoFile="$(var.RESOURCEPATH)\Images\BootStrapSmall.png"
> LocalizationFile="Strings1.wxl" />
>       <PayloadGroupRef Id="NetFx46RedistPayload" />
>     </BootstrapperApplicationRef>
>
>     <Chain>
>       <PackageGroupRef Id="NetFx46Redist"/>
>       <!-- DisplayInternalUI as we need the feature selection dialog -->
>       <MsiPackage Id="Installer" SourceFile="$(var.DPDTSetup.TargetPath)"
> DisplayInternalUI="yes" />
>     </Chain>
>
>     <PayloadGroup Id="NetFx46RedistPayload">
>       <Payload Name="redist\NDP46-KB3045557-x86-x64-AllOS-ENU.exe"
> SourceFile="$(var.SolutionDir)..\ThirdParty\DotNet\NDP46-KB3045557-x86-x64-AllOS-ENU.exe"
> />
>       </PayloadGroup>
>     </Bundle>
> </Wix>
>
> I have to say that the documentation (
> http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_
> and_install_checks/install_dotnet.html)
> isn't too clear on the necessity of the PayloadGroupRef item, however 
> after having added it, the framework installer is correctly unpacked 
> to 
> C:\Users\User\AppData\Local\Temp\{2EB3D3D2-3BC3-44B1-B9F8-34D86BE4BB33
> }\.ba\redist\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
>
> However, the bootstrapper seems to search in a location relative to 
> its original location (in this case the desktop), instead of relative 
> to the temp files, the log file says
>
> Prompt for source of package: NetFx46Redist, payload: NetFx46Redist, path:
> C:\Users\User\Desktop\redist\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
> Acquiring package: NetFx46Redist, payload: NetFx46Redist, download from:
> http://go.microsoft.com/fwlink/?LinkId=560369
>
> Of course, the download fails, as there's no internet connection. I've 
> found people reporting similar issues, but no clear solution other 
> than re-implementing the functionality offered by the WixNetFxExtension.
>
> Thanks,
>
> Marijn
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list