Esempio n. 1
0
 /// <summary>
 /// Obtains and stores the user information and product ID from an installation wizard.
 /// </summary>
 /// <remarks><p>
 /// This method is typically called by an application during the first run of the application. The application
 /// first gets the <see cref="ProductInstallation.ProductId"/> or <see cref="ProductInstallation.RegOwner"/>.
 /// If those properties are missing, the application calls CollectUserInfo.
 /// CollectUserInfo opens the product's installation package and invokes a wizard sequence that collects
 /// user information. Upon completion of the sequence, user information is registered. Since this API requires
 /// an authored user interface, the user interface level should be set to full by calling
 /// <see cref="Installer.SetInternalUI(InstallUIOptions)"/> as <see cref="InstallUIOptions.Full"/>.
 /// </p><p>
 /// The CollectUserInfo method invokes a FirstRun dialog from the product installation database.
 /// </p><p>
 /// Win32 MSI API:
 /// <a href="http://msdn.microsoft.com/library/en-us/msi/setup/msicollectuserinfo.asp">MsiCollectUserInfo</a>
 /// </p></remarks>
 public void CollectUserInfo()
 {
     if (this.properties == null)
     {
         uint ret = NativeMethods.MsiCollectUserInfo(this.InstallationCode);
         if (ret != 0)
         {
             throw InstallerException.ExceptionFromReturnCode(ret);
         }
     }
 }