cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
aclauss
Level 2

.NET 6 prerequisites

It looks like these were added for .NET 5 a while back per a previous request (https://community.flexera.com/t5/InstallShield-Forum/Net-Core-5-0-Hosting-Bundle-Prerequisite-needed/td-p/169993), can this also be added for .NET 6?

This would need to cover the different pieces (runtime, hosting bundle, etc).

Thanks

Labels (1)
0 Kudos
(25) Replies

Any news on this? Got the same issue with .net 6.0.18. Desktop Runtime gets installed even when 6.0.20 is there....

0 Kudos

Installshield lacks the technology to make that work correctly. We wrote a program to make the correct decision and called it from a custom PRQ.
0 Kudos

Hey @tdhintz and @Stefan1234 ,

I already noticed the wrong conditions used by the default InstallShield prerequisites for .Net Core 2.1 when I was looking for the .Net Core 3.1 ones on its release.

Since then I always create them myself.

As you have noticed, in the case of the Hosting Bundle, the Registry cannot be used to check for the same or later versions install state.

I am using a long list of 20 "A File Exists" conditions, starting with the version number of the included runtime in the prerequisite.

So in the case of my ".NET Windows Hosting Bundle 6.0.24.prq":

  • "A File Exists", "[ProgramFilesFolder]\dotnet\shared\Microsoft.AspNetCore.App\6.0.24\.version"
  • "A File Exists", "[ProgramFilesFolder]\dotnet\shared\Microsoft.AspNetCore.App\6.0.25\.version"
  • "A File Exists", "[ProgramFilesFolder]\dotnet\shared\Microsoft.AspNetCore.App\6.0.26\.version"
  • and so on (I do 20 times)

In the "Prerequisite Condition" select "Run this prerequisite" "If the specified file IS NOT FOUND in the location specified". So this condition will return TRUE if not found and therefore the prq will be only run if ALL the "A File Exists" conditions will return TRUE (not found). If any of them returns FALSE (version found), the prq will not run.

Edit:
In the case of the .NET Desktop Runtime the ".version" file does not exist anymore since .NET 6, so I'll use the same registry approach that was attached to this topic by ayung_2831, but I configured to check an other registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\dotnet\Setup\InstalledVersions\x64\sharedfx\Microsoft.WindowsDesktop.App

(or x86, depending on the runtime to be installed)
instead of "...\sharedfx\Microsoft.NETCore.App"

marliese
Level 3

Now the .net 7 Hosting Bundle is on its way and a again, a working prq doesn't work any more.

As .Net 6 Application can't run with .net 7, it is necessary to get .net 6 installed.

Has anyone a good idea, how the prq condition must be configured?

Any hint is very appreciated!

Regards

Marliese

0 Kudos

Hi All,
Please give this .prq a try.
It should address the problem with .net 7.0 being installed, while still prevent installs when 6.X versions are present.


We hope it helps.
Thank you.

0 Kudos