Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>MSI pros:</p> <ul> <li>Application/service/site gets installed and registered like most other Windows apps, and shows up in Add/Remove programs</li> <li>Some built-in support for re-installing, upgrading</li> <li>Has some built-in support for installing Windows services/IIS sites/lower-level Windows features</li> </ul> <p>MSI cons:</p> <ul> <li>Seems really cryptic once you get "under the hood"</li> <li>Seems more difficult to customize than using a custom script</li> </ul> <p>Script pros:</p> <ul> <li>Easier to customize, although certain steps might require lots of/cryptic scripting (working with IIS, lower-level computer administration)</li> <li>Don't have to deal with low-level weirdness of MSI</li> </ul> <p>Script cons:</p> <ul> <li>.bat scripting is not the most readable or writable language. (Powershell is better, but then you have to worry about whether Powershell is installed on the target machine).</li> <li>Low-level operations require a lot of administrative scripting for commit/rollback behavior</li> <li>No built in support for installing or rolling-back (MSI has some support built-in)</li> </ul> <p>One thing I've come across that helps with MSIs is WiX (<a href="http://wix.sourceforge.net/" rel="nofollow noreferrer">http://wix.sourceforge.net/</a>), but even WiX seems pretty cryptic in a lot of ways. We use a combination of MSBuild and WiX to do automated builds and deployment/installs, and it works okay for us.</p> <p>Overall, I'd probably lean more towards doing MSI/WiX (or other installer toolkit) deployments over scripts. MSIs are the standard way of doing installs on Windows, and once you get it working, you usually don't have to change too much. MSBuild or some other build framework (NAnt, etc.), can be useful for setting up the deployment (renaming files, doing string replacements, etc.), before putting together the final MSI package.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload