Posted  by 

Create Mst For Msi

I’ve written a fair amount of code in my IT career and released a good number of Windows programs also, so a good tool to create Windows installer packages was always key. Each program would have a different set of needs, such as scripts, DLLs, security settings, etc., so one tool that could handle a complex set of requirements was necessary.

  1. Create Mst For Msi Download
  2. Create Mst For Msi Free
  3. Create Transform File For Msi Orca
  4. Create Mst File Msiexec
  5. Create Transform For Msi

Installing MNP2000.msi with the customization transform does not install the Gate feature, child features of the Gate feature, or any of the components of the Gate feature, even if the user selects the Complete type of installation. MST transform files. An MST-file contains transforms to be applied to a MSI file. A transform is usually a small configuration change. This is typically used to apply local configuration settings, for example to disable the automatic update feature of a software product. Mar 21, 2017  Create Blank MST.Create a new empty transform file (MST) for your MSI package using MSI Editor. All changes, made to the opened MSI database, will be saved to the MST file. Create Response MST.Capture all your inputs and changes, made to the Windows Installer UI dialogs of the MSI installation, and save them to the MST file using MSI Generator.

If you have the money or need tons of support, you can always go with InstallShield, the solid choice for many companies using Windows. We always used InstallShield in our early days as it came packaged with Visual Studio and Visual Foxpro.

However, it is not the only good software out there for creating Windows installers. In this article, I’m going to mention a couple of other free and paid (though much cheaper) utilities you can try out in your organization.

Nullsoft Scriptable Install System (NSIS)

If you love open source software, you may want to check out the Nullsoft Scriptable Install System (NSIS). NSIS is a professional system that you can use to create everything from very simple to very complex Windows installers. It’s small, yet has a large feature set, which makes it suitable for Internet distribution.

Create Mst For Msi Download

As you can tell by the name, NSIS is script-based, which allows you to create logic as complicated as you need to handle any situation. Luckily, for beginners, it also includes a bunch of plug-ins and pre-defined scripts to get you started.

Here is a short list of some of my favorite features of this MSI package creator:

  • Ability to create Windows installers that can install, uninstall, set system settings, extract files, and more.
  • NSIS has an overhead of only 34KB! It is by far the smallest Windows installer compared to InstallShield and Wise.
  • One installer that is compatible with all major version of Windows from Windows 95 to Windows 10.
  • Three compression methods (ZLib, BZip2, LZMA) to ensure the greatest compression for your installer packages.
  • Script based installer is better than other programs that just generate a list of files and registry keys. Using the script language, you can perform many different installation tasks like upgrades, version checks, system reboots, modification of environment variables, access to Windows API and more.
  • Create custom dialogs and interfaces to include user input, configuration options, and even a custom wizard interface.
  • Extend the capabilities of NSIS with plug-ins that can communicate with the installer.
  • Support for web installation and file patching across the Internet.

The program supports a tons of other features including installer self-verification using checksum, list and tree for component selection, silent mode for automated installations, full code editor for writing scripts, etc.

Advanced Installer

Advanced Installer also has a free version, but it also has several other versions that go up in price depending on how complex your installer needs to be. It’s updated very often and works extremely well.

If you’re looking for something more professional that also includes some options for support, then Advanced Installer is a good choice. If you want a feature breakdown between the five different versions they have, then check out the link. The free version actually has a lot of features and we were able to use that in our company for a long time because our installers were fairly simple.

One unique feature to Advanced Installer is Installer Analytics. It’s basically a set of tools to see how users install, use and uninstall your applications. You can easily see how large your user base is, load a survey when a user uninstalls the program, and get information about the user’s system and geographic location. All of this on a sleek and modern web interface that you can test yourself.

It also lets you easily repackage your applications into the new AppX format, which is required for the Universal Windows Platform. It doesn’t require any code changes and they have a free AppX converter tool. Those are just some of the unique features, but Advanced Installer pretty much covers all the bases. Check out the full list of features here for each edition.

Inno Setup

