Installshield .Net framework prerequisite not installing for users without .net 4.0 or above - installshield

When I was looking at the Conditions for installing the 4.6.2 .NET Framework I see this
Registry has value HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release < 394806
Win 7/Win Server 2008 R2 (SP 1+)
Win 8/Win Server 2012
Win 8.1/Win Server 2012 R2
Win 10
This works great if the user uses windows update regularly and he/she has a 4.0+ .NET framework installed.
But if a Windows 7 user never updates his/her .NET framework then the default one would be .NET 3.5
And HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\ would not exist. The first condition fails and InstallShield would not attempt to install .NET 4.6.2 on user's machine.
Seems like there is no way to use Or group for prerequisite condition. How can I make sure
.NET 4.6.2 is automatically installed for users with 4.6.2 below
.NET 4.6.2. will NOT get installed for users with 4.6.2 above

Based on the answer provided by flexerasoftware it is not possible to do in basic MSI project.
I was able to get it working by using a Advanced UI Suite project and added .NET framework 4.6.2 as a dependency package.
In the Detection condition section config it using a custom Or logic to check whether 4.6.2 should be installed

Related

Is It possible to have .NET 4.5 on application pools of IIS 7.5.1 on Server 2008 R2 Server Pack 1?

I have an application running on Windows server 2008 R2 Service Pack 1 with IIS version 7.5.1 and .NET framework V4.0. The TLS Connection is 1.0 and I wanted to upgrade the TLS connection to use 1.2. I have searched for so long and I found that it's related to the .Net Framework connection it has to be minimum 4.5. I downloaded .Net Framework 4.5 but I can't find it in the Application pools inside the IIS. Is there another possible way to upgrade to TLS 1.2 ? If upgrading the .Net framework is the solution, then how to apply .net framework version 4.5 to the IIS ?
Note, that I am using Microsoft VS 2010 and the solution is targeting .Net Framework V4.0 and I can't see the downloaded version 4.5 to choose as a target
Framework connection it has to be minimum 4.5. I downloaded .Net Framework 4.5 but I can't find it in the Application pools inside the IIS. Is there another possible way to upgrade to TLS 1.2 ? If upgrading the .Net framework is the solution, then how to apply .net framework version 4.5 to the IIS ?
As Lex says that IIS management console will just show the CLR version which is always 4.0. If you want to check you have install the asp.net 4.5. I suggest you could try to open the regedit and locate the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.
Details ,you could refer to this article.
Besides, if you want to let your windows server 2008 to support tls1.2, you should also install the windows update.
More details about how to enable TLS 1.2, you could refer to this article.

Can an app targeting .net framework 4.7.2 be safely run on .net framework 4.7.1?

I have this issue in which I'm currently targeting .NET Framework 4.7.2 in my solution but the Azure Web App Service only supports up to .NET Framework 4.7.1. So, my question is this: As long as I only use 4.7.1 features, should it work without issue on the Azure Web App Service (which only supports up to 4.7.1) even though I'm targeting 4.7.2? Are the .NET Frameworks backwards compatible? So far, I haven't seen any issues. I just want to make sure there will be no future complications. Ideally, I would like to keep targeting 4.7.2 so that I can start using the 4.7.2 features once it becomes available on Azure Web App Service.
The .NET Framework 4.7.2 builds on previous versions of the .NET Framework 4.x by adding many new fixes and several new features while remaining a very stable product.
The .NET Framework 4.7.2 is included with the Windows 10 April 2018 Update
The .NET Framework 4.7.2 can be used to run applications built for the .NET Framework 4.0 through 4.7.1.
Azure App Service now supports 4.7.2
I think that you did a good thing in upgrading and targeting .NET Framework 4.7.2 ; I also have an Azure App Service and upgraded it to 4.7.2 and it is running very well. As said before, it brings updates and fixes, and it is backward compatible on almost all cases.
Note that the recommended is that the target machine have a .Net version Equal or Greater of the of the .NET Framework 4.x than your compiled version.
See:
https://learn.microsoft.com/en-us/dotnet/framework/whats-new/index#v472
https://learn.microsoft.com/en-us/dotnet/framework/install/on-windows-10
#TheDude, you cannot build an app on 4.7.2 and hope to run it on lower version like 4.7.1. At runtime the target framework version check will fail as it will find the Framework version (4.7.2) as missing.
The other way round (i.e. target 4.7.1 and run on 4.7.2) is fine as the higher versions are backwards compatible.

