cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Joseph_Schrag
Level 6

How do I change the prerequisite .NET Framework for my app?

I am using IS 2009 Pro to create a web installation of an ASP.NET 3.5 application. My app normally requires just the 3.5 .NET Framework. However, I have altered my install to use precompiled files. Now it must require the 3.5 framework sp1. When I run my install and then install 3.5 framework sp1 directly from microsoft, it works nicely. However, if I bundle the 3.5 framework sp1 with my install and have it run before my installation, I get an error saying the 3.5 .NET Framework must installed for the installation to continue. How do I set my project prerequisite framework to 3.5 sp1?
Labels (1)
0 Kudos
(5) Replies
schmoli
Level 6

I'd almost guess that somehow you lost your System Search that is populating your framework version.

First go to "Additional Tools -> Direct Editor", then to the "LaunchCondition" table... see if there is an entry there that contains the error message you are getting about not having .Net 3.5 (the property checked is usually DOTNETVERSION35).

Next go to "Behavior and Logic -> System Search"
you should have a registry value search that sets the property in the above condition, for example mine is:

Search For: Version
Search In: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
Store In: DOTNETVERSION35

If you lost the system search and still have a launch condition, you will keep getting the error even though you have upgraded to 3.5.
0 Kudos
Joseph_Schrag
Level 6

It appears that I have both the System Search and the launch condition. the launch condition is DOTNETVERSION35="3.5.21022.08". I am guessing this is the version for the original .NET 3.5 Framework not the SP1 version. Does anyone know the proper version number for the .NET 3.5 Framework SP1?
0 Kudos
schmoli
Level 6

Joseph Schrag wrote:
It appears that I have both the System Search and the launch condition. the launch condition is DOTNETVERSION35="3.5.21022.08". I am guessing this is the version for the original .NET 3.5 Framework not the SP1 version. Does anyone know the proper version number for the .NET 3.5 Framework SP1?


It's 3.5.30729.01, but you should change the condition to >="#3.5.30729.01" so that if a machine has a higher version it will still let you install... or set your prerequisite to never continue installation after failing and just drop the condition as you'll never get there unless it's installed.
0 Kudos
Joseph_Schrag
Level 6

Well, I got an interesting result. If I set it to look for that version number exactly, I still got the error. But, once I added the >= and the # in the version number it worked nicely. I will just leave it at that. Thanks for your help schmoli.
0 Kudos
Rimidalv_Veigro
Level 3

Joseph Schrag wrote:
Well, I got an interesting result. If I set it to look for that version number exactly, I still got the error. But, once I added the >= and the # in the version number it worked nicely. I will just leave it at that. Thanks for your help schmoli.


schmoli, what's the exact purpose of the # operator in the string literal?
As i've tested with DOTNETVERSION35 >="#3.5.30729.01" in the condition table, the two strings were compared char by char.

Does someone knows whether the Version number in the registry is writen in those format: 3.5.five_digits.two_digits
0 Kudos