Search code examples
c#visual-studiowizardbin

When publishing a project, what's the benefit in using a wizard rather than just supplying the bin folder?


If my understanding is correct, for a self contained project you can just copy the bin folder and run it perfectly fine.

What then is the use of a wizard? I prefer not having to use a wizard if I don't have to.


Solution

  • Typically you would make an installer for a few reasons:

    1. you may need to do custom actions in addition to just copying the files in the "\bin" folder. For example:

      • Detect Dependencies
      • Set keys in the registry
      • Install a windows service
      • Check the windows settings to further customize the install.
      • Install assemblies into the GAC.
    2. You may need to perform some action that requires Administrative privileges. The installer can handle the escalation of privileges for you.

    3. It is generally a "nicer" experience for an end user to see a real installer.

    4. An installer will make an "uninstall" item in the Add/Remove programs list in Windows.

    5. Instead of copying / distributing / downloading multiple files (.exe, several .dlls, .config, etc) you can package them into a single .msi file.

    This is just a few reasons why you might want to use an installer. That of course doesn't mean it is the only choice. Just one that makes sense for a lot of cases.