The UnInstallLib macro allows you to uninstall a library. It sets the error flag if something went wrong during library removal.

    libtype

    The type of the library

    DLL - Dynamic link library (DLL) REGDLL - DLL that has to be unregistered REGEXE - EXE COM server that has to be unregistered using /unregserver TLB - Type library or DLL that contains a type library REGDLLTLB - DLL that has to be unregistered and contains a type library

    shared

    NOTSHARED - The library is not shared SHARED - The library is shared and should be removed if the shared library count indicates that the file is not in use anymore..

    uninstall

    Specify the uninstallation method

    NOREMOVE

    • The library should not be removed. You should use this option for common or important system files such as the Visual Basic/C++/MFC runtimes.

    REBOOT_PROTECTED

    • Remove the library on reboot when in use (required for system files).
    • Remove the library if the file is not protected by Windows File Protection.
    • Warns the user when the library is in use. The user will have to close applications using the library.
    • Remove the library if the file is not protected by Windows File Protection.

    REBOOT_NOTPROTECTED

    • Remove the library on reboot when in use (required for system files).

    NOREBOOT_NOTPROTECTED

    • Warns the user when the library is in use. The user will have to close applications using the library.
    • Remove the library without checking for Windows File Protection.

    file

    Location of the library

    any of the following before inserting a UnInstallLib macro to modify its behavior as specified.

    B.3.3.1 LIBRARY_X64

    • Uninstalls a DLL built for Windows x64.
    • Warning: This resets SetRegView and file system redirection.

    B.3.3.2 LIBRARY_SHELL_EXTENSION

    • Define this before inserting UninstallLib macro to call SHChangeNotify with SHCNE_ASSOCCHANGED after unregistration. Use this to refresh the shell when uninstalling a shell extension or when changing file associations.

    B.3.3.3 LIBRARY_COM

    • Define this before inserting UninstallLib macro to call CoFreeUnusedLibraries after unregistration. Use this for unloading all unnecessary libraries from memory when uninstalling COM libraries.