swiggins
Level 3

Install package created in VS2010 will not install correctly in Windows 8

Hi All

Hopefully this is the correct place to post and someone can help me.

I currently run VS2010 and have a program that I have created a setup package (using InstallShield bundled with VS2010).

The setup project has a .NET 3.5 SP1 prerequisite/requirement set for the setup package creation. This package works without any problems in XP, Vista, Win 7 32 & 64. If .NET 3.5 SP1 is not present it will install it, if it already installed it will proceed straight to the aplication install.......all is good!

On Windows 8 however it fails when running the setup with the message that 'Microsoft .NET 3.5 SP1 or greater need to be installed for this installation to continue'. It will not install .NET 3.5 (even though it shouldn't need to anyway) and the sutup will not continue.

I am confused for two reasons :

1. .NET 4.5 is part of Windows 8 and as such should this not be enough for the install to continue without prompting for .NET 3.5 ??

2. If for some reason .NET is not installed, the required the package should be installed by the installer, but it does not. The only way to complete the installation is to manually enable .NET 3.5 from the 'Turn Windows features on or off'. The setup package can then install successfully.

Does anyone have any experience/advice on how I may resolve this problem?

Thanks for reading

Steve
0 Kudos
8 Replies
DebbieL
Level 17

It sounds like you are using the Limited edition of InstallShield. There's an entire forum (InstallShield Limited Edition for Visual Studio forum) dedicated to that edition of InstallShield. I'll move your post to that forum.
0 Kudos
Lenwin
Level 10

Could you refer the below KB regarding Prerequisites for .NET Framework 3.5 SP1 on Windows 7 and Later, Windows Server 2008 R2 and Later

http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q...
0 Kudos
swiggins
Level 3

Hi

Thanks for the reply.

Now I am in the right forum I had found this post, but the link seems dead!!

Regards

Steve


Lenwin wrote:
Could you refer the below KB regarding Prerequisites for .NET Framework 3.5 SP1 on Windows 7 and Later, Windows Server 2008 R2 and Later

http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q...
0 Kudos
Lenwin
Level 10

If you are using IE 9 then ensure that you open the knowledge base article (http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q...) in compatibility mode. You may also try opening the link in any other browser.
0 Kudos
swiggins
Level 3

Hi Lenwin

Thanks for your post. I am getting closer to a working solution now. I have now got an install package working that no longer quits but enables .NET 3.5 SP1 on my windows 8 test machine. I still have a question......why does the installer package insist on installing .NET 3.5 SP1 when .NET 4.5 is already installed?
.NET should be backwards compatible (and in my case the application will run successfully under .NET 4.5 without the need of 3.5 SP1). I thought that the installer would not install .NET 3.5 SP1 if the required or a newer version of .NET is already installed.

Am I missing the point or am I doing something wrong in the setup package build process...I do not want .NET 3.5 SP1 installed if .NET 4 or 4.5 is already installed.

Thanks again for your help.

Regards

Steve
0 Kudos
swiggins
Level 3

Hi All

Am I to assume that there is no fix for my problem? My setup packing still insists on installing .NET 3.5 SP1 even when .NET 4.5 is installed. I am desperate for a solution....can anyone help?

Thanks

Steve
0 Kudos
Lenwin
Level 10

The below MSDN article shows how to enable .NET Framework 3.5 even when 4.5 is already installed.

http://msdn.microsoft.com/en-us/library/hh506443.aspx

This is how Microsoft has designed the installation of .NET Framework 3.5 on windows 8 machines.

Also the below statement from MSDN article may indicate the need for 3.5 SP1 when 4.5 already exists.

http://msdn.microsoft.com/en-us/library/bb822049.aspx

The .NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier .NET Framework versions. It is not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install the .NET Framework 3.5 SP1, you get the 2.0 and 3.0 layers automatically. However, the .NET Framework 4 ends this layering approach. Starting with the .NET Framework 4, you can use in-process side-by-side hosting to run multiple versions of the CLR in a single process. Apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5, but they will not work on version 4 or later.
0 Kudos
swiggins
Level 3

Hi Lenwin

As I mentioned in a previous posting I have tested my application on a windows 8 system with .NET 4.5 only installed (I did not enable .NET 3.5) and I know it works, so I do not need to enable/install .NET 3.5.

I thought Installshield checks for a version of .NET during install and if it finds a version newer (or the same) than the defined requirements then no .NET install should take place. Am I wrong about this?? I do not want to install .NET 3.5 if .NET 4.5 is already present on the machine.

Am I understanding prerequisites incorrectly?

Thanks for your help.

Steve
0 Kudos