Overwriting files with UAC elevation
Posted: Thu Nov 24, 2011 6:31 am
Hi,
IA12, Native Engine.
My installer is trying to install files in a directory under C:\Program Files.
I have these split into two groups, 'always overwrite' and 'never overwrite'.
I am finding that the 'always overwrite' group will be installed if not yet present, but are not installed if a file of the same name (different content) was already present.
The actual lines in the installer are like this:
Comment: Install 'never overwrite' files.
Set Variable NATIVE_OVERWRITE to NEVER
Install Files ... (the 'Never Overwrite' checkbox is checked)
I think this is working OK.
followed by:
Comment: Install 'always overwrite' files.
Set Variable NATIVE_OVERWRITE to ALWAYS
Install Files ... (the 'Never Overwrite' checkbox is unchecked)
It is these files which are not overwriting existing ones.
If I uninstall, they are not removed (as the installer had not installed them).
I don't know whether the checkbox on the dialog is intended to be scoped out by the variable, hence the 'belt an braces' settings.
I have tried setting the Project Settings→Project →Summary →UAC Elevation setting to either Elevate Administrators Only or Always Elevate, and have seen no difference with the above behaviour. I believe that the elevation is actually happening (in case you think a security policy is inhibiting it). At least, the elevation permission dialog is displayed.
Do you have any ideas please, or do you need further information?
Nick
IA12, Native Engine.
My installer is trying to install files in a directory under C:\Program Files.
I have these split into two groups, 'always overwrite' and 'never overwrite'.
I am finding that the 'always overwrite' group will be installed if not yet present, but are not installed if a file of the same name (different content) was already present.
The actual lines in the installer are like this:
Comment: Install 'never overwrite' files.
Set Variable NATIVE_OVERWRITE to NEVER
Install Files ... (the 'Never Overwrite' checkbox is checked)
I think this is working OK.
followed by:
Comment: Install 'always overwrite' files.
Set Variable NATIVE_OVERWRITE to ALWAYS
Install Files ... (the 'Never Overwrite' checkbox is unchecked)
It is these files which are not overwriting existing ones.
If I uninstall, they are not removed (as the installer had not installed them).
I don't know whether the checkbox on the dialog is intended to be scoped out by the variable, hence the 'belt an braces' settings.
I have tried setting the Project Settings→Project →Summary →UAC Elevation setting to either Elevate Administrators Only or Always Elevate, and have seen no difference with the above behaviour. I believe that the elevation is actually happening (in case you think a security policy is inhibiting it). At least, the elevation permission dialog is displayed.
Do you have any ideas please, or do you need further information?
Nick