DLLs don't register correctly with UAC turned on

Discussion in 'Windows Vista Security' started by Scott Heimendinger [MS], Jun 4, 2007.

  1. I created an MSI package using the VS2005 tools to register a DLL for use in
    a Vista gadget. For the gadget to recognize the DLL, it must be visible
    through COM. On machines with UAC disabled, the installation works fine.
    However, if the machine has UAC enabled, the MSI appears succesful, but the
    DLL is not visible to the gadget.

    How can I fix this issue and make the DLL visible even for users with UAC

    (for debugging purposes)
    On UAC-enabled machines, the following steps make the DLL visible to the
    1. Close the Vista SideBar.
    2. Uninstall <<Program Name>> from the Control Panel.
    3. Open the GAC (usually c:\windows\assembly) and find <<DLL Name>>.
    Right-click the file and choose "Uninstall".
    4. Copy <<DLL Name>> to your local machine from <<Network Location>>.
    5. Open the Visual Studio 2005 Command Prompt (under Programs > Visual
    Studio 2005 > Visual Studio Tools) and navigate to the local folder you used
    in step 4.
    6. Run the following commands:
    regasm /uninstall <<DLL Name>>
    gacutil /if <<DLL Name>>
    regasm <<DLL Name>>
    7. Open the SideBar. Everything should work now.

    Thank you,
    Scott Heimendinger
    SDET, Microsoft Office PerformancePoint Server
    Scott Heimendinger [MS], Jun 4, 2007
    1. Advertisements

  2. several follow-ups in microsoft.public.windows.msi
    Adrian Accinelli, Jun 6, 2007
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.