SetupIterateCabinet failing from Custom Action .dll

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top