I can't run/debug Azure Function project in VS2017 using Windows 10 Enterprise

Whenever i try to run/debug an Azure Function project in Visual Studio 2017 i get an error stating that i need .Net Framework 4.7.1 (which i can't install due to have preinstalled windows 10 Enterprise in my working machine by company policy),I'm using Azure Functions and Web Tools Extension version 15.0.40608.0, anyone can help me with a workaround on this matter ?
If you got exactly this error message
The reference assemblies for framework ".NETFramework,Version=v4.7.1" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. ...
You can try to change your target framework to a version you have installed, like the error suggests.
Right click on your project, Edit FunctionProjectName.csproj, find <TargetFramework>net471</TargetFramework>, change it to the version installed, like net461.
If you can't run this project correctly on lower version of .Net Framework, as rickvdbosch says, it might be required to update your Windows and install the SDK or modify your code to make it compatible on lower version.

Metadata exception - schema specified is not valid - Installing a C# Windows Forms application on Windows XP using ClickOnce and EF Code First

I have a C# Windows Forms application that makes use of SQL Server 2008 R2, .NET Framework 4, .NET Framework 4 Client, and Entity Framework Code First.
SQL Server 2008 R2 Express exists on the machine, and the program does create the database and tables.
[Update]
I tried installing .NET framework 4.5, but I got this message:
Blocking Issues:
The .NET Framework 4.5 is not supported on this operating system.
Warnings:
Setup may not run properly, because the Windows Modules Installer
Service is not available on this computer.
with this link
The operating system is Windows XP 2002 SP3 running inside VMware Player.
[Update 25th May 20xx]: I found a link here that caused me to think the problem is just that ClickOnce won't install on Windows XP. However I recreated the set up in Visual Studio 2010 and have the same error.
[update 26 May 20xx]: I created a test project with Visual Studio 2012 and Entity Framework 5 and was able to successfully install on Windows XP using ClickOnce. Strangely I was then able to publish a version of my big application that worked.
I am not sure what is going on. I also did install a program containing Entity Framework 6 on my test computer - but this would not have been referenced by my big application.
Have you tried installing .NET 4.5?
I know it sounds absurd, but we're seeing the same issue: Entity Framework 5.0 (4.4) targetting .NET 4.0, Code First on SQL Server CE.
Installing .NET 4.5 made the issue go away. We're still investigating, because we also have a couple of Windows XP clients.
Update:
Portions of the Entity Framework 5 code are part of the .NET framework itself (that's why there's a 4.4 version for .NET 4.0 that e.g. doesn't support enums, while the 5.0 for 4.5 does).
It seems this issue is related to that since installing .NET 4.5 inexpliccably solves this.
For Entity Framework 6 those portions were moved to Entity Framework, so Entity Framework 6 doesn't depend on framework specifics anymore. We've updated to Entity Framework 6.0 alpha 3 and everything seems fine.
Now, I don't like running alpha code, but this is the only solution we could find.

how add .net framework 4 in installshield 2010

i am going to make setup file with installshield 2010.(my program is written .net frame work 4). according to installation requirement in install shield, i mark microsoft .net framework 4 full full and client package but after make set up when i want to set the setup file, there is error that "you must have .net framework 4 in your system".
i want to set the .net framework 4.0 during the installation in client computer, but i face with that error:you must have .net framework 4 in your system.
please help me
I realize that this is an old thread, but I came upon it while searching for an answer to the same question.
In my version of InstallShield 2010 Professional, the .Net 4.0 redistributable was not available and, as 2010 is no longer supported, you could not get it from the redistributable downloader in the Tools menu. There is a InstallShield 2010 Expansion Pack patch that can be downloaded and run which will include it.
I installed it and it worked fine for me.
Do you use Prerequisites in InstallShield?
If yes, please check if this prerequisite is downloaded to you local system.
You can see this here:
"Application Data->Prerequisites->Microsoft .NET Framework 4.0 Full" column Location
If it has value "Needs to be downloaded" do the right click and choose Download selected item...

Resources