Inno Setup is an advanced Windows installer that is completely free and that has been around since 1997. It’s got a ton of features and works great for small businesses with moderately complex requirements.

Here is a list of some of the best features of Inno Setup:

  • Supports all versions of Windows from Windows 2000 up to Windows 10
  • Supports installation of 64-bit applications on 64-bit Windows
  • Supports the creation of a single EXE file for easy file distribution
  • Customizable setup types and full support for application uninstalls
  • Creation of shortcuts, registry entries and INI files
  • Supports silent installs and Pascal scripting engine for more advanced installs
  • Third party extensions that enhance the features of Inno setup

Overall, this is a really good option since it’s completely free and very easy to use. It’s not going to be able to do what InstallShield or even Advanced Installer can do, but it covers pretty much all of the basics.

WIX Toolset

The WIX Toolset is a free set of tools for creating Windows installers that works with Visual Studio 2012 or higher. I mention it last because it requires the biggest learning curve. You can create some very complex installers with it, but you’ll be coding quite a bit and using a command line often.

WIX Toolset is based on the XML authoring model. If you don’t have Visual Studio, you can use the Wix tools or MSBuild. It supports building MSI, MSP, MSM, and MST installer files. It also supports a large number of Windows Installer features.

So those are some of the better known and stable programs you can use to create Windows installers. I’m sure there are many others out there, so feel free to let us know which one you use in the comments. Enjoy!

Active4 months ago

After way too many experiments, I've come to the conclusion that Windows Installer is simply bad technology. But the customers want MSI files.

So, how can I create an MSI file that extracts an EXE file to a temporary directory and runs it with options same or similar as were passed to the EXE file?

Options to an MSI are explained in Msiexec (command-line options) (low level 'run' of an MSI is msiexec option package.msi).

EDIT: mjmarsh's WiX solution looks like it works. I just haven't had a chance to try it yet (crunch time). If it works, I'll be accepting it.

EDIT: it does not work. Missing piece: attended/unattended does not seem to be available.

Anyway, the only to make this work at all would be for the custom action to kill its parent process!

EDIT: So somebody posted as a further answer wrapping the whole thing as a post-install custom action. Theoretically possible but since a reboot may be required (thanks MS for .NET 4 requiring a reboot sometimes) we have to do further hackery. So from the matrix of advantages: Internet cookies.

No point.

Stein Åsmul
25.7k15 gold badges61 silver badges129 bronze badges
JoshuaJoshua
27.1k5 gold badges51 silver badges108 bronze badges

12 Answers

Well, there is the free way and the $$$ way. I cannot document everything here, but this should get you started.

On a side note, yes, Windows Installer is a maddening technology. There are many times where I think a task will be straightforward, but it actually becomes complicated. You definitely have to immerse yourself to understand it.

In any case, here goes:

Free: WiX (here)

This is a free tool to generate MSI files from a set of XML configuration files. I'll leave you to find tutorials online, but here is the crux:

You can compress your EXE into the installer by using the following tag in the WXS file:

Then you can create a custom action which launches your EXE file:

Then you insert your custom action into the InstallExecuteSequence in the appropriate spot (I almost always run mine somewhere between InstallInitialize and InstallFinalize)

$$$: Get InstallShield (HERE)

First create a 'Basic MSI' project and make sure you say you want no setup.exe generated. You set this in the Release settings.

Then you essentially do the same thing as with WiX, but you have a UI for it.

  • You can specify your helper EXE file by using the Direct Editor and putting your EXE file in the 'Binary' table
  • You can create a custom action to launch that EXE file from the 'Custom Actions' Node in the tree on the left
  • You can insert the custom action by selecting 'Install Sequences' and putting it in the InstallExecuteSequence somewhere between InstallInitialize and InstallFinalize as I said before.

Sorry, I could not be more detailed, but this should be a good start.

Elliott
2151 gold badge3 silver badges13 bronze badges
Mike MarshallMike Marshall
7,0013 gold badges31 silver badges59 bronze badges

