cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kks_vtls
Level 3

How to create both .msi and legacy .exe

I am tasked with evaluating InstallShield 2010. We are currently running version 6.31. I was able to take our legacy project (.ipr) and successfully convert it to an InstallScript project (.ism). I have been able to successfully build this project to produce an installation executable that appears to be identical to what we have been creating with the 6.31 version of InstallShield. This is good.

We have at least one customer who would like to receive an MSI file and we also need to continue providing the legacy executable to the bulk of our customers. I am evaluating the Premier version of InstallShield 2010. From what I've read, it seems that I will need to use the Repackager tool in order to convert my InstallScript project to something (I'm unsure what exactly that is) that can create both the exe and msi output. I have been unable to locate the Repackager tool. I've read that it is a separate download from Premier. When I 'Check for Updates', a link is displayed of other tools available for download. I've downloaded and installed these even though none are explicitly named 'Repackager'. I still don't know how to access this tool. I've also read that it should be possible to click through the Release Wizard, looking for "Release Configuration" in order to create both .exe and .msi output. I've clicked through the Release Wizard multiple times but I'm failing to locate "Release Configuration" or anything that looks like it will allow me to designate the output I'm trying to create. Any assistance is welcomed.

~kris
Labels (1)
0 Kudos
(9) Replies
Lurean
Level 8

The repackager tool is part of the premier downloads, I am not sure why you can't access it. It shows in my list of programs in the start menu under Installshield -> Installshield 2010 tools -> Repackager.

As to being able to create an MSI or an EXE, I know this is easily done with a basic MSI project type. I am not sure if this is an option for the Installscript MSI projects, but I do know that the pure Installscript projects cannot output an MSI at all as they do not rely on the microsoft installer services directly.
0 Kudos
kks_vtls
Level 3

Thank you for the reply.

Would it be possible for someone to provide a link to download the Repackager tool? When I 'Check for Updates' I get this link, http://www.flexerasoftware.com/products/installshield/files-utilities.htm. I'm not seeing the Repackager tool in that list, but I could be missing something, so please feel free to point me in the right direction.

Does anyone know if the Repackager tool can convert an InstallScript project to a Basic MSI project?

Thanks.

~kris
0 Kudos
DebbieL
Level 17

Repackager is not available if you are evaluating InstallShield; it is only available if you purchase InstallShield Premier (or AdminStudio). Once you have activated InstallShield, it is included as a Premier-only download when you check for updates.

Repackager does have support for converting InstallScript projects to Basic MSI projects. For information on this tool, you can see the Repackager user guide (PDF) on the following page:
http://support.flexerasoftware.com/doc/List.aspx?m=installation&pid=000000000000001A&pn=InstallShield&v=InstallShield+2010+Premier
0 Kudos
kks_vtls
Level 3

Thank you for the reply.

Now that I have an InstallScript project (.ism), the only way to create MSI output is to use the Repackager tool, correct? If we went that route, is the Repackaging step necessary for every build of our software, or is it a one-time step?

Would another, viable option be to recreate the project instead of converting from the legacy project (.ipr)? In that way, I could create a project type that supports both .exe and .msi output, correct?

~kris
0 Kudos
DebbieL
Level 17

You could re-create the project from scratch as a Basic MSI project. Basic MSI projects use Windows Installer. With this project type, you can produce an .msi file or an .exe file. If you produce an .exe file, the .msi file can be compressed into the .exe, or it can remain uncompressed.

Using Repackager to convert an InstallScript project to a Basic MSI project is a one-time step, assuming that once you convert the project, you stop using the InstallScript project, and in the future use Basic MSI projects. (You mentioned that you need to continue providing the legacy executable to the bulk of your customers. So, I'm not quite sure whether you are wondering (A) if you should maintain InstallScript projects for most of your customers and also create and maintain Basic MSI projects for the subset of customers who want the .msi OR (B) if you should permanently switch to Basic MSI projects. I would think that option A would be too much work to support.)

I hope that helps.
0 Kudos
kks_vtls
Level 3

Thank you, Debbie; that was very helpful.

I have a follow-up question. Is it possible to create *both* exe and msi output with a Basic MSI project, when building just once? Or would I need to build once for each output file? Or perhaps the situation you mentioned with compressing the msi into the exe would be the best choice? That way customers who wish to distribute the msi to their workstations would just need to run the exe once to obtain the msi. Then they could do with the msi as they wish (apply a transform or whatever). Am I understanding this correctly?

I agree that your scenario (A) is a lot of work. Ideally, we'd like to create and maintain a single project (and it sounds like Basic MSI should meet our needs) and provide both msi and exe options for our customers.

Thanks again.

~kris
0 Kudos
DebbieL
Level 17

If you distribute only a Basic MSI Setup.exe file, users who want the .msi file could technically run that file from the command line and pass /a. The /a option causes Setup.exe to perform an administrative installation. An administrative installation copies (and uncompresses) your data files to a directory specified by the user. (It does not create shortcuts, register COM servers, or create an uninstallation log.) I'm not sure if you want to require customers who want an .msi file to do that.

When you decide what files to build (compressed, uncompressed, .msi, .exe), you'll want to keep in mind how you plan on deploying your product. For example, if you're going to distribute by CD or DVD and you have the space, you might as well use an uncompressed release. It may save end users time, since they won't have to wait for the files to be uncompressed when they are installing your product. I recommend looking at the various options in the Releases view and the Release Wizard of a Basic MSI project, and seeing what makes the most sense for your end users.

If you want to have two different release types—for example: (A) compressed Setup.exe, which is easy for customers to download, plus (B) .msi file, you can create two different release nodes in the Releases view. Then when you want to build, run a batch build. A batch build lets you kick off multiple builds simultaneously.

Note that in some cases, an .exe file is required. Various reasons are listed in the following help topic:
Creating a Setup Launcher
So, if your installation installs the .NET Framework, for example, but one or more of your customers is using the .msi file, they would have to figure out a different way to install the .NET Framework if it is not present on the target system. The .msi file would not be able to install the .NET Framework. The most the .msi file could do is check the target system for the presence of the appropriate version of .NET Framework, and then provide an error if it is not present. You would want to create launch conditions or error custom actions to check for these sorts of requirements, if they apply to your product.

I hope that helps.
0 Kudos
kks_vtls
Level 3

That was all very useful information, thank you.

I started trying to recreate our project as a BasicMSI type today. I ran into a problem when I tried to include BDE 5.1. I found an old forum post (about 5 years old) that indicated legacy objects such as this can only be used in InstallScript projects. Is this still the case? If not, I could sure use some assistance figuring out how to add BDE 5.1.

This also raises another question in my mind. If we decided to go the conversion / repackager route for creating a BasicMSI project, we'd be repackaging the InstallScript project I've successfully converted from InstallShield 6.31. That InstallScript project is using the legacy BDE 5.1 component. Would repackager handle this appropriately?

Thanks in advance.

~kris
0 Kudos
DebbieL
Level 17

For information on adding BDE support to a Basic MSI project, see KB article Q104962.

I'm not sure how Repackager handles redistributables that are included in InstallScript projects that are being repackaged as Basic MSI projects.
0 Kudos