G
Guest
I use Visual Studio 2005 to deploy my application.
I have a Custom Action .dll that's called during the Install phase. (The
entry point is the standard Install( MSIHANDLE ).)
I'm installing a .CAB file and am calling SetupIterateCabinet() from this
Custom Action .dll and it is returning ERROR_ACCESS_DENIED.
Appears as though Custom Action .dll's are not run with the UAC elevated
privileges of the .msi file.
I tried adding a .manifest to give the .dll elevated privileges, but then
Windows XP barks that there is an unrecognized token. I need this .msi file
to run under both Windows XP, Windows 2000, and Windows Vista.
Because this is a Custom Action .dll there is no way I can wrap the function
in a COM object and call it with the CoCreateInstanceAsAdmin() (or whatever
it is called).
Is there some other method I can use to insure that the Custom Action runs
with the appropiate privileges so that the SetupIterateCabinet() call will
succeed?
Thanks!
-Mike.
I have a Custom Action .dll that's called during the Install phase. (The
entry point is the standard Install( MSIHANDLE ).)
I'm installing a .CAB file and am calling SetupIterateCabinet() from this
Custom Action .dll and it is returning ERROR_ACCESS_DENIED.
Appears as though Custom Action .dll's are not run with the UAC elevated
privileges of the .msi file.
I tried adding a .manifest to give the .dll elevated privileges, but then
Windows XP barks that there is an unrecognized token. I need this .msi file
to run under both Windows XP, Windows 2000, and Windows Vista.
Because this is a Custom Action .dll there is no way I can wrap the function
in a COM object and call it with the CoCreateInstanceAsAdmin() (or whatever
it is called).
Is there some other method I can use to insure that the Custom Action runs
with the appropiate privileges so that the SetupIterateCabinet() call will
succeed?
Thanks!
-Mike.