D
Dave S
I'm hoping someone here can give me ideas, or at least point me in the right
direction.
Our application (under XP) is capable of downloading and installing updates
to itself. An XML manifest is stored on the server, which outlines all the
updated files. However, since the format of this file might need to change
over time, the application itself isn't qualified to read this file.
Instead, it uses a DLL. The DLL is always up to date (i.e. able to read the
file manifest) because the application first downloads the latest version of
the DLL from the server. It then invokes code in the DLL, which processes
the manifest, creates a list of files that need to actually be downloaded,
and returns control to the application.
Next, the application needs to exit, and allow the files to be installed
(one of which is invariably the application itself). This process is handed
over to another exe, which the application downloads the latest version of
as well. The installer reads the manifest, examines the downloaded files,
installs everything, and then re-launches the main application.
All of this is working under XP. When it comes to Vista, we obviously are
going to encounter some challenges.
The primary problem is that the application, which must run as a standard
user, has to somehow download a DLL and an EXE, and place them into
CSIDL_PROGRAM_FILES_COMMON.
Is there any way to do this? (At this point I'm just assuming that I
wouldn't be able to download them to anywhere outside of \Program Files and
still be able to execute them.)
Also, if I'm able to get the update installer exe written somewhere, will
the application (which is currently marked as asInvoker) be able to execute
the installer, which is marked requireAdministrator?
Thanks,
Dave
direction.
Our application (under XP) is capable of downloading and installing updates
to itself. An XML manifest is stored on the server, which outlines all the
updated files. However, since the format of this file might need to change
over time, the application itself isn't qualified to read this file.
Instead, it uses a DLL. The DLL is always up to date (i.e. able to read the
file manifest) because the application first downloads the latest version of
the DLL from the server. It then invokes code in the DLL, which processes
the manifest, creates a list of files that need to actually be downloaded,
and returns control to the application.
Next, the application needs to exit, and allow the files to be installed
(one of which is invariably the application itself). This process is handed
over to another exe, which the application downloads the latest version of
as well. The installer reads the manifest, examines the downloaded files,
installs everything, and then re-launches the main application.
All of this is working under XP. When it comes to Vista, we obviously are
going to encounter some challenges.
The primary problem is that the application, which must run as a standard
user, has to somehow download a DLL and an EXE, and place them into
CSIDL_PROGRAM_FILES_COMMON.
Is there any way to do this? (At this point I'm just assuming that I
wouldn't be able to download them to anywhere outside of \Program Files and
still be able to execute them.)
Also, if I'm able to get the update installer exe written somewhere, will
the application (which is currently marked as asInvoker) be able to execute
the installer, which is marked requireAdministrator?
Thanks,
Dave