Sumsie logo

Project Sumsie

Welcome to Sumsie project page!

To get the binary, installator or source file, visit sourceforge page at

Sumsie is an easy-to-use editor of Microsoft Installer files (.msi). MSI files are file-based databases which contains description about how to install a software. If you double-click the .msi file under MS Windows, Windows Installer service reads this database and install the software according this description.
If you are not familiar with the structure of MSI files, you can get into it by reading documentation from Microsoft Windows Installer SDK (which is now unfortunatelly part of Windows SDK). Get it from

The most famous tool for editing MSI database is Microsoft Orca. But Sumsie has all featues of Orca, offers automatic built-in validation of all inserted values and has also some more advanced functions like batch filling of several tables. So if you need to edit any MSI file, you should definitelly try it!


To install Sumsie simply run sumsie.msi installer. You need .NET Framework 3.5 to run it, download it from Microsoft pages.

You can also just get and extract the files, but one feature will not work without installation. Because ICE tests are run using evalcom2 COM object (see Installer SDK), you need to registrer this library first. Sumsie installer will do this for you.


There are several basic features offered by both MS Orca and Sumsie:

But there are also some more advanced features:


Sumsie is using modular design. There is a small core offering interface for modules and all functions are done by them. So if you are missing some function in Sumsie, it is quite easy to add a new module offering it!

To add a new feature, you need a Microsoft Visual Studio (because Sumsie is written in C#). Then:

  1. Download Sumsie source from the project page (at
  2. Open solution file (.sln) in Visual Studio
  3. Add a new project of Class library type
  4. Add a project reference to Application Interface project
  5. Create a public class inherited from ApplicationInterface.ModuleBase class
  6. Create new User Controll object for user interface
  7. Create a resource file and insert a module icon into it.
  8. Write in constructor for your now class, which will assing a module name and icon into ModuleBase (see constructors of Controller classes of other modules)
  9. Now, you can add any other user input objects and any other code. To work with MSI database you can use all classes from ApplicationInterface project. You get an instance of IMsiModel interface which represents whole MSI database as a parameter of your constructor.