Is it possible to examine an existing installer and determine if it is a WIX / WISE / OtherTechnology installer?
2 Answers
The Windows Installer spec covers this:
Creating Application Summary property
ORCA doesn't show this field for some reason but a quick snippet of code reveals it:
using Microsoft.Deployment.WindowsInstaller;
foreach (string file in Directory.GetFiles(@"C:\windows\installer", "*.msi", SearchOption.TopDirectoryOnly))
{
using (Database database = new Database(file, DatabaseOpenMode.ReadOnly))
{
Console.WriteLine("{0} : {1}", database.ExecutePropertyQuery("ProductName"), database.SummaryInfo.CreatingApp);
}
}
Returns interesting results...

- 54,556
- 6
- 63
- 100
-
That is interesting. I have a about a dozen Windows Installer packages that say their creator is "Windows Installer". Literally, that seems improbable, but happens to be the value used by, for one, Visual Studio Installer (VS 2010). – Tom Blodget Aug 06 '13 at 08:11
-
1Yes, ORCA.msi for example says that. Remember that Windows Installer started as a platform service and SDK. The SDK contains just enough utilities and scripts to actually create an MSI database if you are so crazy enough to do so. :) These tools were used to create the ORCA.msi that shipped with the SDK. These utilities brand the MSI as "Windows Installer". It should be noted that Microsoft developed a number of tools in house besides WiX. All of these tools probably write "Windows Installer" in order to hide their existence. – Christopher Painter Aug 06 '13 at 12:15
All files can be checked with Windows Explorer: Right-click » Properties then Verison or Details. It may not be conclusive. By default, Windows Installer packages built with WiX indicate that in a property viewable with Windows Explorer. For full access to Windows Installer packages, you can use Orca from the Windows SDK or InstMSI, among others. If there are custom action binaries, you can extract those (as DLLs) and check them, too. Custom actions may also use certain naming conventions for properties or custom tables. For example, WiX uses WIX_... for some property names. Similarly, Dialogs might have recognizable names or control layouts.
For executables, try CFF Explorer or UniExtractor. Also, the.exe /?
might just tell you.
But, in general, there is no specification or practical requirement that an installer builder or runtime should be identifiable.

- 20,260
- 3
- 39
- 72
-
Yes, there is a specification and all the tools that I know populate it. They wouldn't miss out on an opportunity to promote themselves. – Christopher Painter Aug 06 '13 at 04:26
-
That's true for Windows Installer packages, and, if populated, _is_ the information displayed by Windows Explorer. But, the question isn't limited to Windows Installer. In any case, a quick check with Windows Explorer should give any information that the product uses to intentionally indicate the installer's production software. – Tom Blodget Aug 06 '13 at 07:24
-
Sorry, I read too much focus on Windows Installer in the question and tags. – Christopher Painter Aug 06 '13 at 12:18