I think the easiest way to create a .MSI file is to use WiX.

Lesson 1 from the WiX tutorial is all you need to create a simple install.

Peter Mortensen
14.5k19 gold badges89 silver badges118 bronze badges
GvSGvS
45.7k15 gold badges89 silver badges130 bronze badges

Joshua, I understand your frustration very well. MSI is quirky to say the least - a completely new way to think of deployment. Still, applied correctly MSI offers the best possible deployment, especially for corporate customers.

What operations does your installer EXE perform? Is it largely file copy, some COM registration and some registry writes, or does it run complex installation logic, setting up databases etc..? The reason I ask is because it probably would be very quick to create a well functioning WIX MSI for you so you can abandon the EXE approach.

It is indeed possible to run an EXE from inside an MSI, but it requires proper sequencing, and it is guaranteed to cause you more blues than a simple MSI. If the app is small, and not doing anything crazy during installation, I would be happy to provide you with a basic WIX conversion.

Community
Stein ÅsmulStein Åsmul
25.7k15 gold badges61 silver badges129 bronze badges

No solution. We went NSIS as corporate MSI install is going to be broken anyway due to MSI nesting problem (just try installing EXE wrapping MSI from inside MSI someday).

JoshuaJoshua
27.1k5 gold badges51 silver badges108 bronze badges

There is also a free version of the MSI Wrapper. It also supports uninstall and upgrades. Also, it only creates one entry in the Add or Remove programs.

J. RasmussenJ. Rasmussen

Adding to weir's answer, change the custom action attribute like below:

Setting Return=asyncNoWai does not wait for the exe to return. The installer does it's job and closes normally. Meanwhile, the exe continous its execution.

-Madhuresh

now he who must not be named.now he who must not be named.
4,99116 gold badges58 silver badges105 bronze badges

If you don't want to manage MSI, but only execute EXE, try Exe to MSI Converter Free. You just put in the path to the EXE and get an MSI.

Andrew Lee
1,7702 gold badges15 silver badges26 bronze badges
pawelekpawelek

try this:

In MSI package, there is a behaviour call 'Launch an application after installation', that means your exe file will be executed after the MSI installation(the MSI is closed).

Try to execute your exe there, so when your exe invoke other MSI packages, it won't conflict with the first one.

James YangJames Yang

Wix can do it. Here is my sample code for wix 3.5:

Stein Åsmul
25.7k15 gold badges61 silver badges129 bronze badges
weirweir

I was having the same problem (wrap EXE, call other MSI from the EXE including .net setup, etc.), and here is my solution:

I build the setup exe using InstallAware.It has its own MSI Wrapper that wraps the generated EXE with MSI.

It works OK, the EXE can call other MSIs without any problem (including .net setup, other 3rd party setups), but that is because the launching MSI ends ('returns') rights after it launches the setup EXE file, and that way they avoid the MSI limitation of recursive MSI calls.

BUT - some customers (companies) that uses MSI deployment tools, requires the MSI (msiexec) to return (end) only after the setup process ends, and that is a problem with the above solution.

Create Mst For Msi Free

So - to solve this:

There is another MSI Wrapper (exemsi.com) that generates MSI that returns only after the EXE setup ends, but for using that you must use another unique option of InstallAware:

InstallAware has the option to generate the EXE setup using their own native engine, and not based on Windows Installer engine, to avoid MSI recursive limitation.Combine those both, and you have the perfect solution.

Hope this will help someone, although many years passed since this question was first posted.

OrenOren
user2684935user2684935

Nah man, just use Inno Setup's wizard. It makes an setup EXE but not an MSI. It's like 5 mins and you'll have a windows installer.

Create Transform File For Msi Orca

Simply download it, install it, point it to your EXE, and follow the on-screen prompts

JonathanJonathan

Create Mst File Msiexec

3,2082 gold badges30 silver badges47 bronze badges

Create Transform For Msi

Not the answer you're looking for? Browse other questions tagged installerwindows-installermsiexec or ask your own question.