Setup & Deployment projects - .Net Framework detection and config file management - how to?

D

Darwin Fisk

I have an app that is deployed that uses .config file settings. I have an
update of that app that I am installing using a setup and deployment
project. The basic setup process works fine. Now I want to get a little
fancier.

I need to have the setup process check for the existence of the .NET
Framework and install it if it is not present. How do I do this?

To carry this even a step further, how do I detect the VERSION of .NET
Framework, if installed, and verify it is the correct one for this
application build? If it is not the correct version, can two version of the
..NET Framework run simultaneously on the same machine?

My application uses <application>.exe.config files. I need to merge the
data in the existing .config file, if one exists, with an updated .config
file. This way I can enhance the .config structure while retaining
configuration settings already on the target machine. How do I do this?

Do you know of a good resource for learning more about setup and deployment
projects? I can't seem to find much info at my level. Of course that may
just mean I need to bring my level up a notch or two.... Thanks for any
help!

Let me know,
DAF
 
M

Matthew Wetmore [MSFT]

As for the side by side issues, have a look at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/sidexsidenet.asp
http://support.microsoft.com/default.aspx?scid=kb;en-us;818641 - this is a
whitepaper on the topic.

The .Net Framework redistributable page is at:
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp

As for detecting the version, the closest article I found was:
http://support.microsoft.com/default.aspx?scid=kb;en-us;315291

You can look further if you need later versions than the above article
mentions.
 
P

Phil Wilson

That article about version detection completely ignores that fact that there
is a MsiNetAssemblySupport property which returns a string containing the
latest version of the framework on the system. If you require a minimum
level, add a launch condition similar to MsiNetAssemblySupport
="1.0.3705.288" and a suitable message.

Launching is trickier, especially if you need to install the base and a
service pack. It's nearly always better to ask the user to do it manually
(localized versions might be an issue too).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top