Reputation: 737
I am working on a WiX bootstrapper application with Custom UI that installs a .msi
and some .exe
files. I have a prerequisite that .NET 4.8
must be installed on the system. If it is not installed then first install the .NET 4.8
framework then install all the other items.
I am using WiX v3.14.0.5722
for the installer application.
Going through the documentation to install .NET 4.8
I follow this article.
Link: How To: Install the .NET Framework Using Burn
<Chain>
<PackageGroupRef Id="NetFx48Redist"/>
.....
.....
</Chain>
I have also tried to check and place conditions on the .msi
project as below.
<PropertyRef Id="WIX_IS_NETFRAMEWORK_48_OR_LATER_INSTALLED"/>
.......
.......
<Condition Message="This application requires .NET Framework 4.8. Please install the .NET Framework then run this installer again.">
<![CDATA[Installed OR WIX_IS_NETFRAMEWORK_48_OR_LATER_INSTALLED]]>
</Condition>
But no solution is working for me. and I am getting this error as below.
Bundle.wxs(67,0): error LGHT0094: Unresolved reference to symbol 'ChainPackageGroup:NetFx48Redist'
Then I found some implementations about .NET 4.8
installation and import the NetFx48.wxs
file from wixtoolset/wix3
and then the ChainPackageGroup:NetFx48Redist
error was gone but another problem I found as below:
Acquiring package NetFx48Redist, payload NetFx48Redist, download from httpsgo.microsoft.comfwlinkLinkId=2088631
Error 0x80070490 Failed to find expected public key in certificate chain.
Error 0x80070490 Failed to verify expected payload against actual certificate chain.
Error 0x80070490 Failed to verify signature of payload NetFx48Redist
I also follow the link .NET 4.8 redistributable downloads have changed its hash and file size and could not solve my problem.
Can anyone help me to solve the .NET 4.8
installation issue? Thank you in advance. Happy coding.
Upvotes: 4
Views: 6450
Reputation: 737
I have solved my problem and I want to share my thought about it as lots of developers can be benefited from this.
As the implementation of .NET 4.8
framework installation in WixNetFxExtension
extension was included or not in WiX v3.14.0.5722
WiX version. In my case, it was not working.
So I included the NetFx48.wxs
file in my project in both bootstrapper
and .msi
projects but I have to update the remotePayload
.
So how to update remotePayload
of NetFx48.wxs
<RemotePayload
CertificatePublicKey="D17AFCE951979605250FAEBAFA7AE974899AED22"
CertificateThumbprint="C82273A065EC470FB1EBDE846A91E6FFB29E9C12"
Description="Microsoft .NET Framework 4.8 Setup"
Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9"
ProductName="Microsoft .NET Framework 4.8"
Size="1479400"
Version="4.8.3928.0" />
<RemotePayload
CertificatePublicKey="D17AFCE951979605250FAEBAFA7AE974899AED22"
CertificateThumbprint="C82273A065EC470FB1EBDE846A91E6FFB29E9C12"
Description="Microsoft .NET Framework 4.8 Setup"
Hash="8DD233698D5EB4609B86C2AC917279FE39E0EF4C"
ProductName="Microsoft .NET Framework 4.8"
Size="117380440"
Version="4.8.3928.0" />
First, you have to download the ndp48-web.exe
and ndp48-x86-x64-allos-enu.exe
files then go to wix installation folder. Then run the following command
heat.exe payload [ndp48-web.exe file directory] -out [file_name.wxs]
do it for the second file also.
heat.exe payload [ndp48-x86-x64-allos-enu.exe file directory] -out [file_name.wxs]
Then we can get the updated remotePayload
files as shown bellow
<RemotePayload
CertificatePublicKey="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B"
CertificateThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B"
Description="Microsoft .NET Framework 4.8 Setup"
Hash="4181398AA1FD5190155AC3A388434E5F7EA0B667"
ProductName="Microsoft .NET Framework 4.8"
Size="1439328"
Version="4.8.4115.0" />
<RemotePayload
CertificatePublicKey="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B"
CertificateThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B"
Description="Microsoft .NET Framework 4.8 Setup"
Hash="E322E2E0FB4C86172C38A97DC6C71982134F0570"
ProductName="Microsoft .NET Framework 4.8"
Size="117380440"
Version="4.8.4115.0" />
Upvotes: 6
Reputation: 399
Have a look at the values in this file https://github.com/wixtoolset/wix3/blob/develop/src/ext/NetFxExtension/wixlib/NetFx48.wxs
Microsoft in their wisdom changed the version of .NET 4.8 pointed at by their download links.
Upvotes: 3