[This is preliminary documentation and subject to change.]
An MsiInstall object must be created initially to load the automation support that is required to access the installer components through COM. This object provides wrappers to create the top-level objects and access their methods. These wrappers simply provide parameter translations to expose the installer functions in a manner consistent with Microsoft® Visual Basic® without changing the behavior of the methods. When possible, a pair of Get and Set C++ methods are exposed to Visual Basic as a single property. Where appropriate, C++ methods taking an index argument are exposed as an indexed property. Many C++ methods return the result through a parameter because the return value is used for the error return. However, in Visual Basic, errors are handled by a separate mechanism, and the result is always passed in the return value.