Wednesday, April 16, 2014

Windows Installer

The Windows Installer (previously known as Microsoft Installer) is a software component used for the installation, maintenance, and removal of software on modern Microsoft Windows systems. The installation information, and often the files themselves, are packaged in installation packages, loosely relational databases structured as COM Structured Storages and commonly known as "MSI files", from their default file extension. Windows Installer contains significant changes from its predecessor, Setup API. New features include a GUI framework and automatic generation of the uninstallation sequence. Windows Installer is positioned as an alternative to stand-alone executable installer frameworks such as older versions of InstallShield and NSIS.

Microsoft encourages third parties to use Windows Installer as the basis for installation frameworks, so that they synchronize correctly with other installers and keep the internal database of installed products consistent. Important features such as rollback and versioning depend on a consistent internal database for reliable operation. Furthermore, Windows Installer facilitates the principle of least privilege by performing software installations by proxy for unprivileged users.



Key path:

A key path is a specific file, registry key, or ODBC data source that the package author specifies as critical for a given component. Because a file is the most common type of key path, the term key file is commonly used. A component can contain at most one key path; if a component has no explicit key path, the component's destination directory is taken to be the key path. When an MSI-based application is launched, Windows Installer checks the existence of these critical files or registry keys (that is, the key paths). If there is a mismatch between the current system state and the value specified in the MSI package (e.g., a key file is missing), then the related feature is re-installed. This process is also known as self-healing or self-repair. No two components should use the same key path.

Rollback:

All installation operations are transactional. For each operation that Windows Installer performs, it generates an equivalent undo operation that would undo the change made to the system. In case any script action fails during deferred execution, or the operation is cancelled by the user, all the actions performed until that point are rolled back, restoring the system to its original state. Standard Windows Installer actions automatically write information into a rollback script; package authors who create custom actions that change the target system should also create corresponding rollback actions (as well as uninstall actions and uninstallation-rollback actions). As a design feature, if applied correctly this mechanism will also rollback a failed uninstall of an application to a good working state.


Name Publisher Description License Website
AdminStudio Flexera Software A suite of tools for system administrators that need to repackage vendor installations into MSIs. Includes InstallShield (see below) as the installation editor as well as tests for application conflicts, MSI best practice rules, OS Compatibility, and application virtualization suitability. It can also convert MSIs into one or more application virtualization formats. It also can publish MSIs and virtual packages to in with several systems management systems.[15] Shareware www.flexerasoftware.com/adminstudio
Advanced Installer Caphyon Ltd. An installer that features one freeware edition and four commercial editions. Can create, validate and edit .msi packages. Freemium www.advancedinstaller.com
EMCO MSI Package Builder EMCO Software An installation editor that allows creating new MSI packages and converting non-silent EXE setups to silent MSI packages for unattended remote installation. Shareware emcosoftware.com/msi-package-builder
Install Time Savage Fly Corp. A full featured commercial installer and packaging tool for Windows Installer installations. Can create, validate and edit .msi packages. Shareware www.savagefly.com
InstallAware InstallAware Software A commercial setup creator that comes in four commercial editions. Shareware www.installaware.com
InstallShield Flexera Software InstallShield is a software tool for creating installers or software packages primarily used for installing software for Microsoft Windows desktop and server platforms. Shareware www.installshield.com
InstEdit Google Code InstEd is a free .msi editor. Paid version with more features available also. Freeware www.instedit.com
IsWiX CodePlex Industrial Strength Windows Installer XML (IsWiX) is a document editor based on the Fireworks Application Framework. IsWiX enables non-setup developers to collaborate with setup developers using WiX projects. Microsoft Public License iswix.codeplex.com
Microsoft Visual Studio Microsoft Microsoft Visual Studio (2002, 2003, 2005, 2008, and 2010) is capable of building Windows Installer Deployment projects that can create installer packages.[16] Microsoft has dropped support for deployment projects in 2012 and recommends using WiX instead.[17] Shareware www.microsoft.com/vstudio
MSI Studio ScriptLogic An .msi editor aim towards system administrators who wish to repackage installation packages or optimize the installation for their own environment/needs. Shareware www.scriptlogic.com
Orca.exe Microsoft Orca.exe is a database table editor for creating and editing Windows Installer packages and merge modules. Non-free msdn.microsoft.com/en-us/library/windows/desktop/aa370557.aspx
Patch Creator Laika42 Patch Creator is a tool for creating Windows Installer Patches (.msp). Shareware www.laika42.com/en-us/products.aspx
WiX CodePlex WiX (Windows Installer XML) is a free and open-source set of tools that helps build a Windows Installer packages from an XML document. It can be either used from command-line or integrated into Microsoft Visual Studio. SharpDevelop, a free and open-source alternative to Visual Studio has adopted WiX.[18] Common Public License wix.codeplex.com
7-Zip Igor Pavlov 7-Zip is an open source file archiver utility, and can extract the contents of MSI files.[19] GNU Lesser General Public License www.7-zip.org

2 comments:

Jason said...

Thanks for breaking this down

newworld said...

Thanks for your comment.
Please Check out our recent year which contains mostly own research work regarding malware samples in the trend.
And please share this with your community.

newWorld

Operating system - Part 1:

 In our blog, we published several articles on OS concepts which mostly on the perspective for malware analysis/security research. In few in...