We have an application for which we want to install only the basic shell. As users use it, it will download and install the necessary DLLs for the actions that must happen (imagine a wizard application script with several possible paths). Currently, everything is installed for all possible paths through the shell application.
For about 3 months a year, the DLL used for possible paths has gone through a high outflow speed with updates, so we want to start providing users with the latest version of these DLLs. The idea is that after all of them are done, we will do a web check to find out which DLLs are needed to select them and make sure that they have the latest version of these files.
All this we have a plan for how to do this. The problem I'm struggling with is the most appropriate way to “install” these files. ClickOnce is not an option ... too much legacy. Our application is installed in "Program Files", which obviously has restrictions on writing random files to the program installation folder under Vista and later.
Now I see the following options:
- When installing, mark the installation directory as writable for the Everyone group. I didn't really check if this would work, or if Vista was doing something different in this case.
- Divide the download part into the second application so that we can request elevated privileges so that they can download and install these files.
I am inclined to the second option, since it supports the security aspect of the Program Files folder. Others in the group are inclined to the first option, because they simply do not want to worry about things. Or is there some other option that I am missing?
The application is a .NET application, although it has some requirements for third-party DLLs that are not controlled by failures.
source
share