The InstallLib macro allows you to install a library. It sets the error flag if something went wrong during library setup.

    To ask the user for a reboot, if required, use the Modern UI with a Finish page or use and make your own page or message box.

    libtype

    The type of the library

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

    shared

    Specify whether the library is shared with other applications

    install

    Specify the installation method

    REBOOT_PROTECTED

    • Upgrade the library on reboot when in use (required for system files).
    • Upgrade the library if the file is not protected by Windows File Protection.

    NOREBOOT_PROTECTED

    • Warns the user when the library is in use. The user will have to close applications using the library.
    • Upgrade the library if the file is not protected by Windows File Protection.

    REBOOT_NOTPROTECTED

    • Upgrade the library on reboot when in use (required for system files).
    • Upgrade the library without checking for Windows File Protection.

    NOREBOOT_NOTPROTECTED

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

    localfile

    destfile

    Location to store the library on the user's system

    tempbasedir

    Directory on the user's system to store a temporary file when the system has to be rebooted.

    For Windows 9x/ME support, this directory should be on the same volume as the destination file (destfile). The Windows temp directory could be located on any volume, so you cannot use this directory.

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

    B.2.3.1 LIBRARY_X64

    • Installs a DLL built for Windows x64.

    B.2.3.2 LIBRARY_SHELL_EXTENSION

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

    B.2.3.3 LIBRARY_COM

    • Define this before inserting InstallLib macro to call CoFreeUnusedLibraries after registration.
    • Use this for unloading all unnecessary libraries from memory when installing COM libraries.

    B.2.3.4 LIBRARY_IGNORE_VERSION

    • Define this before inserting InstallLib macro to ignore version information in the file and always install it, even if it already exists.
    • Use this when an older or specific version is required.
    • Not recommended for DLLs installed to $SYSDIR.

    B.2.3.5 LIBRARY_INSTALL_EQUAL_VERSION

    • Define this before inserting InstallLib macro to overwrite the file even if the version is the same as the existing file.
    • If you need to support Windows 9x/ME, you can only use short filenames (8.3).
    • Warning: Always use redistributable files when deploying DLLs, never copy files from your system directory!

    B.2.5.1 Unshared DLL

    B.2.5.2 Shared DLL