I have an application that needs to be delivered as a package.
It depends on what kind of EXE you are talking about.
MSI is setup package that is run by Windows Installer. If you make setup project with Visual Studio it will provide both MSI and EXE for you. EXE in this case just a bootstrapper (MSI or EXE) . It will run MSI after checks that Windows Installer is in place.
If you use other tools like InnoSetup, this EXE is a setup package itself, not a bootstrapper.
Regarding to your question about MSI editor: Orca MSI Editor .
If don't need need very complicated installer, I suggest using Visual Studio setup project as it is simple, yet powerful enough.
Many installers these days use MSI internally although they're distributed as EXE. You need an EXE to ensure all the prerequisites are installed: .NET framework, for example; and it installs the prerequisites if they're not. Then it extracts the MSI package which handles the rest of the installation.
MSI provides some advanced install features:
Though it takes some time to learn the technology.
You can do anything from an EXE file, while MSI is for installation only. Inno Setup and NSIS installation packages are distributed as exe files. They have a scripting language which describes installation steps.
WiX toolset has MSI decompiler called dark
.
I posted a summary of some MSI benefits (and problems) on serverfault.com:
https://serverfault.com/questions/11670/advantages-of-using-msi-files
MSI is a Microsoft Installer, it is newer than the older EXE, Wise Installer and many others support it. It allows for a smarter install with what needs to be deployed (like CAB files, and registry settings etc...) and it can check for previous installs etc..
MSI are ONLY installations, while EXE can do other things like run.
I would use InstallShield and build an MSI
I'm unsure about #2
You can just tell Visual Studio to make your application into an MSI/EXE. If that works and does what you want, just do that. It much effort on your part creating an installer.
MSI means you are using Microsoft's Installer. Microsoft has legitimate reasons for recommending (ie, not giving your application Certification) MSI. However, a good MSI is tough to produce, so I don't recommend it unless you need your application to be certified.
If you don't require certification, I recommend Inno Setup , along with a front-end like ISTool . It's easy to use and gives you simple interfaces to perform most common installer tasks. In a pinch, it supports scripting to allow you to do anything it doesn't support.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.