How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Got a problem you cannot solve? Try here.
Steve
Posts: 117
Joined: Fri Jun 16, 2006 9:51 pm
Location: Canada eh

How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby Steve » Fri Jul 29, 2016 3:18 pm

How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Sounds simple, but it is not!

This is a significant problem for anyone wanting to install SQL 2014 in their InstallAware installation package on a Win10 OS, because .Net 3.5 is a required SQL prerequisite. Prior versions of SQL included .Net 3.5 within the SQL installer package (so the problem did not exist prior to SQL 2014), however MS in their infinite wisdom, no longer include .net 3.5 in the SQL installation package... Yet SQL requires it!!!
How's that for the ultimate in Microsoft stupidity...

The problem when using InstallAware to install MS SQL 2014 in my installation package is that Windows 10 does not install .Net 3.5 automatically. THE ONLY WAY TO INSTALL .NET 3.5 on WIN10 is to go to:
> "Control Panel> Programs and Features>Turn Windows Features on or off"
> From there you must enable the .Net 3.5 checkbox, then click 'Ok'
> Windows will then connect to the Internet ( via Windows Update Service) and download and install the .net 3.5 components.

Quite obviously this is stupid! It means that my InstallAware installation package will fail during the SQL 2014 installation, and the user will have to figure out how to install .Net 3.5 (and undocumented convoluted process) and then rerun my InstallAware installation package again.

I figured that the simple way to solve this would be to install the .Net 3.5 runtime, but Noooooo :x , Windows 10 will throw an error and prevent the .net runtime (included with InstallAware) from installing. Win 10 forces you to use 'Turn Windows Features on or off' in order to install .net 3.5.

Has anybody out there encountered this problem and figured out a solution?

Realistically, InstallAware should look into a way of addressing this because there is no possible way that the InstallAware SQL 2014 runtime can work on a new/clean OS. Having said this, I fully recognise that InstallAware is simply repackaging the MS SQL 2014 Express installer, and that Microsoft themselves are the root cause of the problem... but since InstallAware is supposed to help us to make beautiful installation packages, a solution to the issue would be greatly appreciated.

Thanks,
Steve

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby FrancescoT » Mon Aug 01, 2016 9:56 am

Dear Steve,

please have a look at the following topic where the same question was already discussed.
http://www.installaware.com/forums/viewtopic.php?f=2&t=10654&hilit=DISM

Hope this helps you.

Regards.
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

Steve
Posts: 117
Joined: Fri Jun 16, 2006 9:51 pm
Location: Canada eh

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby Steve » Wed Oct 19, 2016 5:31 pm

Hi Francesco,
Thanks for your last reply. I have spent countless hours trying to get this to work and quite simply, it does not.
Currently I am using X5. I have even built a simple little IA test project that is supposed to install/enable .Net 3.5.1 on a WIn7 x32 machine, according to your instructions (I am referring to your link to the post above)...
However, it does not enable .Net3.5.1 !

I have tried an MSI install and a Native Engine install and simply put, .Net 3.5.1 will not become enabled on a Win7 (same with Win 8 and Win10) OS.
The installation starts and ends 'apparently' successfully, but absolutely none of .Net 3.5.1 is enabled.

I built this test install in about 2 minutes. This is how simple my IA installer test package is:

1) Created a brand new project using the 'Native Engine' template
2) Enabled Application Runtime "Microsoft .Net Framework 3.5 with Service Pack 1" .
(this in turn automatically enables the following Application Runtimes):
IA_APP_RTM.jpg
IA_APP_RTM.jpg (149.41 KiB) Viewed 12898 times

3) I did not modify, customise or even look at the IA scripting
4) Built the installation package using both Web Deploy and CD/DVD modes.
5) Ran the finished installation package on a Win7 x32 OS.

No matter which installation package (Web Deploy or CD/DVD) I use, nothing gets installed (absolutely none of the runtimes) and .Net3.5.1 does not get enabled.

My test install could not be any simpler in terms of being striped down... So obviously there is something I am doing wrong or perhaps IAX4 to X5 has a problem?

Thanks in advance
Steve
Last edited by Steve on Fri Oct 21, 2016 11:58 am, edited 1 time in total.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby FrancescoT » Thu Oct 20, 2016 10:20 am

Dear Steve,

by default with any Win 7 OS installation .Net 3.5 is already pre-installed and enabled.

So, how did you check that .Net 3.5 doesn't get enabled or better, that .Net 3.5 is not enabled already?

The reason of my question it's due the fact that when Net 3.5 is not already enabled with a Win 7 target, your test installer should display the following message.

win7_net35_disabled.png
win7_net35_disabled.png (310.88 KiB) Viewed 12887 times


Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

Steve
Posts: 117
Joined: Fri Jun 16, 2006 9:51 pm
Location: Canada eh

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby Steve » Thu Oct 20, 2016 12:47 pm

Hi Francesco,
Thanks very much for your quick reply.

I didn't want to introduce too many confusing variables into the conversation initially, so I intentionally did not talk about the reason that I created this IA Test installation package...
Specifically, the problem that I was having with my 'real' project was that I was attempting to install SQL 2014 via the 'Microsoft SQL Server Express 2014 SP2 (x86 and x64 WOW)' application runtime. However SQL Express 2014 would not install. The runtime's progress bar would just run/cycle forever without the install ever actually progressing. I eventually determined that the reason for this was that SQL was reporting that .Net3.5 is not installed on my OS. I encountered this same problem on both WIn10, WIn 7 and WIn8. How's that for the height of Microsoft stupidity... MS SQL requires .Net 3.5 but does not include it in their installations package and they also don't install it on their operating systems! They also will not allow it to be installed using an Application Runtime because the OS thinks that it is 'pseudo installed' as an OS component already.
From Microsoft: "Windows 7 (all editions) includes the .NET Framework 3.5.1 as an OS component. " This means you will get the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1 plus a few post 3.5 SP1 bug fixes. The .Net Framework 3.5.1 can only be added or removed via the 'Programs and Features' -> "Turn Windows features on or off" UI.

Anyway, when I checked deeper into this I discovered that Microsoft essentially 'pseudo' installs .Net 3.5 on each of those operating systems. What I mean by 'pseudo installs' is that MS put a placeholder in the "Turn Windows features on or off" UI so that .Net 3.5 shows up in the 'Windows Features' list of available installed features (ie, like the one that you included in your screen capture) even thought it is not really installed. However, if you expand the .Net 3.5 feature, you will see that none of the .Net 3.5 components are actually installed on the OS. Following are screen captures of both Win 7 and Win 10 'Windows Feature' lists. You will see that the checkbox is 'blue' in the Win 7 Features list which 'technically' means that some features are installed. HOWEVER, if you expand the checkbox you can then see that NO Net 3.5 features are actually installed.
Win_Features.jpg
Win_Features.jpg (204.7 KiB) Viewed 12884 times


So, in answer to your question "how did you check that .Net 3.5 doesn't get enabled", I did two things...
1) looked at the 'WIndows Features' list to see if the .Net3.5 components had been installed and as you can see above, it was not.
2) I installed MS SQL 2014 Express (downloaded directly from MS... not the IA runtime), which will not install because it states that .Net 3.5 is missing from the OS.

I believe that I need to point out what I believe to be an error in your comment that Win7 has .Net 3.5 installed. It is not included as a fully installed framework in Win 7. There is absolutely no doubt that .Net 3.5 is not installed on my target machines and also that it is not being installed using the test project.

I have attached the test project for you to have a look at should you wish to do so.
SQL2014_32bit.zip
(3.08 MiB) Downloaded 349 times


According to the post that you originally redirected me to, installing the .net2 should add the necessary runtimes that will allow .Net3.5 to become enabled on a Win10 machine. The IA script seems to step through correctly, so this problem is occuring for reasons that I do not understand.

Any help is greatly appreciated
Thanks,
Steve
Last edited by Steve on Fri Oct 21, 2016 12:17 pm, edited 1 time in total.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby FrancescoT » Fri Oct 21, 2016 12:07 pm

Dear Steve,

first of all, the project you posted includes the application runtimes for; net2sp1, net35 and net3sp1, which are not required and even these don't get included by IA when selecting Net35sp2.

Second, the two .Net 3.5 components visible when expanding when expanding the .Net 3.5 feature, are just an optional selection. So to have the .Net 3.5 feature installed and enabled, it's just necessary to have the checkbox filled. I am totally sure of this.

Third, as reported by the Microsoft documentation;
"NET 4.0 is a requirement for SQL Server 2014. SQL Server installs .NET 4.0 during the feature installation step.
-If you are installing the SQL Server Express editions, ensure that an Internet connection is available on the computer. SQL Server Setup downloads and installs the .NET Framework 4 because it is not included in the SQL Server Express media."
https://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx

In fact, I just checked this with creating a test setup project that includes the "SQL Server express2014" application Runtime as available with IA X5 (This also causes the inclusion of Net 4.0). For what I see the installation gets completed correctly on both Win7 and Win10.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

Steve
Posts: 117
Joined: Fri Jun 16, 2006 9:51 pm
Location: Canada eh

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby Steve » Fri Oct 21, 2016 12:57 pm

Hi Francesco,
Well... this is just a little confusing for me in the way InstallAware is working! The MS SQL 2014 Express installer tells me that .Net 3.5 is missing and can't continue (Win7 x86 VM), but I will go back and reinstall my Win7 32 bit VM in order to start fresh with regard to .Net 3.5.1 being present by default or not. However, in the meantime I would like to clarify a few things

