title: Error 1603 during MSI installation
body: <p>I am struggling with Windows Installer since 2 days now. I have a c# project under visual studio 2010, my application just fills a ControlTab using Spring.Net. The Spring configuration files are located in a library class (once again without custom actions everything work fine).</p>
  
  <p>Based on the Walkthrough: <a href="http://msdn.microsoft.com/en-us/library/9cdb5eda%28v=vs.100%29.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/9cdb5eda%28v=vs.100%29.aspx</a>. I created a simple project with the same structure as my project : a windows form application uses a spring configuration file located in a class library to initialize a button on my form. The custom action I implemented works fine for this simple project but when I do exactly the same step on my project, the installation of the msi file failed with the following error (retrieved with msiexe): </p>
  
  <pre><code>#DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog
  When installing this package, an unexpected error has occurred. This may indicate a problem with this package. The error code is 2835th Arguments: ErrorIcon, ErrorDialog,
  Error 1001. Error 1001. The installer types in the assembly C:\...\TestSpring.exe can not be queried. -&gt; At least one type in the assembly can not be loaded. Retrieve the LoaderExceptions property if you need further information.
  MSI (s) (60!C4) [09:10:37:263]: 
  MSI (s) (60:70) [09:10:37:263]: Leaked MSIHANDLE (111) of type 790531 for thread 20932
  MSI (s) (60:70) [09:10:37:263]: Note: 1: 2769 2: _489C2921_6B59_42E8_A55A_399B1A3D2382.install 3: 1 
  DEBUG: Error 2769:  Custom Action _489C2921_6B59_42E8_A55A_399B1A3D2382.install did not close 1 MSIHANDLEs.
  When installing this package, an unexpected error has occurred. This may indicate a problem with this package. The error code is 2769. Argumente: _489C2921_6B59_42E8_A55A_399B1A3D2382.install, 1, 
  CustomAction _489C2921_6B59_42E8_A55A_399B1A3D2382.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
  Aktion beendet um 09:10:37: InstallExecute. return value 3.
  </code></pre>
  
  <p>I guess the error is the one with code 1603 when trying to install the application (I use the installer class given in the Walkthrough)</p>
  
  <p>I compared my two projects, there are no differences (my project is just bigger than the one used to test custom action)</p>
  
  <p>I tried that:
  <a href="https://stackoverflow.com/questions/5430602/my-installation-failed-missing-dll-what-do-i-do-to-correct-this">My installation failed (missing DLL). What do I do to correct this?</a>: setting all the projects checked as Build and try to change the configuration from Debug to Release. Once that done I close the property windows, reopen it: the mode is not Release anymore but Debug.
  I used msiexe and orca to try to find the reason of my error but I could not find it.</p>
  
  <p>I read: <a href="https://stackoverflow.com/questions/16693048/windows-installer-error-1001-customaction-xxxxx-install-returned-actual-error">Windows installer: Error 1001, CustomAction _xxxxx.install returned actual error code 1603</a> but it does not seem to be the same error as in my case</p>
  
  <p>Any idea on what I could check?</p>
  
  <p>ps: I tried my project with a custom action but with InstallerClass set to False, the application is then launched before the end of the installation, I close the application and then the installation runs till its end. Is it normal that the application is launched before the end of the installation?</p>
  
  <p><strong>update1</strong>:</p>
  
  <p>I did all the process again on my project:</p>
  
  <ul>
  <li>creating an installer class </li>
  <li>set Installclass to True</li>
  </ul>
  
  <p>BUT I did not implement any of the method of the class Installer, so my Installer1 class is:</p>
  
  <pre><code>[RunInstaller(true)]
  public partial class Installer1 : System.Configuration.Install.Installer
  {
      public Installer1()
      {
          InitializeComponent();
  ´   }
  }
  </code></pre>
  
  <p>And I still retrieve the same error. So the error does not come of my Installer1 class since my project with an Installer class with the default content also raises the same error. So does the error come from .NET? but then why did it work with the first test I made on my simple project?</p>
  
  <p><strong>update2</strong>:
  I created an installation without a folder to store the dll, the installation works. </p>
  
  <p>I created log files with msiexec and used logview but I have not found why my installer fails, even if the installation works without DLL folder, I still do not know why my installer fails when I define a folder where to store the dll.</p>