MSI Installer Deployment

Simply copy the setup.exe and .msi files to a folder on your production server and run the setup.exe to deploy your application.  No other files need be copied. MSI installer is not supported on .NET Framework 4.5 and following.

Note: You should grant the setup.exe administrative permission to run on some 64 bit systems and on Windows Vista.  If permission problems prevent you from running the .msi file directly on your target machine, then copy the entire deployment setup folder (eg: MyApp1_setup) to the machine and run the setup.exe file with Administrator permission.

Uninstall previous application version before running MSI installer

We recommend uninstalling any previous versions of your application before installing the latest version with an MSI installer.

The deployment project has an unknown publisher

When you run the MSI deployment installer created by Iron Speed Designer on the Microsoft Vista or Microsoft Windows 7 operating systems, you may receive a User Account Control message.  This message is displayed if the installer is not “Code Signed” to indicate the publisher of the installer.  Since you are the developer of the application, you will need to Code Sign the installer if you would like to publish this externally to your customers.  If the MSI deployment installer is being used internally, there is typically no need for the installer to be code signed.

The User Account Control message displayed asks the user, “Do you want to allow the following program from an unknown publisher to make changes to this computer?”  Simply select “Yes” and continue with the installation.

This is a normal part of the security procedures of the operating system and should not be a concern if the installer was created internally for use within the organization.

If you want to distribute the installer outside your organization, you may want to consider the additional step of signing the installer. This is discussed more fully in the Microsoft MSDN article, Introduction to Code Signing:

http://msdn.microsoft.com/en-us/library/ms537361(VS.85).aspx

Virtual directory creation and Microsoft IIS handling

If the application does not yet exist on the target machine (website does not exist), the MSI installer creates a new virtual directory using Windows Authentication.  If the application (website) already exists, the MSI installer does not change any existing virtual directory settings.

If you are installing your application to a website rather than a virtual directory, you must create the website prior to installation.

There are no metabase changes made if your application is installed in an existing location (website).  However, application files will be overwritten in the site’s folder.  The IIS Metabase is not modified.

Database configuration

If you have a Microsoft Access database in your application folder, it is copied as part of your application.  The database is not created anew if it does not exist in your production environment.  If you are using Microsoft SQL Server, Oracle or MySQL, then you should modify your application’s Web.config file after installation to reference your production database.  See Changing Database Connection Settings for details.

If your application uses stored procedures, the MSI installer will automatically install them, overwriting any existing stored procedures for that application.  Stored procedures are deployed with the user authentication provided in your application’s Web.config file, and no additional permissions are added, changed or deleted in your database.

Process restarting

The MSI installer does not stop or restart any processes either during your application’s initial installation or reinstallation.

Caveats

Iron Speed Designer uses the .NET Framework compilers or Microsoft Visual Studio .NET to compile applications and to create deployment folders and MSI installers.  Accordingly, there may be some aspects of your application that are not compatible with these compilers that make it impossible for to compile or produce various aspects of your application.

Specifically, using non-English characters in web page names can cause problems.  The following table lists known issues.

Compiler

Output Option

Code
Language

Non-English Characters Allowed in
Web Page Names

Non-English Culture

English Culture

.NET 2.0 Pre-compiler

Compiled application

C#

Yes

Yes

.NET 2.0 Pre-compiler

Compiled application

Visual Basic

Yes

Yes

Visual Studio .NET

MSI installer

C#

No

No

Visual Studio .NET

MSI installer

Visual Basic

Yes

No

Visual Studio .NET

Deployment folder

C#

No

No

Visual Studio .NET

Deployment folder

Visual Basic

Yes

No

MSI deployment installer project is missing the MSI file or Setup.exe

In some cases, the 'Generate MSI Installer' process completes but the setup project does not contain an <App Name>.msi or Setup.exe file.  Furthermore, when the deployment solution is opened with Visual Studio .NET the output folder shows:

(unable to determine name)

The procedure to fix this is explained in MSDN Library article, "Deployment in Visual Studio, Cannot find outputs of project output group":

http://msdn2.microsoft.com/en-us/library/xsyw70ef(vs.80).aspx

See Also

Deploying Applications with the Deployment Wizard

Changing Database Connection Settings

Adding Your Application to the Windows Registry

Starting Your Session State Service