Thanks for the reply Shakti109,
Do you know how to identify the registry key that stores the installation path for an application?
Main Topics
Browse All TopicsA while back I created an installer for a .Net application using the VS 2005 "Setup Project" project type. Including all the prerequisite installers the package comes out to be about 50 mb. Now I need to release a data update for the application via the web and I don't want the users to have to download an entire 50 mb installation package again. Is there a simple way to create a patch in Visual Studio 2005 that will detect where the program is installed and then overwrite the data files with the new versions? Or can anyone give me some suggestions on how to deploy the new data files so that the end user can easily update their installation?
Thank you in advance!
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Indeed, you are looking for this : HKEY_LOCAL_MACHINE\SOFTWAR
You simply loop over the subkeys for the application, having found a match you query the "InstallLocation" value.
When you look into this key you will notice some very strange sub-key names, things like :
HKEY_LOCAL_MACHINE\SOFTWAR
This is actually the Direct X 9.0 SDK. If the sub-key isnt named for what it is, the "DisplayName" value under the key will tell you what it is.
So :
1) Enumerate the subkeys under : HKEY_LOCAL_MACHINE\SOFTWAR
2) For each subkey, query the "DisplayName" value.
3) If there is a match, query the "InstallLocation" value.
You can of course shorten this down vastly by installing your appliction, looking for the subkey it generates and instead of looping through all the keys on a target simply go directly to that subkey and query the values.
Business Accounts
Answer for Membership
by: Shakti109Posted on 2007-03-06 at 12:20:55ID: 18665000
The VS2005 setup package generates a windows installer package which will drive the ways you can update something installed in this manner.
I am going to assume you did'nt do things like add a "self-heal" point to the installer package, or use a third party tool to dig into the installer to add things like custom-actions.
If your install does not self-heal, has no custom actions that may be fired by components when called/etc, then it is entirely possible to simply overlay new files onto the existing installation (via file copy).
This could be as simple as checking the installed programs registry key for the location of where you installed it (you can do this in a few lines of code), then copying files down based on that root directory.
The caveat to that is of course when it comes time to un-install. An .MSI based installation (which is what the visual studios create) will only un-install/remove things IT laid down. If you copy in a new version of a file, it wont get removed at un-install because the installer manifest sees it did not put it there, so it skips it.
The other ways to do this are to make a true patch (a .MSP file), or the way you said you didnt want to go.
Enterprise packaging tools like WISE and Installshield can create patches and free tools like ORCA can.
The link below from Microsoft describes how to create a "patch" using ORCA.
http://support.microsoft.c