First off, what you have just written in patently incorrect. I am using IA X5 and if I enable Application Runtime "Microsoft .Net Framework 3.5 with Service Pack 1" (as I showed in my included screen captures), InstallAware automatically enables:
1) Microsoft .Net Framework 2.0 with Service Pack 2
2) Microsoft .Net Framework 3.0 with Service Pack 2
3) Microsoft .Net Framework 3.0
If these runtimes are not needed, then why does InstallAware automatically enable them?? I have to assume that if your programmers wrote the code to specifically enable these three additional runtimes, then they did it for a reason and not just in order to intentionally make InstallAware difficult and frustrating to use! :lol:
Additionally, the post that you originally directed me to clearly states that .Net 2 sp2 needs to be installed. You recommend looking at how the net2 script is written and also the person that you wrote the post to states that adding the .net 2 runtime solved his .net 3.5 installation problem... So it would appear that your developers actually add those runtimes automatically for a reason.

So, unless we are simply having some kind of communication misunderstanding, what you have just written does not seem to concur with InstallAware's behaviour nor with the post you originally directed me to...

Secondly, you made the following statement:
"first of all, the project you posted includes the application runtimes for; net2sp1, net35 and net3sp1, which are not required and even these don't get included by IA when selecting Net35sp2."
Sorry, but I don't understand? Who said anything about .Net3.5 SP2 ? Where did SP2 come from?
But since you mention .Net3.5 SP2, I have no application runtime for .Net3.5SP2 !!! Is that the problem here?
Where exactly do I get it from? ...because it does not seem to exist...anywhere.

Thirdly, you reference a Microsoft SQL 2014 post that clearly states exactly what it is I am trying to resolve. Regardless of the OS, I want InstallAware to install .Net3.5.1 and SQL 2014 and .Net 4 as needed. If I wanted to force my customers to have an internet connection (which is no longer the norm in most corporations these days) in order to start a SQL 2014 install only to have it abort and tell them to install .Net 3.5, then after enabling .Net3.5 restart the SQL install, only to have it tell them that they need an internet connection to install .Net 4, then I wouldn't have any need for InstallAware... would I?
The purpose of an installation package is to simplify an installation. That is what I am trying to do here.
Please! Help me to do that.

Would you please be so kind as to send me the test project that you refer to, so that I can see how you have managed to make this work. After reviewing your project, in return, I would be more than happy to post a full description of the solution for other IA users to refer to.


Thanks very much,
Steve
Last edited by Steve on Mon Oct 24, 2016 11:51 am, edited 1 time in total.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: How can I install .Net 3.5 using InstallAware on a Win10 OS ?

Postby FrancescoT » Mon Oct 24, 2016 9:06 am

Dear Steve,

for what concerns "Microsoft .Net Framework 3.5 with SP1" selection in IA X5, this will automatically include the following RTMs dependency;

- Microsoft Windows Installer 3.1
- Microsoft .NET Framework 2.0 with Service Pack 2
- Microsoft XML Parser 6.0
- Microsoft .NET Framework 3.0
- Microsoft .NET Framework 3.0 Service Pack 2

These are All correct and required in order to complete "Microsoft .Net Framework 3.5 with SP1" RTM installation correctly.

With the project you posted I found that this included also; " Microsoft .NET Framework 2.0 sp1, Microsoft .NET Framework 35 and Microsoft .NET Framework 3.0 sp1" ... IA doesn't include these RTMs when enabling "Microsoft .Net Framework 3.5 with SP1" and are NOT REQUIRED AT ALL.

Sorry, but I don't understand? Who said anything about .Net3.5 SP2 ? Where did SP2 come from?

I mistakenly wrote ".Net3.5 SP2 " instead of "Microsoft .Net Framework 3.5 with SP1" :oops:

******

Regarding the post I originally reported I believe there was I misunderstanding. By the way, just now I realize that the other person probably made the same mistake. Wth that post I only wanted to point the attention, to an alternative approach that can be used in order to enable ".NET 3.5" on those systems where .Net RTMs are pre-installed.

Specifically and in place to include the IA ".NET 3.5" application RTM, an alternative can be to write a small custom script which makes a call to the "DISM" tool.

"Deployment Image Servicing and Management (DISM.exe) is a command-line tool that can be used to service a Windows® image or to prepare a Windows Preinstallation Environment (Windows PE) image"
https://technet.microsoft.com/en-us/library/hh825236.aspx

So with that post I only suggested to have a look at the IA script file ("setupnet20sp2_x64.mia" ...or "setupnet2sp2.mia") to replicate the DISM approach within a custom script and not to include .Net 2.0 SP2 RTM.

*******
Attached you find the simple project I used to test the "MS SQL 2014 Sp2" installation. This also includes and installs "Microsoft .NET Framework 4.0" RTM because this is a requirement for SQL Server 2014. Otherwise if not already installed, SQL Server tries to download .NET 4.0 during the feature installation step. No other Net RTM package are required!

...anyway, I did not do anything special! Selecting "MS SQL 2014 Sp2" in IA X5 automatically adds the "Microsoft .NET Framework 4.0" RTM as well.

Hope this helps you.
Attachments
Test.rar
(2.42 MiB) Downloaded 343 times
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 34 guests